XuqmGroup
|
3d62a6ed72
|
fix: docx MIME 检测 + Fingerprint 协程帧稳定性
sdk-webview:
选文件时 DISPLAY_NAME 在 vivo content://media/external/file/ URI
上返回 null,导致扩展名推断失效;ContentResolver.getType() 对 .docx
返回 application/msword(错误)→ allowed 检查拒绝文件。
修复:DISPLAY_NAME 为 null 时回退查 MediaStore.DATA 提取文件名;
优先使用扩展名推断的 MIME 而非 ContentResolver 的返回值,
避免厂商 ROM 返回错误 MIME 的干扰。copyUriToWebViewCache 同步修复。
sdk-bugcollect:
Fingerprint.compute 取 top3 stack 帧,Kotlin 协程 dispatcher 的
第 2、3 帧在每次调度时不固定,相同逻辑错误产生不同指纹 → 多条 issue。
修改为 top1(只取抛出点帧),保证同一位置抛出的异常总被归为一条。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-23 15:19:51 +08:00 |
|
XuqmGroup
|
4896f24af8
|
feat(bugcollect): SDK v1.1.0 — 修复 packageName 缺失导致 captureError 静默失败
Root cause: SdkPlatformConfigApi.fetchConfig 未传 packageName → 服务端返回400
→ bugCollectEnabled=false → captureError 是空操作
修复内容:
- SdkPlatformConfigApi: 增加 packageName 查询参数
- SdkPlatformConfig: 修正字段名 bugCollectApiUrl/features.bugCollect
- XuqmSDK: 传入 appContext.packageName,读取 features?.bugCollect
- Fingerprint: 使用 exceptionType(类名)替代 level 字符串,避免同一崩溃按级别分桶
- IssueEvent: 增加 eventId、breadcrumbs、DeviceInfo 扩展字段
- BugCollect: 增加 addBreadcrumb(),captureError/captureCrash 附加面包屑和设备信息
- LogUploader: 序列化 eventId/breadcrumbs/expanded device
- LogQueue: 崩溃恢复使用 exceptionType 重建 fingerprint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-17 15:30:40 +08:00 |
|
XuqmGroup
|
c8a482a5c0
|
refactor: sdk-log → sdk-bugcollect
- 目录/包名/类名/Gradle plugin 全部重命名
- XLog → BugCollect
- logApiUrl/logEnabled → bugCollectApiUrl/bugCollectEnabled
- assembleDebug 通过
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-16 17:39:23 +08:00 |
|