- 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
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.
- Move commitlint config from package.json to dedicated file
- Change subject-case and subject-full-stop rules from errors to warnings
- Eliminates red error messages on push while maintaining guidance
- Maintains conventional commit standards with non-blocking feedback
- Update BUILDING.md with comprehensive changelog entry
- Create comprehensive meta-rule for evaluating changes between branches
- Implement systematic breaking change detection for API contracts, data structures, and behavior
- Add risk assessment framework with LOW/MEDIUM/HIGH/CRITICAL classification
- Include change pattern recognition and dependency impact assessment
- Provide structured output format for change evaluation reports
- Apply markdown core standards for consistent formatting and readability
Problem: Need systematic approach to catch problematic model behavior by analyzing
changes before they cause issues.
Solution: Create meta-rule that evaluates changes between branches, detects
breaking changes, assesses risk levels, and provides actionable recommendations.
Files changed:
- .cursor/rules/meta_change_evaluation.mdc: New meta-rule with comprehensive
change evaluation capabilities
Testing: Rule provides structured approach for analyzing changes, detecting
breaking changes, and generating risk assessment reports.
- Revert ProfileService from broken /api/partner/userProfile endpoint to working /api/partner/userProfileForIssuer/${did}
- Fix location data display by restoring single profile object response parsing
- Remove complex array handling logic that was unnecessary for current user profiles
- Restore original working functionality that was broken by recent refactoring
Problem: Recent ProfileService creation changed endpoint from working userProfileForIssuer/${did}
to broken userProfile (list endpoint), causing location data to not display properly.
Solution: Revert to original working endpoint and response parsing logic that returns
single profile objects with location data instead of arrays of all profiles.
Files changed:
- src/services/ProfileService.ts: Restore working endpoint and simplify response parsing
Testing: Profile loading now works correctly for both existing and new profiles,
location data is properly extracted and displayed, maps render correctly.
- Add unique request IDs for claim submission tracking
- Add unique request IDs for plan loading tracking
- Include comprehensive request context (endpoint, server, timestamp)
- Enhance error logging with specific error codes and messages
- Improve debugging capabilities for server operations
Testing: TypeScript compilation passes, no linting errors
Impact: Better debugging and monitoring of API operations
- Remove forced production server override in PlatformServiceMixin.()
- Remove forced production server override in PlatformServiceMixin.()
- Remove forced production server override in HomeView.ensureCorrectApiServer()
- Fix type error in HomeView.latLongInAnySearchBox coordinates
Testing: TypeScript compilation passes, no linting errors
Impact: Users can now switch API servers freely without forced overrides
- Fix PlatformServiceMixin.() ambiguous OR condition
- Use specific queries for master settings (id) vs account settings (accountDid)
- Resolve settings priority conflicts affecting server switching
- Maintain backward compatibility with existing settings structure
Testing: TypeScript compilation passes, no linting errors
Impact: Settings now load correctly without query ambiguity
- Fix fetchImageRateLimits to accept configurable imageServer parameter instead
of hardcoded DEFAULT_IMAGE_API_SERVER
- Add enhanced diagnostic logging for image server operations with server
context, error tracking, and user registration status
- Update AccountViewView.vue to pass correct image server parameter
- Ensure consistent server switching behavior across all API endpoints
- Prevent similar server configuration issues in image operations
Fixes server switching not applying to image rate limit checks and provides
complete visibility into image server operations for debugging and monitoring.
- 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.
- 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
- 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
- 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.
- 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
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
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
- 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.
- 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
- 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
- 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.
- 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.
- 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.
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.
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
- Create setup script for markdown pre-commit hooks
- Automate installation of markdownlint and related tools
- Provide easy setup for markdown compliance system
- 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
- 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