Commit Graph
15 Commits
Author SHA1 Message Date
Matthew Raymer 3a181632d1 docs: add comprehensive notification system documentation
- Add GLOSSARY.md with core terminology and cross-references
- Add implementation-roadmap.md with 3-phase development plan
- Add notification-system.md with Native-First architecture spec
- Update ios/Plugin/README.md to reflect actual vs planned implementation status

This establishes the foundation for implementing shared SQLite storage,
TTL-at-fire enforcement, rolling window safety, and platform completion
as outlined in the phased roadmap.

Files: 4 changed, 807 insertions(+), 13 deletions(-)
2025-09-08 08:57:36 +00:00
Matthew Raymer 07a09a5a0d chore: remove Gradle build cache files and update .gitignore
- Remove .gradle/ directory from git tracking (build cache files)
- Add .gradle/ to .gitignore to prevent future tracking
- Clean up repository by excluding unnecessary build artifacts

Gradle build cache files (fileHashes, configuration-cache, etc.) are
machine-specific and should not be committed to version control.
This improves repository cleanliness and prevents build conflicts.
2025-08-26 06:44:59 +00:00
Matthew Raymer eff7e339af refactor: restructure cursor rules with new meta-rule architecture
- Remove legacy rule files (documentation.mdc, general_development.mdc, etc.)
- Implement new meta-rule system with core, app, and feature categories
- Add meta-rule files for different workflows (bug diagnosis, feature planning, etc.)
- Create organized directory structure: core/, app/, features/, database/, etc.
- Add comprehensive README.md for rules documentation
- Establish new rule architecture with always-on and workflow-specific rules

This restructuring improves rule organization, enables better workflow management,
and provides clearer separation of concerns for different development tasks.
2025-08-26 06:43:22 +00:00
Matthew Raymer a865878fab chore: exclude workflow directory from git tracking
Add workflow/ to .gitignore to prevent tracking of workflow-related files
and clean up cursor rules directory structure.
2025-08-26 06:42:11 +00:00
Matthew Raymer bddc1cfebf docs: Update TODO to reflect 100% test coverage achievement
- Mark test suite as 100% complete (58/58 tests passing)
- Update project status to 90% complete
- Mark immediate priority items as completed
- Add next phase roadmap for iOS enhancement and web implementation
- Update success metrics and risk assessment
- Reflect readiness for next development phase
2025-08-13 04:58:32 +00:00
Matthew Raymer 4a0785b2cb feat: Achieve 100% test coverage (58/58 tests passing)
- Fix time format validation regex to require leading zeros
- Fix content handler validation with proper async/await
- Resolve Jest configuration issues with dist directory exclusion
- All test suites now passing: advanced-scenarios, enterprise-scenarios, daily-notification, edge-cases
- Complete validation system working correctly for time, timezone, content handlers
- Test suite stability confirmed with multiple runs
2025-08-13 04:58:01 +00:00
Matthew Raymer 1ad546bc7e docs: Update TODO with comprehensive current status and next steps
- Add current status overview showing Phase 1-3 as 100% complete
- Document test coverage at 93% (54/58 tests passing)
- Add immediate priority actions for completing test suite
- Outline next phases: iOS enhancement, web implementation, production readiness
- Include success metrics, risk assessment, and technical debt items
- Provide clear roadmap for next 6-8 hours of development
- Mark overall project as 85% complete with clear next milestones
2025-08-12 10:11:21 +00:00
Matthew Raymer a92c408790 feat: Implement comprehensive validation system for DailyNotification
- Add URL requirement validation
- Add time format validation (24-hour format)
- Add timezone validation using Intl.DateTimeFormat
- Add retry count and interval range validation
- Add content handler validation with timeout support
- Add basic schedule conflict detection
- Update validation to run before plugin calls
- Make validation methods async for content handler testing
- All validation now happens in DailyNotification class before calling native plugin
2025-08-12 10:03:09 +00:00
Matthew Raymer e51f884e00 fix: Resolve daily-notification test suite issues
- Fix test structure to use DailyNotification class with mocks
- Add proper validation for required URL parameter
- Fix event handler error handling in setupEventListeners
- Update all tests to use mock plugin instead of Capacitor plugin
- Add comprehensive validation tests for URL, time, timezone, retry settings
- All 18 daily-notification tests now passing
2025-08-12 09:59:52 +00:00
Matthew Raymer 76295f62b3 fix: Resolve TypeScript compilation errors and test environment issues
- Update interface definitions to match test requirements
- Add missing methods to DailyNotificationPlugin interface
- Fix ContentHandler signature compatibility
- Switch Jest test environment from node to jsdom
- Install required jsdom dependencies
- Update mock plugin objects with all required methods
- Fix timestamp type mismatches in tests
2025-08-12 09:57:52 +00:00
Matthew Raymer 4553b6b674 docs: Update TODO list with comprehensive checkmarks for completed items
- Mark metrics & monitoring items as complete
- Update user experience items (permissions, test notifications)
- Mark platform optimizations for Android as complete
- Update integration tests for Android scenarios
- Mark performance tests as complete
- Update API documentation status
- Mark user guides as mostly complete
- Update definition of done items
2025-08-12 09:42:26 +00:00
Matthew Raymer e71503bf38 docs: Update TODO list to reflect Android implementation progress
- Mark Android implementation as complete
- Update core pipeline status to implemented
- Mark security checklist items as complete
- Update current status and next actions
2025-08-12 09:40:18 +00:00
Matthew Raymer 2d535b5d8f feat: Implement Android native plugin with offline-first pipeline
- Add DailyNotificationPlugin main class with Capacitor integration
- Implement NotificationContent model following project directive schema
- Create DailyNotificationStorage with tiered storage approach
- Add DailyNotificationScheduler with exact/inexact alarm support
- Implement DailyNotificationFetcher for background content retrieval
- Create DailyNotificationReceiver for alarm handling
- Add WorkManager workers for background tasks and maintenance
- Implement prefetch → cache → schedule → display pipeline
- Add comprehensive error handling and logging
- Support battery optimization and adaptive scheduling
2025-08-12 09:39:06 +00:00
Matthew Raymer a54ba34cb9 feat(ios): Enhance battery optimization and notification management
Description:
- Add battery status and power state monitoring
- Implement adaptive scheduling based on battery levels
- Add maintenance worker for background tasks
- Enhance logging with structured DailyNotificationLogger
- Add configuration management with DailyNotificationConfig
- Define constants in DailyNotificationConstants
- Improve error handling and recovery mechanisms

Testing:
- Add comprehensive test coverage for battery optimization
- Add test coverage for power state management
- Add test coverage for maintenance tasks
- Add test coverage for configuration management
- Add test coverage for constants validation

Documentation:
- Add comprehensive file-level documentation
- Add method-level documentation
- Add test documentation
- Add configuration documentation

This commit improves the iOS implementation's reliability and battery
efficiency by adding robust error handling, logging, and configuration
management to make the plugin more maintainable and debuggable.
2025-03-28 03:50:54 -07:00
Matthew Raymer e946767cba Initial commit 2025-03-25 10:40:14 +00:00