Mindwtr 0.8.7
Highlights
- OmniFocus import is more complete: Mindwtr now accepts JSON and ZIP exports, maps OmniFocus folders into areas, preserves supported repeat rules, and turns nested tasks into checklist items when possible.
- Pomodoro sessions can advance automatically from focus to break and from break back to focus, with settings on desktop and mobile plus clearer completion feedback.
- Desktop task handling is faster with a right-click / More quick action menu for due dates, contexts, duplicate, and delete, plus restored fullscreen state across launches.
- Sync is sturdier across providers with safer WebDAV collection handling, Dropbox read fallback on desktop, better tombstone/conflict handling, attachment comparison cleanup, recurrence normalization, and new conflict indexes.
- Mobile Focus now surfaces review-due tasks, quick capture avoids Android sheet ghosting, picker accessibility is improved, and medium task lists scroll more smoothly.
- Release automation now validates locale key parity and store image assets, prepares App Store / Google Play / Microsoft Store listing assets, and keeps Flathub metadata from re-adding rejected single-instance D-Bus permissions.
Desktop, Import & Pomodoro
- Added a task quick action menu on desktop, available from right-click or the More button, for fast due date, context, duplicate, and delete actions.
- Persisted desktop fullscreen state so the app restores the user's fullscreen preference on the next launch.
- Collapsed advanced GTD settings into disclosure sections so feature, capture, review, inbox, and task-editor options are easier to scan.
- Hid the Dropbox redirect URI until Dropbox authentication starts, reducing noise in Sync settings.
- Expanded OmniFocus import from CSV-only coverage to JSON and ZIP exports with areas, checklist children, recurrence, tags, dates, notes, previews, and warnings.
- Added Pomodoro auto-start settings for breaks and focus sessions, shared the behavior across desktop and mobile, and surfaced a one-time notice when auto-start is enabled.
Sync & Reliability
- Hardened WebDAV writes by normalizing collection URLs, probing existing collections after conflicts, and sending the
X-NC-WebDAV-AutoMkcolhint for JSON and file uploads. - Retried desktop Dropbox remote reads with a browser fetch fallback when the native fetch path returns no data.
- Reduced false conflicts by ignoring attachment transport/runtime drift in task and project content signatures.
- Improved tombstone conflict handling, nullish/empty comparison normalization, pending remote-write retry status, and deletion filtering.
- Normalized recurrence values when loading SQLite data so legacy recurrence strings do not leak into runtime task state.
- Added SQLite indexes for sync conflict scans and live project area lookups; large local databases may see a one-time startup delay while indexes are created.
- Added cloud merge coverage for concurrent data and same-task merges, plus local attachment status persistence coverage.
Mobile, Accessibility & Localization
- Added a dedicated Review Due section to mobile Focus so tasks with due review dates are visible alongside focus, schedule, and next-action lists.
- Switched Android quick capture sheet animation away from transparent sliding modals to avoid ghosted sheet trails on affected tablet GPUs.
- Improved quick capture picker accessibility with modal semantics, headers, list roles, and selected states.
- Lowered the clipping threshold for medium mobile task lists to improve scroll performance.
- Shared the fallback translation helper across desktop and mobile UI code and added locale key parity checks to CI.
- Expanded Dutch locale parity and filled missing Italian fallback keys for sync, import, recurrence, and accessibility copy.
Release & Store Automation
- Added CI checks for locale parity and store image assets.
- Added scripts and workflow wiring to prepare Fastlane screenshots for iOS and macOS App Store uploads.
- Added Google Play listing asset preparation/upload support.
- Updated Microsoft Store publishing to use repo-managed screenshots and 16:9 promotional art.
- Added App Store, Google Play, and Microsoft Store listing screenshots/assets for this release.
- Updated Flathub checkout automation so it removes previously injected single-instance D-Bus finish args instead of re-adding entries Flathub rejects.
- Updated architecture, cloud sync, attachment sync, OmniFocus import, and release-process documentation.
Full Change List (since v0.8.6)
- test(cloud): cover concurrent same-task merge
- perf(core): index live projects by area
- docs(release): add sync smoke checklist
- refactor(desktop): collapse advanced gtd settings
- docs(release): note sqlite index backfill delay
- test(core): cover local attachment status persistence
- docs(adr): document cloud and attachment sync
- perf(core): add sync conflict indexes
- docs(cloud): clarify proxy header trust risk
- fix(core): normalize recurrence values on load
- docs: fix architecture wiki links
- fix(pomodoro): notify when auto-start is enabled
- test(desktop): document a11y contrast rule
- fix(mobile): improve picker accessibility
- perf(mobile): clip medium task lists
- fix(desktop): expose task quick actions
- perf(desktop): memoize task item display
- fix(core): keep deleted filter helper in sync helpers
- refactor(core): add filterNotDeleted helper
- refactor(i18n): use shared fallback helper
- fix(sync): remove unused merge variable
- fix(sync): normalize empty comparison values
- ci(release): validate store image assets
- ci(i18n): enforce locale key parity
- test(cloud): cover concurrent data merges
- fix(sync): harden tombstone conflict handling
- fix(release): resize Microsoft Store banner asset
- fix(release): replace App Store screenshots with valid assets
- fix(release): keep App Store screenshot renders sharp
- fix(release): render App Store screenshots to valid sizes
- chore(release): add App Store listing screenshots
- docs(wiki): update OmniFocus import guide
- fix(sync): normalize nullish comparison fields
- feat(import): add OmniFocus JSON import
- fix(mobile): show review due tasks in Focus
- fix(desktop): hide Dropbox redirect URI until auth starts
- fix(desktop): avoid stale sync status overwrite
- fix(sync): ignore attachment transport drift in conflicts
- fix(sync): retry desktop Dropbox reads with browser fetch
- fix(sync): harden WebDAV collection creation
- fix(mobile): avoid ghosted quick capture sheet
- feat(desktop): persist fullscreen state
- feat(pomodoro): add auto-start settings
- chore(release): add store listing assets automation
- feat(desktop): add task quick action menu
- fix(release): stop adding single-instance dbus args to flathub