Repository navigation
PANA-8613: Improve composition capture consistency and efficiency - #3977
jonathanmos wants to merge 5 commits into
Conversation
|
✅ All CI checks and tests passed. Datadog automation helped this PR pass. 🎉 All green!🧪 All tests passed 🔄 Datadog retried 1 test - 1 passed on retry 🎯 Code Coverage (details) 🔗 Commit SHA: 0b5f4b7 | Docs | View more details | Give us feedback! |
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 72676e0aa2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
More details
The single-pass capture and worker handoff appear consistent with existing snapshot contracts. Occlusion filtering preserves partial visibility and inherited clipping in the reviewed paths.
🤖 Bits Code Review · Commit f30ee49
a27f444 to
b4e4f19
Compare
Use weak keys for excluded decor views so lifecycle callbacks received while recording is stopped cannot retain removed windows without a refresh loop. Make composition draw listeners hold weak view references as defensive hardening, while preserving explicit removal from the original observer. Existing refresh and stop cleanup released the draw registration graph in baseline tests; the reproduced retention was in the stopped exclusion set. Add 13 retention regressions covering collection, original-observer cleanup, removal failures, stopped activity callbacks, and exclusions across restart. Keep the orchestration test's source view alive until its draw callback. Validation: 480 composition tests, module ktlintCheck, and Detekt passed.
…pshots off-thread
d1b3c6c to
0b5f4b7
Compare
What does this PR do?
Updates the composition-based Session Replay pipeline to:
Motivation
RUM-8613 — improve snapshot consistency, reduce unnecessary processing, and prevent removed windows from being retained.
Additional Notes
Additional Notes
Release-build benchmarks on a test device, using synthetic layouts with 2,500 native views, showed:
Review checklist (to be filled by reviewers)