Mindwtr 0.7.9
Highlights
- This patch release focuses on data portability, steadier sync behavior, deeper desktop integrations, and safer release packaging across desktop and mobile.
- Added backup restore and Todoist import, expanded the desktop Obsidian integration with TaskNotes and live write-back, and improved Apple-platform CloudKit startup handling.
- Improved Android and mobile workflow stability with widget polish, safer auto-sync state handling, and fewer duplicate conflict alerts.
- Hardened self-hosted desktop sync, cloud attachment validation, and release automation for Linux, AUR, and Apple provisioning.
Desktop & Integrations
- Added Obsidian TaskNotes support plus live updates and write-back for the desktop integration.
- Hardened Flatpak and self-hosted desktop sync, wired the desktop heartbeat path, skipped no-op CloudKit writes, and exposed filter plus sync-toggle state more reliably.
- Improved desktop UX with fallback accessibility labels, localized delete-undo copy, cleaner focus lists for waiting tasks, and removal of the redundant sidebar shortcuts button.
Mobile, iOS & Android
- Added backup restore and Todoist import in the shared data layer and linked the CloudKit Expo module for iOS builds.
- Staged CloudKit until first sync, handled missing CloudKit record types more safely, and kept mobile auto-sync steadier by snapshotting app state and deduplicating repeated conflict alerts.
- Improved Android widget readability with larger task text and a visible hidden-focus counter, while canceling pending checklist flushes on delete.
Data, Sync & Cloud
- Added project and area restore actions, restored reliable area color editing, and preserved visible tasks when purging tombstones.
- Bounded Dropbox auth retries, kept file-watcher ignores active through sync completion, and kept successful-change markers aligned with settings writes.
- Hardened cloud behavior by aligning quick-add length limits, blocking executable attachment content types, using duplex streaming uploads, and returning typed MCP tool errors.
Docs, CI & Internal Architecture
- Added backup restore and Todoist import guides, refreshed Obsidian wiki docs, and updated sync and prior release-note documentation.
- Hardened release and CI flows around AUR publishing, Apple Developer ID provisioning, and TypeScript regressions.
- Continued internal cleanup with core and mobile refactors, stronger cloud and mobile tests, and removal of unused project-order cache keys.
Full Change List (since 0.7.8)
- fix(ci): use ssh for AUR publishing
- fix(ci): serialize AUR publish jobs
- fix(release): remove stale AUR whisper workaround
- fix(desktop): harden flatpak self-hosted sync
- fix(flathub): wire desktop heartbeat
- feat(data): add backup restore and Todoist import
- docs: add backup restore and Todoist import guides
- chore(desktop): remove sidebar shortcuts button
- fix(desktop): fallback accessibility labels in layout
- feat(obsidian): add live updates and write-back
- fix(release): require developer id provisioning profile
- feat(obsidian): add TaskNotes support
- docs(wiki): refresh Obsidian integration guide
- fix(sync): stage cloudkit backend until first sync
- fix(desktop,mobile): locale-safe handling of missing CloudKit record types (#331)
- fix(ios): link cloudkit sync expo module
- fix(desktop): skip no-op CloudKit writes
- fix(core): add project and area restore actions
- fix(desktop): localize task delete undo copy
- fix(cloud): align quick-add length limits
- fix(core): warn on malformed Todoist CSV quotes
- fix(core): preserve visible tasks when purging tombstones
- refactor(core): clarify tasknotes date matcher
- fix(desktop): stabilize test runner isolation
- fix(areas): restore reliable color editing
- fix(mobile): dedupe repeated sync conflict alerts
- fix(core): add duplex for streaming uploads
- fix(desktop): keep waiting tasks out of focus today
- fix(widget): increase Android task text size
- feat(widget): show hidden focus count
- fix(mobile): snapshot app state during auto-sync
- fix(mobile): cancel pending checklist flushes on delete
- fix(sync): keep file watcher ignores active until sync completion
- fix(sync): bound Dropbox auth retries during sync
- fix(sync): keep successful-change markers in sync with settings writes
- perf(core): use linear duplicate detection in batch updates
- fix(mcp): use typed tool errors for response codes
- test(cloud): cover error response cors headers
- fix(cloud): block executable attachment content types
- refactor(core): remove unused project order cache keys
- docs: refresh 0.7.8 release notes and sync docs
- fix(ci): address TypeScript regressions
- test(mobile): stabilize sync runtime setup
- fix(desktop): expose filter and sync toggle state
- refactor(mobile): extract task edit derived state