XuqmGroup
8d97ebf8d8
ci: use Docker agent for Maven build stage on Windows Jenkins
...
Run mvn inside maven:3.9-eclipse-temurin-21 Linux container via Docker
Pipeline plugin; Docker/SSH deploy stages remain on native agent so
Docker Desktop socket is available for image push and SSH for deploy.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 21:42:52 +08:00
XuqmGroup
1d49d97b01
chore: fill real ACR config and fix email SMTP settings
...
- Jenkinsfile: set ACR registry to crpi-n44qjpuucgjt8e8c.cn-beijing.personal.cr.aliyuncs.com
- tenant-service: fix email SMTP to smtp.sina.com port 465 with SSL
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 21:01:20 +08:00
XuqmGroup
161218420c
feat: IM admin APIs, appSecret security, remove SecretKey, CI/CD pipeline
...
- im-service: add admin register user and create group endpoints
- tenant-service: add reveal/reset appSecret with email verification
- tenant-service: remove secretKey from FeatureService (app appKey/appSecret is sufficient)
- tenant-service: service activation now requires ops approval via request-activation
- Add Jenkinsfile for parameterized build → Alibaba Cloud ACR → SSH deploy
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 20:53:48 +08:00
XuqmGroup
f79a27862f
feat(sample): 集成 Sentry 异常监控功能
...
- 添加 Sentry Android SDK 依赖 (版本 8.39.1)
- 在 sample-app 中集成 Sentry 监控插件
- 添加 Sentry 初始化配置到应用 Application 类
- 在 MainActivity 中添加异常上报测试按钮
- 添加闪退测试功能用于验证 Sentry 监控
- 更新 AndroidManifest.xml 配置应用入口点
- 添加新的 gradle wrapper 文件支持项目构建
- 创建 sdk-core、sdk-im、sdk-push、sdk-update 模块基础结构
- 配置各 SDK 模块的 build.gradle.kts 文件
- 更新 libs.versions.toml 添加 Sentry 版本定义
2026-04-24 16:46:38 +08:00
XuqmGroup
3285dfe79c
feat: admin APIs for IM management and version management
...
- ImAdminController: list users (paged), ban/unban, list groups, message stats
- ImMessageRepository: countByAppId, countTodayByAppId
- AppVersionController: unpublish + gray release (grayEnabled, grayPercent)
- RnBundleController: list, unpublish, gray release
- AppVersionEntity/RnBundleEntity: add grayEnabled, grayPercent fields
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 16:16:33 +08:00
XuqmGroup
37f34876be
feat(im): Redis Pub/Sub 集群广播,支持水平扩展
...
架构变更:
- 新增 cluster/ClusterMessage.java:消息信封 record
- 新增 cluster/ImClusterPublisher.java:发布到 Redis im:broadcast 频道
- 新增 cluster/ImClusterListener.java:订阅 Redis,转发给本地 WS 会话
- 新增 config/RedisClusterConfig.java:注册 Redis 监听容器
- 修改 MessageService:send/revoke 改用 ImClusterPublisher 替代直接推送
集群路由原理:任意节点收到消息 → 写 DB → 发布 Redis →
所有节点监听并尝试推送 → 只有持有目标 session 的节点实际送达
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 15:08:54 +08:00
XuqmGroup
94aa4001d3
feat(im-service): 添加群组 HTTP API (GroupController)
...
- POST /api/im/groups:创建群组(含成员列表)
- GET /api/im/groups:按 appId 列出群组
- POST /api/im/groups/{groupId}/members:添加成员
- DELETE /api/im/groups/{groupId}/members/{targetUserId}:移除成员
ImGroupService 已有实现,仅补充 controller 层
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:14:47 +08:00
XuqmGroup
8fe4ae99cc
feat: finalize backend deployment and api docs
2026-04-24 10:42:11 +08:00
XuqmGroup
05c9639523
config: use remote MySQL(39.107.53.187) and Redis(redisdev.xuqinmin.com)
2026-04-21 23:11:05 +08:00
XuqmGroup
3e81034c11
docs: add detailed documentation
2026-04-21 22:25:31 +08:00
XuqmGroup
a719c08a5a
chore: initial commit
2026-04-21 22:07:29 +08:00