Conversation
V2 styled string nodes are rendered by ArkUI Text internally. Registering the legacy foreground-draw callback for those nodes can route them through OH_Drawing_TypographyPaint before the paragraph is layout-ready, which spams paragraph-is-not-formatted warnings. Track the styled-string path on KRRichTextView, unregister/skip foreground draw for that path, and reset styled-string state when falling back to the legacy typography path.
Throttle Compose↔Native scroll sync (calc/expand deferral, contentSize dedup, scrollEnd finalize), quantize ArkUI onScroll in fling, and draw RichText when typography is ready during main-thread tasks. Co-authored-by: Cursor <cursoragent@cursor.com>
Quantize ArkUI scroll callbacks and SubcomposeLayout deltas at 0.5px, dedupe content size updates, and flush the final offset on scroll stop. Add OHOS demo cold-start page params and a CanScrollForward repro page. Co-authored-by: Cursor <cursoragent@cursor.com>
…ess test Add a 500-item repeated demo list with Card UI and inspector enabled to reproduce and profile HarmonyOS scroll performance locally. Co-authored-by: Cursor <cursoragent@cursor.com>
Clamp ArkUI scroll-frame-begin offset at nested list edges and skip compose-side expand/offset correction when nestedScroll is configured. Co-authored-by: Cursor <cursoragent@cursor.com>
Only recalculate native content size when contentView main-axis height changes during fling, avoiding ~650 redundant calc calls per gesture while keeping near-bottom and scrollEnd sync unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>
Extend KuiklyScrollTrace with remeasure, frame timing, and offset/drag skip metrics for OHOS scroll stress validation; gate redundant contentOffset and isDragging writes; skip resetViewVisible when unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>
Reviewed-exact: d2cb832 Signed-off-by: Codex-Kuikly-KMP <raft-mobile-codex-kuikly-kmp@mail.build> Signed-off-by: Ark <raft-mobile-ark@mail.build>
Signed-off-by: Jony <jony@mail.build> Co-authored-by: Jony <jony@mail.build>
Wake a retained Kuikly subcompose slot's draw ownership when it is successfully restored from the reusable pool, allowing hidden native descendants to flush visible on the first reactivated frame. Cover same-key and compatible-key reuse, consecutive reuse cycles, and the already-active no-op path through the real precompose/dispose/retrieve state machine. Signed-off-by: MingQi <raft-mobile-mingqi@mail.build>
Wake draw ancestry when a precomposed slot becomes active through real subcompose consumption. Signed-off-by: MingQi <raft-mobile-mingqi@mail.build>
Start staging3 from upstream 2.24.0 while excluding migrations that are not safe or consumed by the fork yet:\n\n- LazyList prefetch/runtime 1.9 bundle: 2487101, 83bdfae, 388f904, fac3e1b\n- dedicated iOS context thread: b20353e\n- pager touch-defer/snap bundle pending lifecycle fixes: 69eebf5\n- PullToRefresh inset shortcut pending fork-safe adaptation: f3c1101\n\nThese can be restored later as independently reviewed feature batches. The current Mobile pin and staging2 are unchanged. Signed-off-by: BiSheng <raft-mobile-bisheng@mail.build>
Replay the net retained fork state from origin/staging2@6a531a57105ee453edcfdc07a54d1bb1b4348431 onto the held Kuikly 2.24.0 baseline at c8f92f0. Preserve fork focus, dispatch, coroutine, text, profiler, and renderer contracts while retaining reviewed upstream Pager content-size, OHOS handled-first/null-safety, Turbo cache lifecycle, and H5 documentation intent. The first parent explicitly holds upstream prefetch/runtime-1.9, dedicated iOS context thread, Pager snap/defer lifecycle, and unsafe PullToRefresh inset changes pending independently repaired intake. Signed-off-by: BiSheng <raft-mobile-bisheng@mail.build>
Replace the upstream half-cent bias with representation-aware hundredth ceiling on Android, Web, iOS, and OHOS. Preserve exact integers/hundredths and the Android 0.00|0.00 null wire value while still preventing measured sizes from rounding down. Add platform fixtures for boundary, non-finite, negative, and rich-text unresolved-width behavior plus a mutation-tested cross-renderer source contract. Signed-off-by: BiSheng <raft-mobile-bisheng@mail.build>
Record frozen upstream/fork coordinates, held upstream material, conflict decisions, retained fork capabilities, and cutover/rollback policy. Add a push-bound staging3 matrix that verifies the audited replay ancestry and first-parent DCO, then runs Linux/Android/Web, hosted iOS, OHOS direct-link, and source-contract gates without publishing artifacts. Signed-off-by: BiSheng <raft-mobile-bisheng@mail.build>
Remove two trailing-space-only lines restored with the held iOS context-thread implementation so the upstream-to-candidate diff passes the exact identity gate. Signed-off-by: BiSheng <raft-mobile-bisheng@mail.build>
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>
Signed-off-by: artin <artin@cat.ms>
Signed-off-by: Ark <raft-mobile-ark@mail.build> Co-authored-by: Ark <raft-mobile-ark@mail.build>
Signed-off-by: artin <artin@cat.ms>
Signed-off-by: Jony <jony@mail.build> Co-authored-by: Jony <jony@mail.build>
Signed-off-by: Quinn Rafferty <quinn.rafferty@hands.build> Co-authored-by: Quinn Rafferty <quinn.rafferty@hands.build>
bytemain
had a problem deploying
to
raft-artifacts-production
August 10, 2026 16:59 — with
GitHub Actions
Failure
bytemain
had a problem deploying
to
raft-artifacts-production
August 10, 2026 17:04 — with
GitHub Actions
Failure
Signed-off-by: Argus <argus@mail.build> Co-authored-by: Argus <argus@mail.build>
Signed-off-by: Argus <argus@mail.build> Co-authored-by: Argus <argus@mail.build>
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.
Purpose
Review-only Draft PR for task #73. This shows the complete net change required to move the bytemain fork from the current
mainbaseline to the auditedstaging3Kuikly 2.24.0 migration candidate.Do not merge this PR until the product cutover strategy is explicitly approved.
staging2and the current Mobile gitlink/HAR remain the production path.Exact coordinates
main@1048ad0189ee4579bd9585d00b9623e3d4d6a125staging3@d37094f3a7e2e105d1959e2509dd1d3c5828f76964d236099ddcaa2e405b98f137851fdc2fc1009fTencent-TDS/KuiklyUI 2.24.0@76a866795903014cfd2d0363ee31ccee7895775estaging2@6a531a57105ee453edcfdc07a54d1bb1b434843125cbc1fa25be4bba0ca800a67762a1f1317c5f25, with real parentsc8f92f053fb60d6fe515b5e986e1c6fe2db775a0and6a531a57105ee453edcfdc07a54d1bb1b4348431(not-s ours)Migration shape
The detailed carried-patch inventory, held commits, conflict decisions, cutover gates, and rollback plan are in
docs/migrations/staging3-2.24.0.md.Exact-head evidence
Dedicated run: https://github.com/bytemain/KuiklyUI/actions/runs/30790072289 — terminal SUCCESS for exact head
d37094f3….916115238459161152385691611523886— 162 / 85 / 2 tests, zero failures or errors91611523880— Xcode 16.2, locked Pods, Kotlin/Native main/tests, native fixtures, production renderer with warnings as errors91611523905— pinned container, fixtures, HAR assembly, fresh AArch64 production direct-link91612353738Review boundary
staging2change.Please review the migration diff and the carried/held decisions. Merge/cutover remains a separate explicit decision.