Skip to content

Extract catalog search preferences behind StorageService - #62

Draft
ghbarker wants to merge 1 commit into
varunsalian:webdav-syncfrom
ghbarker:codex/upstream-catalog-search-prefs
Draft

ghbarker wants to merge 1 commit into
varunsalian:webdav-syncfrom
ghbarker:codex/upstream-catalog-search-prefs

Conversation

@ghbarker

@ghbarker ghbarker commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Move catalog-search exclusion persistence into CatalogSearchPrefs, keeping both StorageService APIs as delegates. The existing preference key, JSON handling, empty-set removal, captured profile scope and failure behavior remain unchanged.

Based independently on webdav-sync at 077f2e79. This is one preference owner with public-API tests; there is no key registry, bulk caller migration or settings UI change.

Validation with Flutter 3.44.8 / Dart 3.12.2: 27 public-API tests pass before and after extraction; the final run including existing profile-isolation coverage passes 31 tests. Changed-file analysis reports no issues. Two failures in the broader existing profile source-guard suite reproduce on clean upstream and are not changed or allowlisted here. Native/device behavior is outside this persistence-only verification.

Independent review found no actionable issues. Across this extraction and the separate download-destination extraction, all 12 deliberate behavioral mutations were caught; restored suites passed again.

Combined validation with the other ten proposed slices: 304 focused/integration tests passed and an Android release build succeeded with Flutter 3.44.8 / Dart 3.12.2 / JDK 17. The test and build source trees match. The existing Windows Spotlight golden is excluded from that selection. A separate clean upstream full-suite run has 6,044 passes, 12 skips, 55 failing user tests and one failing teardown hook; this is not a full-suite or GitHub CI pass. Physical-device validation of the upstream ports remains outstanding.

Move the unchanged catalog exclusion key and two method bodies into CatalogSearchPrefs. Keep the public forwarding APIs and per-call ProfilePreferences acquisition. Add public production-path pins for JSON, empty sets, failures, delayed acquisition and profile ownership.

This branch has not been deployed

No deployments
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