feat: persist file finder filter toggles in settings.json#119
Merged
Conversation
05be73a to
094e50d
Compare
Move show_ignored/show_hidden out of the in-memory FileSearchMemory global into AppSettings.file_finder so they survive app restarts and act as a persisted default for future opens. Toggling a filter emits FiltersChanged; the overlay manager writes it back through SettingsState (debounced to disk). Query and selected_index stay session-only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
094e50d to
5e8c77e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
show_ignored/show_hidden) used to live in an in-memoryFileSearchMemoryglobal, so they reset on every app restart.AppSettings.file_finder(new struct) so they persist across restarts and act as the global default for future opens — a single mechanism covers both "remember my setting" and "make this my default."FiltersChangedon toggle. Overlay manager subscribes and writes back throughSettingsState, riding the existing 300ms debounced save.FileSearchMemorykeeps only session-scoped state (query + selected_index).Test plan
~/Library/Application Support/okena/settings.json—file_finder.show_ignored/file_finder.show_hiddenreflect last toggle.file_finderkey loads cleanly (defaults tofalsevia#[serde(default)]).🤖 Generated with Claude Code