Mindwtr 1.0.0
Highlights
- Mindwtr 1.0.0 publishes the local MCP automation helper as the public npm package
mindwtr-mcpand MCP Registry serverio.github.dongdongbh/mindwtr, with safer nullable-field handling, idempotent publish checks, and zero-warning lint coverage. - Sync and local storage are safer for multi-device and multi-process use: people data survives backup and sync paths, duplicate people loops stop, lower-revision container writes cannot overwrite newer rows, and project or area deletion detaches work instead of losing it.
- Attachments and project duplication are safer with shared remote files preserved and duplicated project attachment metadata cleared instead of reusing stale remote keys.
- Mobile capture, calendar, project, and large-list flows are smoother with keyboard-safe Quick Capture expansion, refreshed Android icon assets, better accessibility, indexed Markdown link lookups, mixed-row-height accounting, and fewer no-op lifecycle syncs.
- Desktop, PWA, cloud, and local automation paths are steadier with remembered cloud tokens, stricter PWA CSP headers, recurring task creation through the local API, restored autocomplete caret handling, finalized cloud task writes, and faster auth-token digest checks.
- Documentation and release quality improved with refreshed sync/MCP/wiki guidance, core and cloud lint/typecheck coverage, cloud write-path tests, recurrence parity tests, and Android/mobile coverage gates.
MCP, Local API & Automation
- Published the MCP server as
mindwtr-mcpand added MCP Registry metadata. - Made MCP registry publishing idempotent for release reruns.
- Preserved nullable field clears through MCP writes.
- Kept MCP linting zero-warning clean.
- Created recurring tasks correctly through the desktop local API.
- Documented current MCP npm and registry setup.
Sync, Storage & Data Safety
- Restored deleted people and preserved people through mobile backup storage.
- Stopped duplicate people sync loops and pinned people load-normalization convergence.
- Added revision guards to container SQLite upserts for areas, projects, sections, and people.
- Detached tasks when deleting projects and clarified area/container delete outcomes.
- Preserved shared remote attachment files and cleared attachment metadata on project duplicates.
- Shared local freshness guards and suppressed no-op mobile lifecycle syncs.
- Finalized cloud task route writes, added cloud write-path coverage, and precomputed auth token digests.
Mobile, Desktop & Web Polish
- Kept Quick Capture expansion above the keyboard and gated the More expansion on keyboard hide.
- Improved mobile calendar and project accessibility.
- Refined Android adaptive and monochrome icon assets.
- Indexed mobile and desktop Markdown link lookups for faster large-note rendering.
- Accounted for mixed task-list row heights on mobile.
- Restored the desktop task input caret after autocomplete.
- Let the PWA remember cloud tokens and added stricter PWA CSP headers.
- Localized the Markdown copy-code label and cleaned Portuguese locale whitespace.
Docs, CI & Release Quality
- Updated workflow, sync, cloud, Docker, MCP, roadmap, and Core API documentation.
- Added an engineering principles checklist for high-risk write, sync, and packaging changes.
- Added core and cloud to typecheck and lint coverage.
- Added recurrence local API parity coverage and refreshed mobile sync harness tests.
- Exposed mobile coverage gates locally.
Full Change List (since v0.9.10)
- fix(mobile): gate quick capture More expansion on keyboard hide
- fix(mcp): preserve nullable field clears
- chore(i18n): remove portuguese trailing whitespace
- feat(mcp): publish MCP registry package
- ci(mcp): make registry publish idempotent
- fix(mobile): invalidate sync config cache
- test(mobile): cover sync success cleanup
- feat(core): restore deleted people
- docs(wiki): cover recent workflow features
- fix(attachments): preserve shared remote files
- test(mobile): guard sync refresh skips
- fix(core): detach tasks when deleting projects
- fix(cloud): finalize task route writes
- fix(desktop): create recurring tasks from local api
- fix(attachments): clear metadata on project duplicates
- docs(core): clarify area delete detach behavior
- perf(desktop): share markdown link lookups
- fix(i18n): localize markdown copy code label
- docs: update roadmap and codex mcp setup
- test(ci): align project delete and markdown tests
- fix(desktop): restore task input caret after autocomplete
- docs(docker): clarify PWA Dropbox sync support
- fix(mobile): lift quick capture above keyboard without flicker
- fix(sync): stop duplicate people sync loop
- fix(mobile): preserve people in backup storage
- fix(desktop): allow PWA to remember cloud token
- fix(mobile): refine Android icon assets
- fix(mobile): avoid lazy sync import in pull refresh
- test(mobile): stabilize sync refresh test harness
- fix(storage): guard container sqlite upserts
- test(people): pin load normalization convergence
- perf(mobile): index markdown link lookups
- fix(ux): clarify container delete outcomes
- chore(dx): include core and cloud in typecheck
- docs(cloud): add env example
- docs(sync): explain revBy tie-break
- docs(wiki): refresh sync and mcp references
- chore(dx): add core and cloud lint coverage
- test(cloud): cover critical write paths
- perf(mobile): account for mixed task list row heights
- perf(mobile): suppress no-op lifecycle syncs
- test(recurrence): pin local api parity
- fix(mobile): improve calendar and project accessibility
- refactor(mobile): extract quick capture expand hook
- test(attachments): preserve shared remote files
- chore(security): add desktop pwa csp headers
- chore(mobile): expose coverage gate locally
- perf(cloud): precompute auth token digests
- refactor(sync): share local freshness guard
- fix(mcp): keep lint zero-warning clean