getsentry / getsentry/sentry-java

Incorrect Canvas Replay

未關閉
#5,317 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
Android Bug Platform: Java Replays Session 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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。