Commit Graph

3513 Commits

Author SHA1 Message Date
Matthew Raymer
f0fd8c0f12 feat(diagnostics): add comprehensive logging for server switching and user registration
- Enhanced user registration diagnostics with detailed error context
- Server switching flow logging with before/after values
- Improved error handling with server context
- Fixed type safety issues

Confirms server switching fix is working perfectly while providing
comprehensive debugging for user migration and environment issues.
2025-08-25 10:18:42 +00:00
Matthew Raymer
fd30343ec4 fix(settings): resolve server switching not applying immediately
- Fix database query logic in PlatformServiceMixin.$getSettings() to properly
  distinguish between master settings (ID) and account settings (DID)
- Add comprehensive logging for settings debugging with request IDs and
  component tracking
- Fix ProfileService initialization order in AccountViewView to use correct
  partnerApiServer after settings load
- Add URL flow testing interface in TestView for debugging server switching
- Enhance settings consistency validation and error handling

Resolves issue where profile server changes were saved but not applied due to
incorrect database query logic and settings priority handling.

Files changed: PlatformServiceMixin.ts, AccountViewView.vue, TestView.vue,
TopMessage.vue, main.ts, router/index.ts

Testing: Added comprehensive URL flow testing interface for validation
2025-08-25 09:57:13 +00:00
Matthew Raymer
e70faff5ce Merge branch 'master' into profile_include_location 2025-08-25 07:43:48 +00:00
580a485573 Merge pull request 'Refactor: create reusable component version of registration/onboarding notice' (#179) from onboard-alert-component into master
Reviewed-on: trent_larson/crowd-funder-for-time-pwa#179
2025-08-25 02:53:36 -04:00
ecadb00396 Merge branch 'master' into onboard-alert-component 2025-08-25 02:53:18 -04:00
Jose Olarte III
7b357641d1 Chore: update author in RegistrationNotice 2025-08-25 14:52:23 +08:00
Matthew Raymer
9512e8192f Merge branch 'master' into profile_include_location 2025-08-25 02:56:53 +00:00
Matthew Raymer
a6126ecac3 chore: update .cursor rules for workflow state 2025-08-25 02:54:56 +00:00
36acbcf160 feat: add the version on the top of the Help screen by the title 2025-08-24 17:08:41 -06:00
d2d64cf1d9 fix: replace the confusing phrase "Unnamed/Unknown" verbiage with "Not Named" 2025-08-24 16:36:32 -06:00
270e7ec8eb fix: On test page, switch back to the current user (and not User 0). 2025-08-24 16:10:50 -06:00
03cc47eae0 chore: Bump version to 1.1.0-beta (to be above anything from the master-patch branch) 2025-08-24 14:31:36 -06:00
Matthew Raymer
d66d8ce1c1 chore: ignore state files 2025-08-24 05:47:24 +00:00
Matthew Raymer
277fe49aa8 chore: update meta_rule_usage_guide with state and override 2025-08-24 05:46:55 +00:00
Matthew Raymer
a85b508f44 feat: implement enhanced workflow state system with commit override capability
- Add commit override mechanism to workflow state constraints
- Enhance meta_bug_diagnosis.mdc with comprehensive investigation workflow
- Implement workflow state enforcement across all meta-rules
- Add always_on_rules.mdc for core rule bundling
- Update all meta-rules to support workflow state management
- Maintain version control standards while providing workflow flexibility

Security: No code execution changes, workflow rule updates only
Migration: Workflow infrastructure enhancement, no database changes
Testing: Manual validation of workflow state constraints
Documentation: Comprehensive workflow documentation and examples

Closes: Workflow state rigidity issue
Enables: Commits on demand during investigation phases
2025-08-24 05:45:37 +00:00
Matthew Raymer
be4ab16b00 Merge branch 'master' into profile_include_location 2025-08-24 02:47:14 +00:00
Matthew Raymer
c2aaf3a20d feat: Add documentation meta-rule system with educational focus
- Create meta_documentation.mdc for comprehensive doc workflows
- Add meta_rule_usage_guide.md for practical meta-rule usage
- Enhance existing markdown rules with educational standards
- Transform docs from technical reference to educational resources

Emphasizes human competence over technical description, provides
systematic workflows for all documentation tasks.
2025-08-24 02:42:48 +00:00
Matthew Raymer
9967fe97e6 docs: update BUILDING.md for cursor rules refactoring and build system updates 2025-08-23 13:07:01 +00:00
Matthew Raymer
a224aced85 refactor(cursor-rules): restructure rules architecture with meta-rule system
- Reorganize cursor rules into logical domain-based directories
- Implement meta-rule system for workflow-specific rule bundling
- Move core rules to dedicated /core directory
- Consolidate development rules under /development namespace
- Add architectural patterns and implementation examples
- Create workflow-specific meta-rules for common development tasks
- Remove deprecated standalone rule files
- Update package dependencies for new rule structure

BREAKING CHANGE: Cursor rules file structure has been reorganized
Files moved from root rules directory to domain-specific subdirectories
2025-08-23 13:04:09 +00:00
Matthew Raymer
b9ca59a718 rules(timesafari): make platform philosophy always active 2025-08-23 08:11:07 +00:00
Matthew Raymer
1305eed9bc Merge branch 'master' into profile_include_location 2025-08-23 04:03:19 +00:00
Matthew Raymer
57ea7f67c5 docs(readme): merge comprehensive project documentation and build guard
Integrates Build Architecture Guard documentation, project structure overview,
and contributing guidelines into README.md. Preserves existing application
overview, development setup, and technical architecture sections while adding
comprehensive project entry point for developers.

- Adds Build Architecture Guard section with setup and usage instructions
- Includes visual project structure with key directories and files
- Provides contributing guidelines for build-related changes
- Maintains existing application description, setup, and technical details
2025-08-23 03:17:26 +00:00
Matthew Raymer
ceefd454ce feat: add Minimalist Solution Principle cursor rule
Add comprehensive development guidelines enforcing least-complex solutions
for bugs and features. Establishes Rule of Three for abstractions,
prohibits drive-by refactors, and requires evidence-based future-proofing.

- Enforces minimal viable diffs that fully resolve issues
- Prevents speculative abstractions without concrete usage
- Requires ADR discussion and evidence for added complexity
- Includes PR checklist and assistant output contract
- Promotes dependency frugality and targeted testing
2025-08-23 02:10:55 +00:00
27b46b4252 feat: Reorder and reword the 'meeting' registration option based on feedback. 2025-08-22 19:56:37 -06:00
Matthew Raymer
9f2ef24b2b feat(guard): enhance build architecture guard with Android protection and feedback system
- Add Android-specific build validation for asset management and API routing
- Implement feedback collection system for continuous guard improvement
- Enhance sensitive path detection to include capacitor-assets.config.json and resources/
- Add Android change detection with specific testing guidance
- Integrate feedback analysis command for maintainer insights
- Update guard rules to reflect enhanced Android build system complexity

The guard now protects sophisticated Android build features including asset validation,
resource generation, and platform-specific API routing while collecting usage data
for continuous improvement.
2025-08-22 08:43:21 +00:00
Jose Olarte III
8fc9118d50 feat: Add automatic Android asset validation to prevent build failures
- Add validate_android_assets() function to build-android.sh
- Check for missing source assets (icon.png, splash.png, splash_dark.png)
- Verify Android resources exist (drawable/splash.png, mipmap/*/ic_launcher*.png)
- Auto-regenerate missing resources using @capacitor/assets
- Integrate validation into main build process with exit code 9
- Add npm run assets:validate:android for manual validation
- Support --assets-only flag for asset-only operations
- Create comprehensive documentation in doc/android-asset-validation.md

Fixes build failures caused by missing drawable/splash and mipmap/ic_launcher resources.
Prevents "Android resource linking failed" errors during Gradle builds.

Resolves: Android build failures due to missing asset resources
2025-08-22 16:25:31 +08:00
Matthew Raymer
82ef4eba64 refactor: move README-BUILD-GUARD.md to doc/ folder
- Move README-BUILD-GUARD.md from root to doc/ folder for better organization
- Update all references in README.md to point to new location
- Follows project structure conventions for documentation organization
2025-08-22 08:17:32 +00:00
Matthew Raymer
a6a71628ec fix: resolve mapfile compatibility issue in build architecture guard
- Replace mapfile command with portable alternative for cross-shell compatibility
- Add troubleshooting documentation for common shell compatibility issues
- Update BUILDING.md with Build Architecture Guard documentation
- Ensure script works across different shell environments

Fixes pre-commit hook failures on macOS and other systems where mapfile is not available.
2025-08-22 08:16:04 +00:00
Matthew Raymer
cd327b0b91 pre-commit(husky): add lint-fix to checks 2025-08-21 12:11:46 +00:00
Matthew Raymer
34cae85d45 chore: prep for Husky integration 2025-08-21 12:05:10 +00:00
Jose Olarte III
25e79249dd Feat: integrate RegistrationNotice component into ProjectsView
- Replace custom onboarding button with RegistrationNotice component
- Maintain v-else conditional rendering for unregistered users
- Remove unused methods and imports related to custom registration flow
- Use contextual message "To announce a project, get someone to onboard you."
- Remove unnecessary wrapping div in RegistrationNotice

Completes registration UI standardization across all main views.
2025-08-21 19:29:31 +08:00
Jose Olarte III
2cb2f3ef3a Fix: update notice locator 2025-08-21 19:07:15 +08:00
Jose Olarte III
47a7b03cca Refactor: simplify RegistrationNotice component interface
- Centralize all registration notice logic within upgraded RegistrationNotice component
- Clean up unused methods and imports in HomeView and AccountViewView
- Customizable message to maintain original contextual wordings unique to each view

Component is now more focused and follows Vue.js best practices
for conditional rendering.
2025-08-21 19:06:55 +08:00
Jose Olarte III
7f5a64dceb UI: update HomeView onboard alert style
- Style-wise, make it consistent with similar alerts
- Introduce visual hierarchy to buttons
- Responsive button layout
2025-08-21 17:22:33 +08:00
Matthew Raymer
6afe1c4c13 feat(harbor-pilot): add historical comment management and no time estimates rules
Add two new Harbor Pilot directives to improve code quality and planning:

1. Historical Comment Management: Guidelines for transforming or removing
   obsolete comments into actionable architectural guidance
2. No Time Estimates: Rule prohibiting time estimates in favor of
   phase-based planning with complexity levels and milestones

Both rules are integrated into main Harbor Pilot directive for automatic
application across all operations.
2025-08-21 05:42:01 +00:00
Matthew Raymer
5fc362ad4b feat(cursor): add Harbor Pilot universal directive for technical guides
Add comprehensive Cursor rules file that extends base context with universal
constraints for creating developer-grade, reproducible technical guides.
Includes structured templates, validation checklists, and evidence-backed
documentation standards.

- Establishes 11 required sections for technical guides
- Enforces UTC timestamps and evidence requirements
- Provides Mermaid diagram requirements and API contract templates
- Includes competence and collaboration hooks per base context
- Sets coaching level to standard with 10-minute timeboxing
2025-08-21 03:56:30 +00:00
Matthew Raymer
d7733e4c41 feat: add markdown automation setup script
- Create setup script for markdown pre-commit hooks
- Automate installation of markdownlint and related tools
- Provide easy setup for markdown compliance system
2025-08-20 13:02:18 +00:00
Matthew Raymer
51b8a0b0a8 refactor: complete migration from GitHub to Gitea
- Remove all GitHub-specific workflows and configurations
- Update .dockerignore to exclude .github directory
- Clean up GitHub Actions workflows and branch protection rules
- Complete transition to Gitea Actions and Husky hooks
2025-08-20 13:02:10 +00:00
Matthew Raymer
2d17bfd3b4 docs: comprehensive documentation updates and modernization
- Update BUILDING.md with current build system information
- Modernize various README files across the project
- Update CHANGELOG.md with recent changes
- Improve documentation consistency and formatting
- Update platform-specific documentation (iOS, Electron, Docker)
- Enhance test documentation and build guides
2025-08-20 13:02:01 +00:00
Matthew Raymer
963ff9234f feat: implement comprehensive Build Architecture Guard system
- Add Husky Git hooks for pre-commit and pre-push validation
- Create guard script for BUILDING.md update enforcement
- Implement PR template with L1/L2/L3 change classification
- Add markdown validation and auto-fix scripts
- Create comprehensive documentation and MDC rules
- Ensure zero-disruption deployment with opt-in activation
2025-08-20 13:01:50 +00:00
Matthew Raymer
80aecbcbbc feat: add Build Architecture Guard MDC directive
- Create comprehensive guard rules for build system protection
- Define protected file patterns and validation requirements
- Include risk matrix and required validation checklists
- Add emergency procedures and rollback playbooks
2025-08-20 13:00:37 +00:00
Matthew Raymer
8336d9d6bd feat: enhance markdown rules for AI generation compliance
- Add AI Generation Guidelines with alwaysApply: true
- Extend globs to include .mdc files
- Ensure AI agents follow rules during content creation
- Improve markdown automation system integration
2025-08-20 13:00:26 +00:00
Matthew Raymer
ae0601281b feat: add markdown validation and auto-fix scripts
- Create validate-markdown.sh for compliance checking
- Add fix-markdown.sh for automatic formatting fixes
- Exclude node_modules from validation scope
- Integrate with npm scripts for easy usage
2025-08-20 13:00:16 +00:00
Matthew Raymer
7b31ea0143 feat: add Build Architecture Guard PR template
- Create structured template for build-related changes
- Include L1/L2/L3 change classification
- Require BUILDING.md updates for sensitive file changes
- Add artifact SHA256 validation for L3 changes
2025-08-20 13:00:06 +00:00
Matthew Raymer
d5786e5131 docs: add comprehensive Build Architecture Guard documentation
- Update main README with guard system overview
- Create detailed guard implementation guide
- Add PR template documentation and usage examples
- Document opt-in hook activation process
2025-08-20 12:59:57 +00:00
Matthew Raymer
d663c52f2d feat: implement Build Architecture Guard with Husky hooks
- Add pre-commit and pre-push hooks for build file protection
- Create comprehensive guard script for BUILDING.md validation
- Add npm scripts for guard setup and testing
- Integrate with existing build system
2025-08-20 12:59:48 +00:00
Matthew Raymer
3be7001d1b chore: linting 2025-08-20 10:04:40 +00:00
Matthew Raymer
95a8f5ebe1 Merge branch 'master' into profile_include_location 2025-08-20 09:48:26 +00:00
Matthew Raymer
8db07465ed fix(typescript): resolve ProfileService typing issues and eliminate any types
- Replace unsafe (error as any).config patterns with proper type guards
- Add hasConfigProperty() type guard for safe error property checking
- Add getConfigProperty() method for type-safe config extraction
- Eliminate @typescript-eslint/no-explicit-any violations

Problem: ProfileService had unsafe type casting with (error as any).config
that violated TypeScript type safety guidelines and caused linting errors.

Solution: Implement proper type guards following established patterns:
- hasConfigProperty() safely checks if error has config property
- getConfigProperty() extracts config without type casting
- Maintains exact same functionality while ensuring type safety

Files changed:
- src/services/ProfileService.ts: Replace any types with type guards

Testing: Linting passes, type-check passes, functionality preserved.
2025-08-20 09:26:48 +00:00
Matthew Raymer
9de6ebbf69 fix(build): resolve web app loading failure by simplifying Vite configuration
- Simplify vite.config.web.mts to match working capacitor configuration
- Remove complex mergeConfig() approach that was causing Vue compilation errors
- Eliminate environment-specific build configurations that weren't needed
- Fix "TypeError: Cannot read properties of undefined (reading 'on')" at App.vue:1

Problem: The web build was failing during Vue component compilation with a cryptic
error at line 1 of App.vue. Investigation revealed the issue was in the overly
complex Vite configuration that used mergeConfig() with environment-specific
settings, while the working capacitor build used the simple direct approach.

Solution: Simplified web config to use createBuildConfig('web') directly, matching
the proven capacitor pattern. This eliminates the Vue compilation failure while
preserving all functionality including deep links.

Root cause: Complex build configuration was interfering with Vue's component
processing, causing the .on() error during initial component registration.

Files changed:
- vite.config.web.mts: Simplified to match capacitor configuration pattern
- vite.config.common.mts: Temporarily disabled ESBuild error handling (not root cause)

Testing: Web app now loads successfully, Vue compilation completes, deep links
preserved, and build architecture maintained.
2025-08-20 09:18:09 +00:00