Skip to content

feat(modals): rebuild task create and edit modals - #2501

Merged
callumalpass merged 2 commits into
mainfrom
feat/task-modal-overhaul
Nov 4, 2026
Merged

callumalpass merged 2 commits into
mainfrom
feat/task-modal-overhaul

Conversation

@callumalpass

Copy link
Copy Markdown
Owner

Summary

Rebuilds the task create and edit modals around a shared form model and save path, and reworks their layout.

Create modal

  • Natural-language input now updates the fields as you type. The wand button, preview and fallback textarea are removed.
  • If a task saves but a follow-up step fails, a specific notice says so.

Edit modal

Both modals

  • The icon row is now labelled chips showing current values, on desktop and mobile.
  • Double submits can't save twice, invalid fields show inline errors, and the unsaved-changes prompt behaves the same in both.

Code

  • New src/modals/taskFormModel.ts and src/modals/taskModalSave.ts. Inheritance between the modals is kept.
  • Dead CSS removed. Public hook classes are kept so existing snippets still work.
  • EmbeddableMarkdownEditor always pops its scope on blur.

Testing

  • npm test, lint and typecheck pass.
  • Modal e2e specs pass locally, including the new e2e/task-modal.spec.ts.
  • Not run locally: the full e2e suite, lingui-bundled, language-packs, docs-screenshots, release-gifs.
  • Checked by hand on a desktop and phone-layout Obsidian instance.

Known gaps

  • The docs screenshot feature-task-modal-filled.png still shows the old modal.

Single form state, one guarded save path, live natural language sync,
draft protection, labelled chips, compact layout and a quieter footer.
Fixes double submit, duplicate tasks after a failed follow-up step,
dropped NLP text, Escape after editor blur, and '1h' parsing as 1 minute.
@callumalpass
callumalpass merged commit 106a055 into main Nov 4, 2026
3 checks 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