replay(staging3): carry staging2 #110–#117 onto the 2.24 baseline - #122
Merged
Conversation
Dirty restored lazy descendants and force their draw ancestry after offscreen visibility is restored. Cover the real native mount, placement, restore, and clean-leaf lifecycle with production-callsite mutation teeth. Signed-off-by: MingQi <raft-mobile-mingqi@mail.build> (cherry picked from commit c5730e2) Signed-off-by: CC-希乐 <raft-mobile-cc-xile@mail.build>
Preserve child content for bare draw nodes, route view-aware fallback through ordinary draw overrides, and retain explicit view-aware precedence. Add behavior coverage for all three implementer classes and a self-testing production-wiring constraint for LayoutNodeDrawScope.drawDirect. Signed-off-by: MingQi <raft-mobile-mingqi@mail.build> (cherry picked from commit 461bbe5) Signed-off-by: CC-希乐 <raft-mobile-cc-xile@mail.build>
Signed-off-by: BiSheng <raft-mobile-bisheng@mail.build> Co-authored-by: BiSheng <raft-mobile-bisheng@mail.build> (cherry picked from commit 1547d16) Signed-off-by: CC-希乐 <raft-mobile-cc-xile@mail.build>
Task Tencent-TDS#183: synchronize Compose offset after native viewport changes. Reviewed exact: 175c8ac Independent review: task Tencent-TDS#205 FINAL FULL-SEAT PASS / 0 blocker. Hosted exact matrix: 30852685305. Signed-off-by: MingQi <mingqi@mail.build> (cherry picked from commit 8190595) Signed-off-by: CC-希乐 <raft-mobile-cc-xile@mail.build>
Signed-off-by: Android-Developer-1 <raft-mobile-android-developer-1@mail.build> Co-authored-by: Android-Developer-1 <raft-mobile-android-developer-1@mail.build> (cherry picked from commit dbc3830) Signed-off-by: CC-希乐 <raft-mobile-cc-xile@mail.build>
Signed-off-by: Jony <jony@mail.build> Co-authored-by: Jony <jony@mail.build> (cherry picked from commit 7404576) Signed-off-by: CC-希乐 <raft-mobile-cc-xile@mail.build>
Signed-off-by: KMP-专家 <raft-mobile-kmp-expert@mail.build> Co-authored-by: KMP-专家 <raft-mobile-kmp-expert@mail.build> (cherry picked from commit c7a0212) Signed-off-by: CC-希乐 <raft-mobile-cc-xile@mail.build>
Keep the active programmatic scroll target aligned with the native scroller when a viewport shrink commits a smaller frame. Preserve owner fencing across synchronous native echoes, lock the behavior with a renderer-level regression fixture, and remove the obsolete source-code assertion gate. Signed-off-by: MingQi <mingqi@mail.build> (cherry picked from commit d691975) Signed-off-by: CC-希乐 <raft-mobile-cc-xile@mail.build>
Member
Author
|
Independent review: PASS / 0 blocker for merging this PR into Frozen candidate:
Replay integrity:
Fresh exact Hosted proof:
Scope boundary: this verdict permits only the reviewed replay into |
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.
Per artin's directive in #Kuiklybase (task #95): replay staging2's post-freeze fixes onto staging3 one by one, skipping anything the 2.24 upstream baseline already fixes equivalently.
Equivalence verdict: upstream has NONE of them — all 8 carried
Each defect site was inspected on staging3 before picking and found in pristine pre-fix shape (every cherry-pick applied with exact context, which independently confirms the site state):
KRKeyboardModulehas no height replay to replacement listeners and no main-thread enforcement (fix(android): replay IME height to replacement listeners #114, fix(android): enforce keyboard registry main thread #116 needed — keyboard-stuck-inset family)KRSelectableTextView.mhas no detach dismissal (fix(ios): dismiss selectable text menu on detach #115 needed)KNode/SubcomposeLayoutcarryinvalidateDrawForReusewithout ancestry wake and the old inline offset correction (fix(compose): redraw restored lazy descendants #110, fix(compose): synchronize offset after viewport changes #113, fix(compose): replay pending offset after viewport shrink #117 needed — draw/offset family)DrawModifierNodehas the emptydraw()default and view-aware fallback todrawContent()(fix(compose): honor ordinary draw modifiers in view dispatch #112 needed)Verification
git patch-id --stableidentical to their staging2 originals (c5730e28,461bbe5f,1547d162,81905958,dbc38307,74045764,c7a02127,d691975d); provenance is recorded per-commit via(cherry picked from commit …)and original sign-off trailers are preserved.tools/check-staging3-migration.py --expected-head 473de9a8…→staging3_migration=passlocally;git diff --checkclean.KNodeViewportShrinkPendingOffsetTest,KeyboardHeightListenerRegistryTest,DrawModifierNodeViewDispatchTest, arbiter suites) — PR CI executes them against the 2.24 baseline.Note: the full staging3 exact matrix (iOS/OHOS fixtures) runs on push to staging3 or via workflow_dispatch with
expected_sha; it can be dispatched on this head pre-merge if wanted.🤖 Generated with Claude Code