Repository navigation
refactor: replace FeatureFlip tri-state fork with segmented buttons - #160
Open
MaxMichel2 wants to merge 1 commit into
Open
MaxMichel2 wants to merge 1 commit into
MaxMichel2 wants to merge 1 commit into
Conversation
Use native Material3 choices, saved filter state and recoverable empty states. Preserve restored type filters when registrations change and serialize UI saves so delayed persistence cannot reverse click order. Failed I/O offers Retry without changing the persisted selection. Refresh the graph and module docs. Validation: FeatureFlip host tests and 11 device tests passed; Detekt, Konsist, API compatibility and sample debug build passed. Controls inspected in both themes. Native iOS execution and accessibility/font-scale checks not performed.
| for ((name, state) in changes) { | ||
| try { | ||
| featureHandler.setFeatureState(featureName = name, state = state) | ||
| failedChange = null |
There was a problem hiding this comment.
If flag A fails to save and an already-queued write for flag B succeeds, failedChange = null hides A's error and Retry action. setFeatureState only saved B, so A's change is still unsaved. New clicks also clear the error immediately.
Keep failed changes by feature, and clear each one only after that feature saves successfully or the user dismisses it.
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.
Summary
Dependency and scope
Depends on #159 (informational).
Base and description baseline:
refactor/devview-shell-ui-kit. This PR contains only the FeatureFlip layer. Merge order: #157 → #159 → this PR. No history rewriting or gh-stack mutation was performed; squash merges may require a later approved restack.Validation
Local roadmap, graph cache/build state and captures are excluded.
The PR appears safe to merge, with a non-blocking issue where another save can hide Retry for an earlier failure.
Findings
Summary
FeatureFlip replaces its custom remote control with Material3 Remote/Off/On buttons.
Diagram
%%{init: {'theme': 'neutral'}}%% flowchart LR A[User chooses a flag value] --> B[Ordered queue] B --> C[Save named flag] C -->|Success| D[Clear current error] C -->|I/O failure| E[Show error and Retry] E -->|Retry| BReviews (1) · Last reviewed commit: ":lipstick: Replace FeatureFlip tri-state..." · Reviewed by Greptile