github dongdongbh/Mindwtr v0.9.2

4 hours ago

Mindwtr 0.9.2

Highlights

  • Mobile navigation, Focus, Settings, Review, calendar, and capture surfaces were refreshed so daily planning and inbox capture feel more direct.
  • Android capture gained more entry points: Quick Settings capture, App Actions shortcuts, and assistant-compatible voice create-note intents all route into the confirm-first capture flow.
  • Sync is more resilient with saved-filter sync, focus-limit sync, stricter WebDAV/cloud fingerprint handling, background sync task support, and safer attachment cancellation across backends.
  • Desktop views are steadier with persisted view options, restored filters during startup, a cleaner sync footer, improved quick-add refresh behavior, and derived focused project counts.
  • Localization and release quality gates are stricter, with broader locale coverage hygiene, better i18n regression tests, and per-file coverage floors for cloud and MCP code.

Mobile & Android Capture

  • Reworked the mobile tab shell, Focus screen, menu, settings pages, and quick capture flow.
  • Added Android Quick Settings capture and assistant/App Actions capture routing through CREATE_NOTE and mindwtr:///capture deep links.
  • Kept assistant-triggered and external capture confirm-first instead of silently saving tasks.
  • Added startup tracing for Android capture entry points and tests for app shortcuts, quick capture, and startup ordering.
  • Made the daily review calendar collapsible and restored missing review modal translations.
  • Preserved mobile calendar day scroll position and made calendar labels, composer placeholders, and review copy use locale keys.
  • Replaced native-looking confirmation alerts with Mindwtr-themed alerts.
  • Improved capture modal parsing, URL JSON sanitization, audio capture handling, and quick capture picker behavior.

Sync, Cloud & Data

  • Added saved filters as a syncable settings group with local SQLite storage, normalization, merge logic, tombstones, and delete-conflict handling.
  • Synced the Focus task limit and kept GTD sync timestamps updated when synced GTD fields change.
  • Added mobile background sync task wiring and AppState abort handling.
  • Propagated cancellation through CloudKit, Dropbox, WebDAV, file, and cloud attachment sync paths.
  • Preserved caller abort errors so cancelled sync operations report the real cancellation reason.
  • Made WebDAV weak-fingerprint warnings clearer and avoided unsafe unchanged-sync shortcuts when validators are unreliable.
  • Aligned cloud HEAD and GET behavior by serving raw data bytes, matching content length, and skipping trusted GET parsing.
  • Improved pending remote write and attachment sync behavior so local/remote work is not skipped while uploads or deletes are pending.

Desktop & Core Experience

  • Persisted desktop view options and restored filters during startup.
  • Opened the desktop quick-add popup before refresh work can steal focus.
  • Refined the sidebar sync footer and removed stale board filter open state.
  • Derived focused project counts from shared helpers and reused focused task count logic.
  • Added shared saved-filter helpers, labels, tests, and core exports.
  • Improved fast sync helpers, local watcher behavior, sync service fingerprinting, and runtime sync coverage.
  • Expanded MCP and cloud server test/type/lint coverage.

Localization, CI & Release

  • Routed mobile settings, review modal, calendar labels, and composer placeholders through locale keys.
  • Removed mixed English partial locale entries and added checks against verbatim English placeholders.
  • Added locale coverage hygiene and stricter locale parity checks.
  • Repaired CI coverage gates, added cloud/MCP coverage floors, and clarified LCOV handling.
  • Updated Android release workflow support for Google Play listing metadata preparation.
  • Resolved Bun audit advisories and updated shared lint/typecheck scripts for cloud and MCP packages.

Full Change List (since v0.9.1)

  • fix(desktop): refine sidebar sync footer
  • test(core): cover abort reason fallbacks
  • fix(desktop): preserve restored filters during startup
  • test(desktop): cover fast sync helpers
  • fix(i18n): enforce locale coverage hygiene
  • fix(core): normalize WebDAV weak fingerprint warnings
  • fix(ci): clarify LCOV coverage gates
  • fix(cloud): skip trusted GET parsing
  • fix(desktop): remove stale board filter open state
  • fix(mobile): abort file and WebDAV attachment sync
  • fix(projects): use derived focused project count
  • fix(desktop): open quick add popup before refresh
  • fix(mobile): make daily review calendar collapsible
  • feat(desktop): persist view options
  • fix(deps): resolve Bun audit advisories
  • fix(ci): repair coverage gates and focus test
  • fix(calendar): localize composer time placeholders
  • refactor(settings): use named settings interfaces
  • ci: add mcp per-file coverage floors
  • refactor(cloud): extract data cache helpers
  • refactor(desktop): extract fast sync state helpers
  • fix(mobile): propagate Dropbox attachment aborts
  • test(store): document active focus limit counting
  • fix(i18n): migrate mobile localize calls to locale keys
  • fix(i18n): remove mixed English partial locale entries
  • test(core): cover abort reason fallback
  • fix(mobile): abort CloudKit sync operations
  • test(mobile): cover AppState sync abort
  • ci: gate non-line coverage metrics
  • fix(mobile): preserve calendar day scroll position
  • refactor(settings): use named settings types
  • fix(webdav): warn once per weak fingerprint source
  • fix(cloud): serve raw data bytes for GET
  • fix(store): derive focused project counts
  • fix(sync): align saved filter delete conflicts
  • fix(mobile): restore review modal translations
  • fix(i18n): reject verbatim English locale placeholders
  • fix(mobile): preserve day calendar scroll position
  • fix(desktop): resolve core importer subpaths
  • fix(mobile): honor lifecycle abort during attachment pre-sync
  • fix(cloud): align data HEAD length with GET
  • fix(mobile): route calendar labels through i18n keys
  • fix(mobile): localize review modal labels
  • ci: gate cloud and mcp coverage
  • fix(desktop): skip redundant local watcher merges
  • fix(core): reuse focused task count
  • docs(perf): clarify calendar virtualization bounds
  • fix(i18n): route settings literals through locale keys
  • refactor(settings): use exported settings types
  • fix(sync): preserve caller abort errors

Don't miss a new Mindwtr release

NewReleases is sending notifications on new releases.