Added packages/*/dist/ and packages/*/build/ to .gitignore
to prevent committing build artifacts from workspace packages.
This addresses ChatGPT feedback about packages/polling-contracts/dist/
being committed. Workspace packages should build during CI/publish,
not commit dist/ artifacts.
Verification:
- .gitignore updated ✅
- No dist/ artifacts should be committed ✅
Version Unification:
- Updated README.md version from 2.2.0 → 1.0.11
- Updated src/definitions.ts version from 2.0.0 → 1.0.11
- Documented package.json as source of truth
Repo Hygiene:
- Added *.tar.gz and docs.tar.gz to .gitignore
- Added build/reports/ and .gradle/nb-cache/ to .gitignore
- Strengthened Android .gradle exclusions
Created docs/FEEDBACK-RESPONSE-PLAN.md with action plan for
addressing ChatGPT feedback.
Verification:
- Version headers now match package.json ✅
- .gitignore strengthened ✅
Exclude temporary archive files (*.zip, *.gz) from version control.
These are typically temporary extraction artifacts and should not be
committed.
Author: Matthew Raymer
Fix alarm counting to correctly parse dumpsys output where app ID and
action appear on different lines. Add screenshot capture for test
diagnostics and create golden run documentation.
Test Harness Improvements:
- Fix get_plugin_alarm_count() to track app ID and action separately
across alarm block lines (fixes false 0-count bug)
- Add show_plugin_alarms_compact() to display complete alarm blocks
- Add wait_for_stable_plugin_alarm_count() polling helper to reduce
race condition false negatives
- Add take_screenshot() and take_failure_screenshot() helpers for
automatic test state capture
- Integrate screenshots into TEST 0 at key checkpoints
- Update TEST 0 messaging to handle race conditions gracefully
- Add screenshots/ to .gitignore
Documentation:
- Create PHASE1_TEST0_GOLDEN.md with actual values from successful run
- Document expected script output, UI state, dumpsys shape, and logcat
patterns
- Include pass/fail checklist for future test runs
This fixes the issue where alarm counting always returned 0 because the
AWK logic required app ID and action on the same line, but dumpsys
output has them on separate lines (header line has app ID, tag line
has action).
- 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.
- Update package.json with modern build tooling and dependencies
- Streamline and enhance TypeScript definitions for better type safety
- Reorganize plugin structure for better maintainability
- Add comprehensive interface definitions for notification features
- Implement proper build configuration with rollup
- Update tsconfig.json for stricter type checking and ES2020 modules
Breaking Changes:
- Changed module structure to use ES modules
- Updated interface definitions with stricter typing
- Removed redundant notification options
- Simplified API surface while maintaining core functionality
Dependencies:
- Upgrade @capacitor dependencies to v5.7.8
- Add rollup and typescript build tools
- Update test framework configuration
- Add BatteryOptimizationSettings class for centralized power management
- Implement adaptive scheduling based on power state and battery level
- Add comprehensive battery monitoring and status tracking
- Improve notification reliability with WorkManager integration
- 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
Security:
- Add proper permission checks for battery optimization
- Implement secure wake lock management
- Add validation for notification parameters
- Use FLAG_IMMUTABLE for PendingIntents
- Implement proper cleanup in handleOnDestroy
Testing:
- Add test coverage for battery optimization features
- Add test coverage for notification scheduling
- Add test coverage for power state management
- Add test coverage for maintenance tasks
Documentation:
- Add comprehensive file-level documentation
- Add method-level documentation
- Add security considerations
- Add performance optimization notes
This commit improves the Android implementation's reliability and battery
efficiency while maintaining feature parity with iOS. It adds robust
error handling, logging, and configuration management to make the plugin
more maintainable and debuggable.