Skip to content

fix #53: persist terminal display settings across sessions#88

Open
blueberrycongee wants to merge 1 commit intomainfrom
fix/issue-53-persist-display-settings
Open

fix #53: persist terminal display settings across sessions#88
blueberrycongee wants to merge 1 commit intomainfrom
fix/issue-53-persist-display-settings

Conversation

@blueberrycongee
Copy link
Owner

Summary

  • Terminal display settings (contrast, opacity, font size) now persist across app restarts
  • Replaced localStorage-based persistence with file-based persistence (~/.termcanvas/preferences.json) via IPC
  • Added PreferencesPersistence class reusing the same atomic-write pattern as StatePersistence
  • Store hydrates asynchronously on startup via hydratePreferences()

Test plan

  • Change terminal display settings (font size, contrast ratio, animation blur), restart app, verify settings are restored
  • Verify settings file is created at ~/.termcanvas/preferences.json
  • Verify default values are used on first launch (no preferences file yet)

Replace localStorage-based persistence in preferencesStore with
file-based persistence (~/.termcanvas/preferences.json) using the
existing IPC bridge pattern. Settings now reliably survive app restarts.

- Add PreferencesPersistence class to state-persistence.ts
- Add preferences:load / preferences:save IPC handlers
- Expose preferences API in preload bridge and TermCanvasAPI type
- Convert preferencesStore to async hydration on startup
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

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