You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ROADMAP.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -994,6 +994,28 @@ New items from an exhaustive research pass covering 5 parallel research agents (
994
994
995
995
### P2 — hardening and hygiene
996
996
997
+
## Audit follow-ups (engineering/UX/theming pass)
997
998
999
+
Items found during a deep audit that need human decision, on-device verification, or implementation work beyond an audit pass.
1000
+
1001
+
-[ ] P2 — On-device verification of the completed light (Catppuccin Latte) theme
1002
+
Why: The light scheme was completed with full container/outline tokens, but this environment has no emulator. Verify contrast and surface layering across every mode and nested surface (modals, popovers, dropdowns, run-log/scene/flow cards, toasts) on a device before claiming theme parity.
1003
+
Where: app/src/main/java/com/opentasker/ui/theme/Theme.kt, all ui/screens/*
Why: The app follows the system theme only (OpenTaskerTheme reads isSystemInDarkTheme with no override); there is no user-selectable light/dark/high-contrast preference or persistence. A persisted DataStore-backed theme setting plus a high-contrast scheme is premium-table-stakes.
-[ ] P3 — Adopt DesignSystem spacing/radius/elevation tokens across screens
1010
+
Why: DesignSystem defines Spacing/Radii/Elevation/ComponentSize scales but the UI hardcodes dp values throughout, so the design system is decorative and spacing/radius drift is unguarded.
1011
+
Where: app/src/main/java/com/opentasker/ui/theme/DesignSystem.kt, all ui/screens/*
Why: allowBackup is implicit (defaults true); backup rules correctly exclude the DB + shared prefs, but user_files/ and downloads/ written by file actions are still eligible for backup/transfer. Decide the privacy posture for a privacy-first app and declare the flag explicitly.
-[ ] P3 — Add a match-timeout to user-authored regex template/variable ops
1018
+
Why: regex/replace ops bound pattern and input length but a crafted user pattern (e.g. nested quantifiers) can still backtrack on the bounded input. A wall-clock match timeout would fully neutralize ReDoS from self-authored automations.
0 commit comments