Conversation
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
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.
Move catalog-search exclusion persistence into
CatalogSearchPrefs, keeping bothStorageServiceAPIs as delegates. The existing preference key, JSON handling, empty-set removal, captured profile scope and failure behavior remain unchanged.Based independently on
webdav-syncat077f2e79. 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.