ankidroid / ankidroid/Anki-Android

architecture: how to exclude exceptions from Analytics/Crash Reporting

未关闭
#19,577 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Keep Open
主要语言
Kotlin
星标
11.8k
派生
2.9k
平均合并
2 天 3 小时
30 天内合并 PR
171

描述

I'm not sure where all of that is best placed, so I'll leave that for now

_Originally posted by @BrayanDSO in https://github.com/ankidroid/Anki-Android/pull/19559#discussion_r2553544713_

----

We have 3 places where we perform filtering:

**ThrowableFilterService** - Crash Reporting only

https://github.com/ankidroid/Anki-Android/blob/5904c8a2119351c1e7d93dbd73ab88577a27ca30/AnkiDroid/src/main/java/com/ichi2/anki/servicelayer/ThrowableFilterService.kt#L89-L100

**runCatching { }**
https://github.com/ankidroid/Anki-Android/blob/4e50cdfb63e3e58cb4d2037010edbb51caec60d9/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt#L192-L205

**CrashReportData: only run after runCatching**
https://github.com/ankidroid/Anki-Android/blob/4e50cdfb63e3e58cb4d2037010edbb51caec60d9/AnkiDroid/src/main/java/com/ichi2/anki/CoroutineHelpers.kt#L651-L656

We should make an informed decision:

* ACRA-only filtering, or skip analytics as well?
* If we have a generic `runCatching`, should that treat filtering exceptions differently than if an exception is directly passed to `CrashReportService.sendExceptionReport`
* should other metadata/`onlyIfSilent` be settable by callers?

https://github.com/ankidroid/Anki-Android/blob/9be215482bb597c683aa62d03cf5e14bc74354ec/AnkiDroid/src/main/java/com/ichi2/anki/CrashReportService.kt#L287-L292

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。