Commit Graph

3607 Commits

Author SHA1 Message Date
Matthew Raymer
eb4ddaba50 feat(migration): complete Step 1 of ActiveDid migration - update () to use new API
- Update () to call () with fallback to settings
- Maintain backward compatibility while using new active_identity table
- Update migration plan documentation to reflect completed Step 1
- Restore Playwright workers to 4 (was accidentally set to 1)

Tests: 39/40 passing (1 unrelated UI failure)
Migration progress: Step 1 complete, ready for Step 2 dual-write implementation
2025-08-31 05:18:05 +00:00
Matthew Raymer
971bc68a74 temp: whitelist unused table defintion since I'm doing step-wise changes 2025-08-31 03:50:06 +00:00
Matthew Raymer
d2e04fe2a0 feat(api)!: fix $getActiveIdentity return type for ActiveDid migration
Update $getActiveIdentity() method to return { activeDid: string } instead
of full ActiveIdentity object. Add validation to ensure activeDid exists
in accounts table and clear corrupted values. Update migration plan to
reflect completed first step of API layer implementation.

- Change return type from Promise<ActiveIdentity> to Promise<{ activeDid: string }>
- Add account validation with automatic corruption cleanup
- Simplify query to only select activeDid field
- Improve error handling to return empty string instead of throwing
- Update migration plan documentation with current status
2025-08-31 03:48:46 +00:00
Matthew Raymer
18ca6baded docs(migration): update Phase 2 status to COMPLETE with testing notes
Updated activeDid migration plan to reflect Phase 2 API layer implementation
completion. Added critical blocker notes about IndexedDB database inspection
requirements and updated next steps with priority levels.

- Marked Phase 2 as COMPLETE with dual-write pattern implementation
- Added critical blocker for IndexedDB database inspection
- Updated next steps with priority levels and realistic timelines
- Clarified database state requirements for testing
2025-08-31 00:57:13 +00:00
Matthew Raymer
ae4e9b3420 chore: sync adjustments 2025-08-30 04:31:43 +00:00
Matthew Raymer
0bda040f15 Merge branch 'active_did_redux' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa into active_did_redux 2025-08-30 04:31:23 +00:00
Matthew Raymer
a2e6ae5c28 docs(migration): restructure activeDid migration plan for implementation
Transform verbose planning document into actionable implementation guide:
- Replace theoretical sections with specific code changes required
- Add missing $getActiveIdentity() method implementation
- List 35+ components requiring activeDid pattern updates
- Include exact code patterns to replace in components
- Add implementation checklist with clear phases
- Remove redundant architecture diagrams and explanations

Focuses on practical implementation steps rather than planning theory.
2025-08-30 04:28:15 +00:00
Matthew Raymer
4a22a35b3e feat(activeDid): implement migration to separate active_identity table
- Add migration 003 with data migration logic to prevent data loss
- Create dedicated ActiveIdentity interface in separate file for better architecture
- Implement $getActiveIdentity method in PlatformServiceMixin
- Enhance $updateActiveDid with dual-write pattern for backward compatibility
- Maintain separation of concerns between settings and active identity types
- Follow project architectural pattern with dedicated type definition files

The migration creates active_identity table alongside existing settings,
automatically copying existing activeDid data to prevent user data loss.
Dual-write pattern ensures backward compatibility during transition.

Migration includes:
- Schema creation with proper constraints and indexes
- Automatic data transfer from settings.activeDid to active_identity.activeDid
- Validation to ensure data exists before migration
- Atomic operation: schema and data migration happen together
2025-08-29 11:48:22 +00:00
Matthew Raymer
95b0cbca78 docs(activeDid): add critical data migration logic to prevent data loss
- Add data migration SQL to migration 003 for existing databases
- Automatically copy activeDid from settings table to active_identity table
- Prevent users from losing active identity selection during migration
- Include validation to ensure data exists before migration
- Maintain atomic operation: schema and data migration happen together
- Update risk assessment to reflect data loss prevention
- Add data migration strategy documentation

The migration now safely handles both new and existing databases,
ensuring no user data is lost during the activeDid table separation.
2025-08-29 11:06:40 +00:00
Matthew Raymer
1227cdee76 docs(activeDid): streamline migration plan for existing migration service
- Remove unnecessary complexity and focus on essential changes only
- Integrate with existing IndexedDB migration service (indexedDBMigrationService.ts)
- Maintain backward compatibility with existing migration paths
- Focus on core requirements: database schema, API methods, type definitions
- Eliminate duplicate migration logic already handled by existing service
- Preserve MASTER_SETTINGS_KEY = "1" for legacy support
- Add clear rollback strategy and integration points

The plan now focuses only on necessary changes while maintaining full
compatibility with existing systems and migration infrastructure.
2025-08-29 10:51:40 +00:00
Matthew Raymer
fad7093fbd chore: update plan for handling MASTER_SETTINGS_KEY 2025-08-29 08:54:08 +00:00
Matthew Raymer
fddb2ac959 feat(migration)!: enhance ActiveDid migration plan with focused implementation
- Add foreign key constraints to prevent data corruption
- Implement comprehensive migration validation and rollback
- Focus API updates on PlatformServiceMixin only (no component changes)
- Add enhanced error handling and data integrity checks
- Streamline plan to focus only on what needs to change
- Update timestamps and implementation details for current state

Breaking Changes:
- Database schema requires new active_identity table with constraints
- PlatformServiceMixin methods need updates for new table structure

Migration Impact:
- 50+ components work automatically through API layer
- Only core database and API methods require changes
- Comprehensive rollback procedures for risk mitigation
2025-08-29 07:58:50 +00:00
Matthew Raymer
40babae05d Merge branch 'master' into active_did_redux 2025-08-29 07:15:41 +00:00
Matthew Raymer
5780d96cdc chore: linting 2025-08-29 06:50:16 +00:00
Matthew Raymer
acbc276ef6 docs: enhance activeDid migration plan with implementation details
- Add master settings functions implementation strategy
- Correct IdentitySection.vue analysis (prop-based, no changes required)
- Simplify ContactAmountsView.vue (phased-out method, separate refactoring)
- Add new getMasterSettings() function with active_identity integration
- Include helper methods _getSettingsWithoutActiveDid() and _getActiveIdentity()
- Enhance evidence section with master settings architecture support
- Update risk assessment for phased-out methods
- Clean up migration timeline formatting

This commit focuses the migration plan on components requiring immediate
active_identity table changes, separating concerns from broader API refactoring.
2025-08-28 12:32:39 +00:00
ff864adbe5 Merge branch 'master' into profile_include_location 2025-08-28 06:37:51 -04:00
Matthew Raymer
649786ae01 chore: a bit more planning 2025-08-27 12:52:21 +00:00
Matthew Raymer
4aea8d9ed3 linting 2025-08-27 12:36:15 +00:00
Matthew Raymer
0079ca252d chore: add plan 2025-08-27 12:35:37 +00:00
6f9847b524 Merge pull request 'ProjectView: hide offer link from unregistered users' (#178) from projectview-hide-offer-link-unregistered into master
Reviewed-on: trent_larson/crowd-funder-for-time-pwa#178
2025-08-27 06:51:42 -04:00
01279b61f5 Merge branch 'master' into projectview-hide-offer-link-unregistered 2025-08-27 06:51:25 -04:00
Matthew Raymer
98f97f2dc9 refactor(settings): simplify $getSettings to $getMasterSettings
- Rename $getSettings to $getMasterSettings for clarity
- Remove unused account-specific logic (never called with accountDid)
- Simplify method signature by removing unused key parameter
- Update all 8 call sites and interface definitions
- Maintain backward compatibility for all existing functionality

All calls to $getSettings used MASTER_SETTINGS_KEY, so the complex
branching logic for account-specific settings was unnecessary.
2025-08-27 09:45:42 +00:00
Matthew Raymer
4c7c2d48e9 Merge branch 'master' into profile_include_location 2025-08-27 09:12:03 +00:00
43e7bc1c12 Merge pull request 'DIDView: validate DID format' (#176) from didview-invalid-did-handling into master
Reviewed-on: trent_larson/crowd-funder-for-time-pwa#176
2025-08-27 04:53:48 -04:00
Jose Olarte III
1a77dfb750 Merge branch 'playwright-test-60-fix' into didview-invalid-did-handling 2025-08-27 16:38:36 +08:00
Jose Olarte III
1365adad92 Test: change expected redirect view 2025-08-27 16:37:12 +08:00
Jose Olarte III
baccb962cf Merge branch 'master' into didview-invalid-did-handling 2025-08-27 15:42:15 +08:00
Matthew Raymer
0a0a17ef9c Merge branch 'master' into profile_include_location 2025-08-27 02:50:05 +00:00
aa346a9abd feat: for confirm list, allow to see 30 minutes before meeting start 2025-08-26 20:29:26 -06:00
9ea2f96106 fix: Fix onboard-meeting-members deep link with groupId.
This was cherry-picked from master-patch
2025-08-26 20:28:31 -06:00
623bf12ecd doc: add simpler instruction to get started with testing 2025-08-26 19:25:31 -06:00
Matthew Raymer
427660d686 docs: enhance serve command documentation in BUILDING.md
- Clarify build:web:serve purpose as "production testing"
- Add "Why Use serve?" section explaining benefits
- Document SPA routing support for deep links (/discover, /account)
- Add dedicated "Local Serving with serve" technical section
- Explain server options (npx serve vs Python fallback)
- Improve developer understanding of when and why to use serve

Fixes documentation gap identified in serve command usage
2025-08-26 09:58:35 +00:00
Matthew Raymer
643f31c43a Merge branch 'master' into build-web-serve-test 2025-08-26 09:52:49 +00:00
Matthew Raymer
8dab4ed016 feat: suppress console spam for expected HTTP errors in profile operations
- Change server switching logs from info to debug level
- Implement structured error logging for profile CRUD operations
- Handle HTTP status codes 400, 401, 403, 404, 409 gracefully
- Suppress full error stack traces for expected API responses
- Maintain user notifications while improving console readability
- Add timestamp and context to all profile-related error logs

Improves developer experience by reducing console noise while preserving
debugging information and user-facing error handling.
2025-08-26 09:32:18 +00:00
Matthew Raymer
4f78bfe744 feat: suppress console spam for expected HTTP errors
- Change server switching logs to debug level
- Implement structured error logging for profile operations
- Handle common HTTP status codes gracefully
- Maintain user notifications while cleaning console output
2025-08-26 09:22:25 +00:00
2c6b787fa2 Merge pull request 'Show current user in ContactGiftingView' (#155) from contact-gifting-current-user into master
Reviewed-on: trent_larson/crowd-funder-for-time-pwa#155
2025-08-26 05:00:10 -04:00
Jose Olarte III
ec53452220 Chore: lint fix 2025-08-26 16:52:32 +08:00
Jose Olarte III
ec326495b2 Merge branch 'master' into contact-gifting-current-user 2025-08-26 16:51:09 +08:00
Jose Olarte III
cc50c38d13 Chore: simplify wording for person entities
- Replaced all instances of "Unnamed Member" with "Someone Unnamed"
- Removed unused UNNAMED_MEMBER constant
- Renamed UNNAMED_PERSON to THAT_UNNAMED_PERSON to match its value
- Renamed UNNAMED_USER to UNNAMED_PERSON and changed the value to "unnamed person"
2025-08-26 16:32:57 +08:00
Matthew Raymer
ceceabf7b5 git commit -m "feat(performance): implement request deduplication for plan loading
- Add inFlightRequests tracking to prevent duplicate API calls
- Eliminate race condition causing 10+ redundant requests
- Maintain existing cache behavior and error handling
- 90%+ reduction in redundant server load"
2025-08-26 08:14:12 +00:00
3969167d92 Merge pull request 'feat: implement safe area insets for Android and add development tooling' (#182) from android-safe-area-insets into master
Reviewed-on: trent_larson/crowd-funder-for-time-pwa#182
2025-08-26 03:29:50 -04:00
Jose Olarte III
9dfb2fda27 Chore: regenerate podfile.lock checksum 2025-08-26 15:30:29 +08:00
Jose Olarte III
d3aa2e40a0 Merge branch 'master' into android-safe-area-insets 2025-08-26 15:26:18 +08:00
Matthew Raymer
9386b2e96f refactor(services): inline ProfileService logic into AccountViewView
Removes over-engineered ProfileService and ServiceInitializationManager
classes that were only used in one place. Inlines all profile logic
directly into AccountViewView.vue to reduce complexity and improve
maintainability.

- Deletes ProfileService.ts (325 lines)
- Deletes ServiceInitializationManager.ts (207 lines)
- Inlines ProfileData interface and methods into AccountViewView
- Maintains all existing functionality while reducing code footprint

perf(logging): convert excessive info logs to debug level

Reduces console noise by converting high-frequency, low-value logging
from info to debug level across navigation, API calls, and component
lifecycle operations. Improves performance and reduces log verbosity
for normal application flow.

- Router navigation guards: info → debug
- Plan loading operations: info → debug
- User registration checks: info → debug
- Image server rate limits: info → debug
- Component lifecycle events: info → debug
- Settings loading operations: info → debug

Maintains warn/error levels for actual issues while reducing noise
from expected application behavior.
2025-08-26 07:23:24 +00:00
Jose Olarte III
08cda50f13 Merge branch 'master' into android-safe-area-insets 2025-08-26 15:20:12 +08:00
716a23e76b Merge pull request 'fix/deep-link-views: use proper #Content wrapper' (#184) from deep-link-views-safe-area-inset into master
Reviewed-on: trent_larson/crowd-funder-for-time-pwa#184
2025-08-26 02:45:30 -04:00
7f499a0fc0 Merge branch 'master' into deep-link-views-safe-area-inset 2025-08-26 02:45:03 -04:00
1b343b598c Merge pull request 'Fix: re-organized dialog and notification z-indices' (#185) from dialog-notification-z-index into master
Reviewed-on: trent_larson/crowd-funder-for-time-pwa#185
2025-08-26 02:42:46 -04:00
Jose Olarte III
e588e223bc Merge branch 'master' into dialog-notification-z-index 2025-08-26 14:40:50 +08:00
Jose Olarte III
02eead5609 Merge branch 'master' into dialog-notification-z-index 2025-08-26 14:39:40 +08:00