You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Migrate settings tab to the declarative settings API (1.3.0) (#30)
Adopts Obsidian 1.13's getSettingDefinitions()/getControlValue/
setControlValue in place of the deprecated imperative display() rendering,
resolving the two remaining findings from Obsidian's plugin review.
- Plain controls (tasks file, overdue range, auto-delete days, search
toggle) become declarative text/dropdown/number/toggle definitions with
inline validation for the file path and icon names.
- Sectors become a SettingDefinitionList: drag-to-reorder and delete come
from the framework (replacing the up/down/trash buttons), the add-sector
form becomes an addItem affordance that inserts an editable placeholder.
- Appearance becomes a SettingDefinitionPage with groups for fonts, theme
(custom colors gated by a visible() predicate), sidebar icons, and
project/label colors; custom rows use render definitions.
- Re-renders use update() instead of display(); value binding goes through
getControlValue/setControlValue with dotted keys for icons.* and
themeColors.*.
- minAppVersion 1.7.2 -> 1.13.0 (required for the API), obsidian typings
pinned to ^1.13.1, version 1.3.0.
eslint: 19 advisory sentence-case warnings remain, nothing else. tsc
passes, all 15 tests pass.
Claude-Session: https://claude.ai/code/session_01FqhKU1PfAXPGgxtsRDyehU
Co-authored-by: Claude <noreply@anthropic.com>