Bump Compose BOM and Paparazzi, drop the snapshot diff threshold, re-record goldens - #1795
Conversation
|
@coderabbitai review |
PR checklist ✅All required conditions are satisfied:
🎉 Great job! This PR is ready for review. |
✅ Action performedReview finished.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Team Run ID: ⛔ Files ignored due to path filters (161)
📒 Files selected for processing (27)
💤 Files with no reviewable changes (25)
Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review. WalkthroughThe pull request updates Compose and Paparazzi versions, refreshes a generated API accessor name, and removes the shared custom Paparazzi difference threshold from Compose snapshot tests. ChangesCompose and Paparazzi updates
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This PR updates Compose and Paparazzi versions, removes a platform-specific snapshot threshold, and refreshes snapshot filenames without reported UI changes; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.) Full details: Description checkExplanation The description includes the goal, implementation details, issue reference, testing steps, validation results, and rationale for the golden changes. The UI Changes, contributor checklist, reviewer checklist, and GIF sections are not completed, but these omissions do not prevent the description from being mostly complete. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
SDK Size Comparison 📏
|
40d0ee3 to
7a5ff80
Compare
…ldens - androidxComposeBom 2024.11.00 -> 2025.08.01 and paparazzi 1.3.4 -> 1.3.5, matching the chat SDK. - Remove MAX_PERCENT_DIFFERENCE: the 0.5 threshold only existed because Paparazzi 1.3.4 antialiased fonts differently between macOS (recording) and Linux (CI verification). Paparazzi now runs with its default threshold. - Re-record all 159 goldens. Paparazzi 1.3.5 names snapshot files with underscores instead of spaces, so every file is deleted and re-added. The new images are pixel-identical to the old ones; the BOM bump caused no visual change.
7a5ff80 to
72a7fb4
Compare
The preview call's duration flow emits its first value after a one second delay, so the first test in a class captured either the title or "0s" in the call app bar, depending on JVM warm-up. previewCall now keeps the duration flow collected and waits for its first value once, so every composition sees the same value. Snapshot structure: - Full screens use two files (light and dark); the two-half helpers are for components only, since a full-screen composable takes the whole height and hides the second half. Applied to the call participants list. - The two-half helpers take a background color, used by the livestream overlay test to stand in for the video it is drawn over. - The livestream backstage pair is merged into one two-half snapshot. - The deprecated CallContent overload gets its dark variant.
|



Goal
Closes AND-1472
Prepare the develop-v2 build for the design refresh: bump the Compose BOM and Paparazzi to the versions the chat SDK runs, drop the platform diff threshold, and re-record the snapshot goldens once before the redesign starts. This keeps the redesign's snapshot diffs purely about design.
Implementation
androidxComposeBom2024.11.00 to 2025.08.01 andpaparazzi1.3.4 to 1.3.5, matching the chat SDK (which also runs this stack on compileSdk 35).MAX_PERCENT_DIFFERENCEfromPaparazziComposeTest.ktand themaxPercentDifferenceargument from the 25 snapshot test classes. The 0.5 threshold only covered the font antialiasing difference between macOS (recording) and Linux (CI) on Paparazzi 1.3.4. Paparazzi now runs with its default threshold.apiDump: one syntheticComposableSingletonslambda hash changed in the ui-compose api file. This is a Compose compiler artifact of the bump, not an API change.Testing
Reviewer steps:
./gradlew :stream-video-android-ui-compose:verifyPaparazziDebuglocally. Expected: green with the default threshold.Validation run locally on the rebased head:
./gradlew spotlessCheck apiCheck testDebugUnitTest: green (detektis not applied in this repo)../gradlew :stream-video-android-ui-compose:recordPaparazziDebugandverifyPaparazziDebug: green.