github dongdongbh/Mindwtr v0.8.6

7 hours ago

Mindwtr 0.8.6

Highlights

  • Desktop planning is clearer with separate Sync and Data settings pages, better dialog accessibility, confirmation before permanent archive/trash deletes, and steadier sync conflict/status feedback.
  • Recurring tasks are more complete across desktop and mobile with end conditions for Never, On date, and After N occurrences, a custom Pomodoro duration preset, and translated copy across every shipped language.
  • Import and sync flows are sturdier with OmniFocus CSV import, automatic WebDAV parent-folder creation before PUTs, bounded MKCOL traversal, deterministic legacy merges, and a macOS Dropbox OAuth callback fix.
  • Mobile daily use is safer with iOS quick-capture keyboard submit fixes, calendar-push deletion hardening, checklist updates that read the full task set, and better task-editor reset behavior.

Desktop Planning, Settings & Accessibility

  • Split desktop settings into dedicated Sync and Data pages so transfer, cleanup, diagnostics, and provider configuration are easier to find.
  • Added confirmation prompts before permanently clearing Archive or Trash and expanded accessibility coverage for dialogs, recurrence controls, and placeholder copy.
  • Added a custom Pomodoro duration preset so desktop focus sessions can keep user-defined timings.
  • Refreshed desktop artwork, AppStream/Flathub screenshots, and install docs so Linux release metadata matches the shipped UI.

Sync, Import & Reliability

  • Added OmniFocus CSV import with project/action mapping and related wiki/readme updates.
  • Created missing WebDAV parent collections automatically before JSON/file PUTs and capped MKCOL traversal depth for pathological nested paths.
  • Fixed the macOS Dropbox OAuth callback listener so desktop self-builds and supported releases can complete the local redirect flow reliably.
  • Fixed desktop sync orchestration so queued follow-up runs use the latest caller options, persisted successful sync status before the post-sync store refresh, and surfaced sync conflicts more clearly in the layout.
  • Made legacy no-revision merges deterministic inside the clock-skew window instead of silently preferring whichever timestamp was a few minutes newer.
  • Backfilled missing task indexes during SQLite migration, stopped batch task deletes from re-tombstoning existing tombstones, and made purgeDeletedTasks() idempotent for already-purged rows.
  • Preserved deleted mobile calendar-push task IDs across the debounce window so later updates do not drop pending calendar removals.

Mobile, Localization & Daily Use

  • Added recurrence end conditions (count, until, and preserved completedOccurrences) so recurring tasks can stop after a set number of runs or on a target date.
  • Filled the new recurrence end-condition copy into every shipped language and added locale-parity coverage for those keys.
  • Fixed iOS quick capture so the keyboard Done action saves the task instead of only dismissing the field.
  • Reset mobile task-edit state more reliably on close and kept swipeable checklist flushes anchored to _allTasks instead of only the visible slice.
  • Localized sync result toasts, sync failure copy, sync badge labels, accessibility labels, and desktop placeholder examples to keep cross-platform UI parity tighter.
  • Updated CHANGELOG, README parity, Core API docs, recurrence guides, Dropbox self-build notes, and sync wiki pages to match shipped behavior.

Full Change List (since v0.8.5)

  • feat(import): add OmniFocus CSV import
  • feat(recurrence): add end conditions
  • feat(settings): split sync and data pages
  • feat(pomodoro): add custom duration preset
  • fix(sync): create missing WebDAV collections before put
  • fix(macos): allow Dropbox OAuth callback listener
  • fix(mobile): submit quick capture from keyboard done
  • fix(mobile): preserve calendar deletions during debounced sync
  • fix(mobile): reset task edit state on close
  • fix(mobile): flush swipe checklist against _allTasks
  • fix(sqlite): backfill task indexes on migration
  • fix(core): make purgeDeletedTasks idempotent
  • fix(core): reject tombstones in batchDeleteTasks
  • fix(core): use deterministic legacy merge inside skew window
  • fix(core): bound WebDAV MKCOL depth
  • fix(desktop): surface sync conflicts in layout
  • fix(desktop): keep latest queued sync options
  • fix(desktop): persist sync status before refresh
  • fix(desktop): confirm permanent archive and trash deletes
  • fix(desktop): add accessibility coverage for dialogs
  • fix(icons): restore previous desktop artwork
  • fix(i18n): localize recurrence, sync status, placeholders, and accessibility labels
  • docs: refresh CHANGELOG, release-note index, screenshots, install docs, and sync/import wiki coverage

Don't miss a new Mindwtr release

NewReleases is sending notifications on new releases.