fix(highlights): staging-test fixes — dialog button, overlay reconciliation, per-verse delete (YPE-1034, PR 4)#287
Draft
cameronapak wants to merge 2 commits into
Conversation
- ui: default button variant now bg-primary/text-primary-foreground (was white-on-white in light theme, making the permission dialog's Continue button invisible). YouVersionAuthButton pins bg-background so its brand surface is unchanged. - ui: retire the optimistic overlay only once a fetch reflects the write, so read-after-write lag no longer flickers a highlight out/back (apply) or resurrects a removed one (remove). - hooks/ui: stop refetching per write; the seam hook coalesces to one refetch per settled batch. - core/ui: send one DELETE per verse instead of a range (range delete is unsupported server-side); docstring updated to stop claiming it. - core styles: fade highlight fills in/out (~250ms, reduced-motion aware). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…re too An adversarial review caught a regression from the refetch coalescing: on ANY failure the whole batch's overlay reverted and no refetch fired, so sub-writes that succeeded server-side vanished from the UI (apply) or resurrected as ghosts (per-verse remove) until the next navigation/write. - runApply / runRemove / the resume-path write now track each sub-write's outcome: succeeded runs/verses register for reconciliation (overlay holds until a fetch reflects them), only truly-failed verses revert. - Exactly one refetch per batch, success or failure, restoring the self-correction the per-write auto-refetch used to provide. - Integration tests for partial apply failure, partial remove failure (no ghosts), and all-fail; the overlay-retirement test now distinguishes retired from still-masking via a divergent server color. - Changeset notes the partial-failure semantics and the accepted concurrent-edit staleness trade-off (pending product sign-off). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: d083ffe The changes in this PR will be included in the next version bump. This PR includes changesets to release 4 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
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.
Description
PR 4 of the YPE-1034 stack (stacked on the PR 3 branch — retarget as layers merge). Fixes five issues found by forensic triage of a real staging test session (Jam recording, console + network capture correlated with code):
defaultvariant wasbg-background+text-primary-foreground= white-on-white in light theme; the permission dialog's Continue button was unusable. Now the standardbg-primarypairing;YouVersionAuthButtonexplicitly pins its old neutral surface (it depended on the broken variant). Verified high-contrast in both themes.JHN.1.2-3) observed failing server-side on staging while POST ranges work; remove now sends one DELETE per verse. Core docstring updated pending API-team confirmation on range-delete support.prefers-reduced-motionhonored) instead of popping.Adversarially reviewed; the review's must-fix (partial batch failure reverted succeeded sub-writes with no refetch, recreating ghost highlights) is fixed in d083ffe with per-sub-write settlement and partial-failure tests.
Verification
865 tests green (core 334, hooks 285, ui 246), typecheck + lint clean, independently verified.
Related Issues
Relates to YPE-1034
Stacked on PR 3 (#286); full stack: #283 ← #285 ← #286 ← this
🤖 Generated with Claude Code