Skip to content

ENG-514: Auto-save plugin settings#913

Open
trangdoan982 wants to merge 2 commits intomainfrom
eng-514-change-behavior-of-plugin-settings-to-save-automatically
Open

ENG-514: Auto-save plugin settings#913
trangdoan982 wants to merge 2 commits intomainfrom
eng-514-change-behavior-of-plugin-settings-to-save-automatically

Conversation

@trangdoan982
Copy link
Collaborator

@trangdoan982 trangdoan982 commented Mar 26, 2026

Summary

  • Settings now save automatically, matching Obsidian's native settings behavior
  • Removed "Save Changes" button and "unsaved changes" indicator from all 5 settings tabs (General, Node Types, Relation Types, Discourse Relations, Admin Panel)
  • Discrete inputs (toggles, dropdowns, color pickers) save immediately on change
  • Text inputs with validation (node type name/format, relation type label/complement) save on blur to avoid persisting intermediate typing states
  • Validation errors shown inline on the affected row (red text) instead of Notice toasts
  • Fixed shared object reference mutation bug where invalid changes could leak into plugin.settings even when validation rejected them

Test plan

https://www.loom.com/share/13522a032c6445af8ccceaff31cde515

  • General tab: toggle "Show IDs in frontmatter", change folder paths and hotkey — verify settings persist after closing/reopening settings
  • Node Types tab: edit a node type's name, format, description, tag, color, template, folder path — verify each saves correctly
  • Node Types tab: set a format to match an existing node type's format — verify inline error appears and the invalid value is NOT saved
  • Relation Types tab: edit label, complement, and color — verify saves correctly
  • Relation Types tab: set a label or complement to match another relation type — verify inline error on both rows, not saved
  • Discourse Relations tab: change source/type/destination dropdowns — verify saves correctly
  • Discourse Relations tab: create a duplicate relation — verify inline error on duplicate rows, not saved
  • Admin Panel tab: toggle sync mode — verify saves and initializes sync
  • Verify no "Save Changes" buttons remain in any tab

🤖 Generated with Claude Code

Closes ENG-514


Open with Devin

Settings now save automatically matching Obsidian's native settings UX:
- Discrete inputs (toggles, dropdowns, color pickers): save on change
- Text inputs with validation (node type fields, relation type labels): save on blur
- Validation errors shown inline on the affected row instead of Notice toasts
- Removed Save Changes button and unsaved changes indicator from all tabs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@linear
Copy link

linear bot commented Mar 26, 2026

@supabase
Copy link

supabase bot commented Mar 26, 2026

This pull request has been ignored for the connected project zytfjzqyijgagqxrzbmz because there are no changes detected in packages/database/supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

graphite-app[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@trangdoan982 trangdoan982 requested a review from mdroidian March 26, 2026 19:29
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