Skip to content

Improve type workflows and sync independent files despite scoped issues - #17

Merged
callumalpass merged 2 commits into
mainfrom
feat/user-experience
Oct 1, 2026
Merged

callumalpass merged 2 commits into
mainfrom
feat/user-experience

Conversation

@callumalpass

Copy link
Copy Markdown
Collaborator

Summary

Implement the eight UX improvements and make sync resilient to individual problem files:

  • Session-aware validation freshness/coverage, progress and immediate cancellation controls.
  • Separate stale-draft recovery with comparison, export and confirmed discard.
  • Single validated typed-note form with retained inputs, typed controls, strict numeric parsing and safe location previews.
  • Full-plan transfer search/filtering and bounded 250-row pagination; approval still covers the unchanged engine plan.
  • Published mdbase-contracts onboarding with digest verification, portable lockfiles, preserved starter customizations and journaled installation recovery.
  • Persisted workspace navigation/type/editor/filter/disclosure state, never transfer approvals.
  • Folder-exclusion suggestions/chips that support commas, with size and retention explanations in enrollment and settings.
  • Scoped sync issues isolate only affected files and connected rename paths. Independent uploads/downloads continue, including opt-in routine automatic sync. Completed effects retain receipts; skipped changes remain retryable because partial runs retain the previous cursor.

Retains current main's beta.120 SDK upgrade, modular workspace panes and shared SyncSession. Extends the existing reproducible SDK patch rather than reverting the refactor. Beta.120's lossless opaque-YAML synchronization remains supported.

Safety boundaries

  • Unscoped inspection failures still block the plan.
  • Unreadable managed files are not interpreted as deletions.
  • Conditional writes, competing-edit detection, exact-plan fingerprints, integrity verification and durable recovery remain enforced.
  • Deletions, conflicts, attachment uploads, initial syncs and rebuilds still require review.
  • Pack upgrades, custom mappings and hosted-authority installation remain in mdbase editor.

Verification

  • npm ci applies the beta.120 patch cleanly
  • npm test: 204 passed, 0 failed
  • npm run lint
  • npm run check:mobile (includes build and Node-runtime-import checks)
  • Full nine-stage native Obsidian 1.13.7 CLI acceptance rerun after integrating main
  • Real catalog/People installation and contract-based Person creation
  • Draft recovery through plugin reload and real app reload/mobile emulation
  • Live partial-sync review shows an enabled available-transfer action despite an unreadable-file diagnostic
  • Real SDK/MemoryAuthority integration exercises partial uploads/downloads, cursor retention, no repeated uploads, repair retries, unreadable managed-file preservation and related-rename isolation

Live evidence: /tmp/mdbase-pr-live-evidence on the development machine. Reproducible harness: scripts/test-obsidian-ux.mjs. Details and limitations: docs/user-experience-acceptance.md.

The live transfer-review fixture is synthetic and never submitted to a server. Physical-phone and live hosted-transfer testing are not claimed.

@callumalpass
callumalpass merged commit fb14a7e into main Oct 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant