* feat/better-logging:
feat(log): add way to download logs from error and from settings page
security: fix credential logging vulnerabilities
feat(log): fine tune logging
feat(log): filter log.ts from stacktraces
refactor: remove local storage from action logger
feat: add strategic logs for task due effects and add tasks service
fix: remove duplicate PFLog imports
refactor: replace SyncLog with PFLog in pfapi directory
refactor: migrate all android logs to DroidLog context
refactor: migrate all issue logs to IssueLog context
refactor: use PFLog for all logging in pfapi directory
refactor: use PluginLog for all logging in plugins directory
fix: remove duplicate Log imports
refactor: complete migration from console.* to Log methods
refactor: replace console.* with Log methods throughout codebase
refactor: update Log.withContext to use shortened method names
feat(log): record history
feat(log): implement new log system
- Action logger now keeps logs in memory only
- Removed all localStorage operations
- Maintains same functionality for tracking last 30 actions
- More performant without persistence overhead
- Added log when addAllDueToday is triggered after sync in task-due.effects
- Added log when overdue tasks are removed from today
- Added logs in AddTasksForTomorrow service to track:
- When addAllDueToday starts with current date
- When tomorrow tasks are moved to today
- Summary of tasks found (repeatable, due with time, due with day)
- All logs use TaskLog with [task] context prefix
- Replace all SyncLog calls with PFLog throughout pfapi
- Modified 24 files with 246 total changes
- All pfapi logs now consistently use PFLog with [pf] context prefix
- Fixed duplicate import in model-ctrl.ts
- Replace all Log.* calls with DroidLog.* in android-related files
- Modified 3 files with logging changes
- All android-related logs now have [droid] context prefix
- Replace all Log.* calls with IssueLog.* in features/issue directory
- Modified 17 files with 42 total changes
- All issue-related logs now have [issue] context prefix
- Fixed unused Log import in jira-api.service.ts
- Replaced all Log.* calls with PFLog.* in pfapi directory
- Modified 24 files with 106 total changes
- All pfapi-related logs now have [pf] context prefix
This ensures consistent context-aware logging for all persistence framework
operations, making it easier to filter and debug data-related issues.
- Replaced all Log.* calls with PluginLog.* in plugins directory
- Modified 14 files with 179 total changes
- Removed unused Log imports
- All plugin-related logs now have [plugin] context prefix
This ensures consistent context-aware logging for all plugin operations,
making it easier to filter and debug plugin-related issues.
- Replaced remaining 100 console.* calls across 100 files
- Fixed all console.log, console.error, console.warn calls
- Removed unused Log imports from 18 files
- Created force migration script to handle all edge cases
- All non-test files now use centralized Log class
Benefits:
- All application logs are now recorded for export
- Consistent log level filtering
- Better debugging with log history
- Centralized logging configuration
- Changed error() to err() as primary method
- Changed normal() to log() as primary method
- Added info() method using console.info
- Kept backwards compatibility aliases for error, normal, and warn
- Now withContext matches main logger API exactly
- Only show progress circle when task has time estimate
- Fix circumference calculation to match SVG radius (10)
- Fix stroke-dasharray and dashoffset values
- Show completed portion instead of remaining portion
- Use currentColor for stroke instead of hardcoded black
* fix/various3:
fix(sync): vector clock edge case when vector clients differ
feat(sync): improve logging and change comparison to always conflict when one of the clocks is empty
The encryption password was not being saved when updating sync settings for the WebDAV provider. This caused users to have to re-enter their encryption password after every sync attempt. The fix ensures the encryptKey field is included when saving WebDAV provider configuration.
- Fix planner-today-sync.spec.ts tests by simulating meta-reducer behavior
- Add currentState tracking to manually update store state after actions
- Fix save-to-db.effects.spec.ts by overriding store.dispatch to emit actions
- Ensure all 1504 tests now pass (10 skipped)
The issue was that MockStore doesn't execute meta-reducers, but tests
expected the side effects from plannerSharedMetaReducer and
taskSharedSchedulingMetaReducer to occur when dispatching actions.
- Document current mobile logging limitations
- Propose phased approach for log collection and export
- Include privacy-first design considerations
- Outline implementation details and testing strategy
- Add defensive effect to catch tasks with dueDay=today missing from TODAY tag
- Enhanced logging for debugging task state synchronization issues
- Add integration tests for planner-today synchronization
- Fix issue where repeat tasks and planned tasks weren't appearing in today view
- Ensure task-shared-crud reducer properly adds tasks due today to TODAY tag
Addresses issue where users reported planned tasks not appearing in the "Today"
view or project views despite being scheduled in the planner.
- Add comprehensive translation keys under F.SYNC.SAFETY_BACKUP
- Replace all hardcoded UI strings with translation pipes
- Update component to use TranslateService for dynamic text
- Ensure all user-facing text is now translatable
Part of ongoing internationalization effort
- Reordered themes alphabetically (Arc, Dark Base, Dracula, Nord Polar Night, Nord Snow Storm)
- Default theme remains at the top as it's the system default