Skip to content

Make Favorites optional without discarding saved marks - #15

Merged
tarikbc merged 1 commit into
tarikbc:mainfrom
brzvsk:feat/optional-favorites
Sep 18, 2026
Merged

tarikbc merged 1 commit into
tarikbc:mainfrom
brzvsk:feat/optional-favorites

Conversation

@brzvsk

@brzvsk brzvsk commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

What this changes

Adds Enable Favorites in Settings, enabled by default. Turning it off hides stars and favorite actions/suggestions, removes any active Favorites search token, and presents history/search in normal recency order. Saved favorite marks, archive data and retention protection remain intact; turning the feature back on restores favorites presentation.

The store accepts an optional favoritesFirst ordering policy, defaulting to the existing behavior. Disabled favorites use a single bounded window across FTS search and live history, so old favorites cannot bypass paging or move cards around as the window grows. Pinboard order and Paste Stack are retained.

Independent PR; no merge dependencies.

How you tested it

  • All 191 CopyCore tests passed. New tests cover disabled-mode paging/growth, text search, live observation, restored favorite-first ordering, preserved marks/retention and hidden suggestions.

  • Compiled and ran Scripts/Tests/FavoritesSettingsTests.swift with the real SettingsStore: default-on, persistence, and callbacks passed.

  • Xcode Debug build and git diff --check passed.

  • Isolated demo launch checks: enabled mode exposes favorite stars/divider; disabled mode exposes neither and retains Paste Stack and pinboards. Test-only launch harness opens the shelf automatically; it is not included in this PR. Interactive automation of the nonactivating panel is unreliable, so a live settings-toggle interaction is not claimed.

  • Every commit is signed off.

  • Engine changes include tests.

  • All three SPM pins are preserved.

Signed-off-by: Nikolai Berezovskii <nikolai@brzv.sk>
@tarikbc
tarikbc merged commit f5beecb into tarikbc:main Sep 18, 2026
2 checks passed
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.

2 participants