XuqmGroup
|
4acec019f7
|
feat(bugcollect): buildId 支持相同版本多包 sourcemap 与精确符号化
- V6 迁移:log_sourcemaps 新增 build_id 列,唯一键改为
(app_key, platform, app_version, build_id, bundle_name);
log_issue_events 新增 build_id 列
- SourcemapService: 按 buildId 精确匹配,找不到时回退到最新上传
(findFirstByUploadedAtDesc);存储路径包含 buildId 目录
- LogService: 修复 symbolication 事件查找 bug(原使用 issueId 查
event 表,现改为 eventId);事件保存后取返回值获取正确 ID
- LogController/DTO: upload 接口新增可选 buildId 参数;事件批量
上报 DTO 新增 buildId 字段
- tenant-service: 补充 bugcollect-api-url 配置项
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-22 16:49:38 +08:00 |
|
XuqmGroup
|
ff9ccc4447
|
fix: bugcollect V4 拆分为 V4+V5,解决 MySQL 不兼容 ADD COLUMN IF NOT EXISTS 问题
V4: CREATE TABLE IF NOT EXISTS(全部幂等)
V5: ALTER TABLE ADD COLUMN + CREATE INDEX(升级场景需手动处理)
|
2026-06-18 23:56:17 +08:00 |
|
XuqmGroup
|
4a3cb74954
|
fix: bugcollect V4 迁移移除不兼容的 IF NOT EXISTS 语法 + docker-compose 补充 env_file 和密码修复
|
2026-06-18 23:52:22 +08:00 |
|
XuqmGroup
|
7cc0962df2
|
fix(bugcollect): V4 迁移 SQL 修复 ADD INDEX IF NOT EXISTS 语法
MySQL 不支持 ALTER TABLE ADD INDEX IF NOT EXISTS,改用 CREATE INDEX。
已在生产数据库手动修复并标记 Flyway 迁移成功。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-18 13:59:38 +08:00 |
|
XuqmGroup
|
8770f505f7
|
fix(bugcollect): 修复 BugCollect-API-v1-Review 全量37项问题
服务端:
- IssueResponse 移除 isResolved,统一使用 status 字段
- IssueEventResponse 重构为 ExceptionInfo 嵌套结构,breadcrumbs/tags/device 序列化为 Object
- IssueResponse 新增 affectedUsers 字段,通过 log_issue_users 去重计数
- WebhookResponse 将 secret 替换为 hasSecret boolean
- WebhookRequest 新增 secret 字段
- LogWebhookEntity 新增 secret 列
- 新增 LogIssueUserEntity / LogIssueUserRepository 实现 affectedUsers 去重
- LogIssueRepository.findByFilters 新增 assignee、environment 过滤
- LogService.queryIssues 新增 assignee、environment 参数
- LogService.toIssueResponse 修正 IssueResponse 构造(移除 isResolved)
- LogService.toIssueEventResponse 修正 ExceptionInfo 构造,JSON 字段反序列化为 Object
- LogController:assign 改为 @RequestBody;GET /issues 新增 assignee/environment 参数;upload 新增 bundleVersion 参数
- WebhookService:事件类型匹配改为 issue.created/issue.fatal/issue.error/issue.warning/issue.updated;新增 HMAC-SHA256 X-BugCollect-Signature 签名;toResponse 修正为 hasSecret
- SourcemapService:按平台生成正确后缀(.android.bundle.map/.ios.bundle.map);新增 bundleVersion 参数;200MB 大小限制;.map 扩展名校验
- V4 迁移 SQL:log_issue_users 表、log_webhooks.secret 列、log_sessions 表、event_id 索引
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-18 09:26:12 +08:00 |
|
XuqmGroup
|
dcd429c52d
|
feat(bugcollect): 更新 API 端点并改进数据结构
- 将 Android SDK 的 mapping 上传端点从 /log/v1/sourcemaps/upload 更改为 /bugcollect/v1/sourcemaps/upload
- 将 RN SDK 的 API 端点从 /log/v1/ 统一更改为 /bugcollect/v1/
- 在 LogQueue.ts 的请求体中添加 sentAt 时间戳和 SDK 信息
- 重构 BugCollect.ts 中的事件结构,将 appVersion 重命名为 release,添加 environment 和 sdk 字段
- 将 JS 错误上报的类型从 js_error 改为 issue,并调整错误级别分类
- 为 warn 和 info 方法添加完整的 issue 事件结构
- 在 types.ts 中添加新的数据类型定义,包括 Level、Platform、SdkInfo、ExceptionInfo 等
- 为 IssueEvent 添加详细的异常信息结构,包括类型、值和堆栈跟踪
- 添加完整的错误收集 API v1 规范审阅报告文档
- 在数据库迁移脚本中为日志表添加新字段,包括级别、环境、设备信息、SDK 信息等
|
2026-06-17 18:02:10 +08:00 |
|
XuqmGroup
|
198dc7f960
|
feat(bugcollect): implement BugCollect API v1.1.0 full stack
- LogController: 新增 /issues/{id}/events, /issues/{id}/trend, 管理接口
(resolve/ignore/assign/bulk),queryIssues 改用 level/status/q 参数
- LogService: 全面重写,eventId 幂等、breadcrumbs 存储、affectedUsers 计数、
Issue status 管理、getIssueEvents/getIssueTrend 独立接口
- Entity: LogIssueEventEntity 增加 eventId/exceptionType/exceptionValue/breadcrumbs;
LogIssueEntity 增加 status/affectedUsers/assignee;LogEventEntity 增加 eventId
- Repository: LogIssueEventRepository/LogIssueRepository/LogEventRepository 新增
idempotency/filter/trend/bulk 查询方法
- DTO: IssueActionRequest/IssueTrendResponse 新增;IssueResponse/IssueEventResponse 扩展
- V3 migration: log_issue_events/log_issues/log_events 结构升级
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-17 15:30:05 +08:00 |
|
XuqmGroup
|
5b020525ac
|
refactor: xuqm-log-service → xuqm-bugcollect-service
- 目录/包名/API路径/数据库/容器名全部重命名
- 26个Java文件包名 com.xuqm.log → com.xuqm.bugcollect
- API前缀 /log/v1/ → /bugcollect/v1/
- mvn compile 通过
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-16 17:39:13 +08:00 |
|