Skip to content

T-TJCU-vault-settings-ungated-open-note

State: planning/draft · Impact: high · Complexity: medium

Ship the feature to users: the two settings tabs leave the dev-features gate, the prototypes from the proposal PR become wired components, and sessions gain an Open button.

LocationRole today
apps/pumice/src-nuxt/app/components/SettingsPage.vueVault and Templates tabs behind useDevMode().showDevFeatures
apps/pumice/src-nuxt/app/components/SettingsVault.vueprototype from the proposal PR, props-driven
apps/pumice/src-nuxt/app/components/VaultPicker.vueprototype
apps/pumice/src-nuxt/app/components/NoteWriteStatus.vueprototype
apps/pumice/src-nuxt/app/components/OpenNoteButton.vueprototype
apps/pumice/src-nuxt/app/components/TemplateEditor.vuetextarea plus <pre> preview
apps/pumice/src-nuxt/app/components/RecentSessions.vueoptional OpenNoteButton per row from the proposal, unwired; tracked sessions already list here
apps/pumice/src-nuxt/app/components/JournalScreen.vueno post-submit action
apps/pumice/src-nuxt/tests/e2e/capture-appearance.e2e.tspasses { devFeatures: true } for the two tabs

SettingsPage mounts the wired SettingsVault and SettingsFormat unconditionally. Tabs follow D-W3KP-pumice-profile-kinds-and-settings-layout: General, Profiles, Journal, Sounds, Vault, Format, Data. SettingsFormat replaces SettingsTemplates: “Write as” at the top, then the Properties table (rows, the tags and cssclasses switches, rename-all), body template and Bases button for a note per session, or the entry template and daily heading for the daily list. The Vault tab keeps folder, switch, vault type, daily-note location, status and Advanced; in daily-list mode the sessions folder and the daily-create switch are hidden, and the status row says “Entry written” with Open on the daily note. TemplateEditor previews through MdViewer. RecentSessions rows and the journal screen carry OpenNoteButton with a written indicator from note_written_at. Vitest covers the new components. Live-app captures are refreshed and embedded in the PR.

  1. Wire store methods into the components; remove the gate.
  2. MdViewer preview in TemplateEditor.
  3. Open buttons in RecentSessions and JournalScreen.
  4. Vitest; update the capture spec; regenerate screenshots.
AreaNote
apps/pumice/src-nuxt/app/components/SettingsPage.vueungate, wiring
apps/pumice/src-nuxt/app/components/SettingsVault.vuewiring
apps/pumice/src-nuxt/app/components/SettingsTemplates.vuewiring
apps/pumice/src-nuxt/app/components/TemplateEditor.vueMdViewer preview
apps/pumice/src-nuxt/app/components/RecentSessions.vueopen button
apps/pumice/src-nuxt/app/components/JournalScreen.vueopen button
apps/pumice/src-nuxt/tests/e2e/capture-appearance.e2e.tsdrop the flag; new captures
apps/pumice/docs/screenshots/refreshed
  • Release build shows Vault and Templates in settings.
  • Switching the write mode on the Format tab swaps its body between the two sets of controls, covered by vitest.
  • A row added or renamed on the Format tab appears in the preview; a duplicate or reserved key is refused inline.
  • Screenshots for every new surface, light and dark, committed and embedded in a PR comment.
  • moon run pumice:check and pumice:test green; vitest covers the four new components.
  • A markdown-rendered template preview; the preview stays plain text until MdViewer is registered in the Storybook and app.
  • Notification action buttons (T-0MYM-completion-notification-open-note-action).
  • Removing the dev-features gate from any tab other than Vault and Templates.

← Back to Tasks