getsentry / getsentry/sentry-java
Incorrect Canvas Replay
- 主要語言
- Kotlin
- 星號
- 1.4k
- 分支
- 478
- 平均合併
- 3 天 4 小時
- 30 天內合併 PR
- 72
描述
### Integration
sentry-android
### Build System
Gradle
### AGP Version
na
### Proguard
Enabled
### Other Error Monitoring Solution
No
### Version
na
### Steps to Reproduce
Quoting https://github.com/getsentry/sentry-java/issues/4696#issuecomment-4143657713
> Don't know how to share the replay, so I just did a screen record. Both are clicking on TabRow Item, which changes the screen in Pager, and then clicking the Toolbar icon to pop up BottomSheet. The canvas strategy completely misses out.
PixelCopy: [github.com/user-attachments/assets/4f8eb841-4f2c-4127-9895-7651df24d7b5](https://github.com/user-attachments/assets/4f8eb841-4f2c-4127-9895-7651df24d7b5)
Canvas: [github.com/user-attachments/assets/42f9968c-68c2-4afa-83ea-9dff7361b621](https://github.com/user-attachments/assets/42f9968c-68c2-4afa-83ea-9dff7361b621)
> The Compose hierarchy on the screen is as follows:
```CompositionLocalProvider // Theme — LocalExtendedColors/Typography/Dimensions
androidx.compose.material.MaterialTheme // M2
MaterialTheme // M3
CompositionLocalProvider // Bottom Sheet Content Provider, plus more CompositionLocalProviders
Scaffold
NavHost
Scaffold
Column
TabRow
HorizontalPager
NavigationBar
ModalBottomSheet
Worth mentioning, we have two Scaffolds and two MaterialThemes (M2 and M3).
```
> Let me know if I should create a separate issue for the canvas.
### Expected Result
Correct representation of replay in canvas mode.
### Actual Result
Incorrect representation of replay in canvas mode.
貢獻指南
研究方向
從 sentry-android integration 開始,重現所描述的 Compose 階層,並針對 TabRow、HorizontalPager 和 ModalBottomSheet 流程比較 Canvas 模式與 PixelCopy。Canvas 回放能正確呈現畫面變化,並與此互動的預期結果一致,即表示完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- android, kotlin
- 領域
- mobile
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100