Skip to content

feat: persist runtime UI preferences separately from config - #300

Merged
devmobasa merged 11 commits into
mainfrom
feat/issue-293-runtime-ui-state-persistence
Jul 23, 2026
Merged

feat: persist runtime UI preferences separately from config#300
devmobasa merged 11 commits into
mainfrom
feat/issue-293-runtime-ui-state-persistence

Conversation

@devmobasa

@devmobasa devmobasa commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

Should resolve #293

Adds durable runtime UI state for direct overlay customizations without rewriting unrelated authored configuration.

Wayscriber now stores these preferences in $XDG_DATA_HOME/wayscriber/runtime-ui.toml:

  • top and side toolbar pin/minimized state;
  • active side pane and collapsed sections;
  • individual toolbar item visibility and order; and
  • per-board pin state.

config.toml remains the authored source for configured defaults, while session files remain responsible for annotation data.

Reliability and recovery

  • Applies configured values as seeds and reconciles retained runtime overrides after config or session reloads.
  • Uses conditional writes tied to the inspected file and parent-directory identity.
  • Rejects symlinked or externally replaced targets.
  • Preserves invalid or newer-format files before an explicit reset.
  • Treats newer formats as read-only rather than downgrading them.
  • Keeps the app usable when runtime persistence is unavailable; changes then apply for the current run only.
  • Rolls back rejected mutations and only confirms persistence after the write outcome is known.
  • Saves annotation session state before draining runtime UI persistence during shutdown.
  • Keeps board runtime pins separate from board values written back to config.toml.

The configurator continues to edit configured defaults only.

@devmobasa
devmobasa merged commit bd6f3e1 into main Jul 23, 2026
2 checks passed
@devmobasa
devmobasa deleted the feat/issue-293-runtime-ui-state-persistence branch July 23, 2026 21:03
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.

[BUG] Toolbar pin/minimize/reorder actions still overwrite config.toml after #189 fix

1 participant