Skip to content

1.3.0

Choose a tag to compare

@leotomhal leotomhal released this 21 Jul 14:45
· 9 commits to main since this release
85a4bd1
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>