GT-3102 Adjust the personalized tools language filter - #4587
Open
tjohnson009 wants to merge 2 commits into
Open
tjohnson009 wants to merge 2 commits into
tjohnson009 wants to merge 2 commits into
Conversation
Give the personalized tools language filter its own persisted setting so the Personalized and All Tools filter selections are independent. The personalized filter defaults to the app language until the user changes it, hides the "Any language" option, and hides the tools available counts in the dropdown, matching the personalization design. The Personalization Paparazzi scenarios now set a selected language to reflect the realistic filter state, those goldens need re-recording. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
tjohnson009
commented
Sep 3, 2026
tjohnson009
left a comment
Contributor
Author
There was a problem hiding this comment.
PR Review: GT-3102 (self-review, pre-push)
Summary
Per-tab persisted language filter selection, app-language default, no "Any language" option, and no availability counts in personalized mode — every ticket bullet pinned by a test.
✅ Looks Good
- Repo-wide ktlint passes; both app unit-test variants and
library:basetests pass - Per-mode setting writes guarded by cross-contamination assertions (
coVerify(exactly = 0)on the opposite key) - The new Settings pair is an exact pattern-copy of its sibling, with a mirrored
SettingsTest - The "Any language" string can never render in personalized mode, including the pre-load blink (matches Lessons)
- Paparazzi Personalization scenarios updated to the realistic selected-language state; All Tools goldens verified untouched
⚠️ Minor
ToolFiltersTestuses the file's pre-existingcreateComposeRule()pattern rather thanrunComposeUiTest— converting the file is a separate chore; the new tests follow local convention.- The 13 Personalization goldens fail verify until the Record Snapshots workflow commit lands on this branch (workflow triggered).
❌ Must Fix
- None
Verdict: APPROVE (posted as comment — self-review)
🤖 Posted by Claude Code
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #4587 +/- ##
===========================================
+ Coverage 53.19% 53.30% +0.10%
===========================================
Files 440 440
Lines 11585 11612 +27
Branches 1960 1970 +10
===========================================
+ Hits 6163 6190 +27
Misses 4839 4839
Partials 583 583 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Resolves GT-3102
Gives the Personalized tools language filter its own persisted setting so the Personalized and All Tools filter selections are independent, per the ticket spec and the Figma design.
Changes
dashboardPersonalizedFilterLocalesetting. Unset resolves to the app language, which satisfies the first-run default with no migration — while the existing All Tools setting keeps its unset = "Any language" behavior.DefaultToolFiltersStateProduceris mode-aware: it reads/writes the per-tab setting, resolves the personalized default, and omits the "Any language" item in personalized mode.LanguageFilterhides the "# Tools available" supporting text in personalized mode, and never renders the "Any language" label there (including the brief state before the stored language loads, matching how Lessons behaves).Intentionally unchanged
🤖 Generated with Claude Code