XuqmGroup
|
2b975c990a
|
fix(docker): 移除 BuildKit cache mount,兼容无 buildx 的标准 Docker
--mount=type=cache 语法需要 BuildKit/buildx 支持,
生产服务器无 buildx 插件导致每次构建实际使用旧缓存层。
移除该指令后可用标准 docker build 正常编译。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-15 00:06:36 +08:00 |
|
XuqmGroup
|
ac35f7e2fb
|
fix(update): 修复华为上传URL NPE及提交批次超时限制
- submitToHuawei: urlList 字段做防御性处理,找不到时降级到 data,
同时输出实际响应内容方便排查
- executeSubmitAsync: allOf.join() 改为 get(20, MINUTES),
防止大文件上传卡住时批次线程永久阻塞
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-14 23:58:10 +08:00 |
|
XuqmGroup
|
1a18925034
|
feat: 厂商应用商店提交功能完善及push用户管理
update-service:
- 修复华为 appId 解析 NPE(支持直接从响应体顶层读取 value 字段)
- 修复 OPPO 更新描述不足5字符时自动补空格
- 修复 VIVO 签名中文字符需 URL 编码
- 修复 RestTemplate 无超时(30s连接/5min读取)
- AppVersionEntity 添加 grayCallbackUrl 字段
tenant-service:
- FeatureServiceController switch 添加 FILE 分支(修复编译错误)
- FeatureServiceManager 添加 buildFileConfig 方法
- AppController 添加应用用户列表代理端点
- AppUserClient 新增 IM/Push 用户列表客户端
push-service:
- 新增 PushUserEntity/PushUserRepository/PushAccountService
- 新增 PushAuthController(内部鉴权接口)
- PushManagementController 添加用户管理接口
- PushAppSecretClient 对接 tenant-service 鉴权
im-service:
- ImAccountRepository/ImAccountService 添加用户搜索接口
- ImAdminController 添加管理端用户列表
- InternalPresenceController 完善在线状态接口
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-14 23:40:35 +08:00 |
|
XuqmGroup
|
340a54623b
|
fix: add --platform to docker pull and handle pull failure
|
2026-05-14 15:37:19 +08:00 |
|
XuqmGroup
|
11092165b5
|
fix: add --platform=linux/amd64 to Jenkinsfile for cross-platform build
|
2026-05-14 15:29:19 +08:00 |
|
XuqmGroup
|
0a245d21bf
|
fix: add --platform=linux/amd64 to Dockerfile for cross-platform build
|
2026-05-14 15:22:18 +08:00 |
|
XuqmGroup
|
780f7310a8
|
fix: add im-sdk module to parent pom.xml to fix Maven build
|
2026-05-14 14:39:08 +08:00 |
|
XuqmGroup
|
71929fef67
|
docs(deploy): 添加完整的部署文档和配置示例
- 新增 compose.production.yaml 和 compose.production.server.yaml 部署配置
- 添加 nginx.dev.xuqinmin.com.conf 和 nginx.sentry.xuqinmin.com.conf 反向代理配置
- 创建详细的部署指南文档 deploy/README.md,涵盖架构设计和部署步骤
- 添加前端访问文档 web/README.md,包含线上地址和接口说明
- 补充平台文档总览 README.md,整合各模块文档入口
- 配置多服务容器化部署,包括 tenant-service、im-service、push-service 等
- 设置外部数据库和 Redis 连接配置,确保服务间正确通信
- 配置 WebSocket 和 API 路由转发规则,支持实时通信和版本更新服务
|
2026-05-09 14:53:42 +08:00 |
|
Jenkins CI
|
d54bfe25f1
|
ci(jenkins): optimize Jenkinsfile for Windows node
|
2026-05-08 18:47:01 +08:00 |
|
XuqmGroup
|
cf2013a52d
|
feat(im): 添加平台事件通知功能支持应用审核状态实时更新
- 新增 ImPlatformEventController 提供令牌获取接口
- 新增 InternalImPlatformEventController 处理内部通知请求
- 实现 ImPlatformEventService 核心服务逻辑包括令牌签发和消息推送
- 添加 StoreReviewImNotifier 在更新服务中触发审核状态变更通知
- 在前端平台中集成实时审核状态更新功能
- 配置各项目环境版本管理文件 (.java-version, .nvmrc)
- 更新 Docker 忽略文件和 Maven 配置以优化构建流程
|
2026-05-08 18:32:46 +08:00 |
|
XuqmGroup
|
dc1ada94ea
|
docs(deploy): 添加部署文档和安全设计规范
- 新增 XuqmGroup 部署文档,包含部署方案、架构建议和部署步骤
- 添加安全设计规范,涵盖密码安全、AppSecret验证和服务端API认证
- 补充平台REST API规范,定义Server-to-Server调用接口和错误码
- 创建Java IM服务端SDK计划文档,规划Maven包发布和接口实现
|
2026-05-08 18:32:00 +08:00 |
|
XuqmGroup
|
0385b2010a
|
feat(update): 添加应用更新检查功能支持用户ID参数
- 在UpdateApi接口中新增可选的userId查询参数
- 新增UpdateSDK对象用于统一管理应用更新逻辑
- 实现应用版本检查、下载安装和APK文件处理功能
- 添加下载URL规范化处理逻辑
- 在Flutter SDK中新增update模块实现跨平台更新功能
- 在iOS SDK中新增UpdateSDK类提供应用更新检查接口
- 支持Android和iOS平台的应用商店跳转功能
- 添加React Native SDK的更新检查和插件注册功能
- 实现RN Bundle的检查、下载和缓存机制
|
2026-05-08 12:00:33 +08:00 |
|
XuqmGroup
|
3e55e9d9b6
|
fix: expose appKey on service activation requests
|
2026-05-08 10:22:39 +08:00 |
|
XuqmGroup
|
9bb9868d31
|
docs: align api guide with appKey identity
|
2026-05-08 10:18:20 +08:00 |
|
XuqmGroup
|
493bb73f5a
|
feat: use appKey as app identifier in tenant service
|
2026-05-08 10:09:22 +08:00 |
|
XuqmGroup
|
77dafd76bf
|
chore: sync local changes
|
2026-05-07 19:39:42 +08:00 |
|
XuqmGroup
|
9cb352bb99
|
fix(push): 修复小米推送 restricted_package_name 硬编码问题
从推送配置中读取 Android 包名,配置缺失时记录警告并跳过推送,
不再使用 com.example.app 占位值导致推送无法送达。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-06 08:22:57 +08:00 |
|
XuqmGroup
|
538022b5f0
|
feat(im/push): 互踢配置与推送可达设备精选
新增三种多端登录模式(MULTI_DEVICE_FREE / SAME_PLATFORM_ONE /
SINGLE_DEVICE),在 WebSocketConfig CONNECT 时提取 appId 并存入
auth details;ImSessionKickListener 监听 SessionConnectedEvent,
向已有会话发送 KICKED 系统消息实现服务端告知踢线。
PushDispatcher.selectTargets 按登录模式精选推送设备:自由模式取
每厂商最新设备,相同平台踢旧模式取每平台最新设备,单设备模式只
取全局最新设备。TenantImConfigClient / ImFeatureConfigClient 同步
支持新配置字段,并向后兼容旧 allowMultiDeviceLogin boolean。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-06 07:16:39 +08:00 |
|
XuqmGroup
|
7dc00f18bf
|
feat(push): 添加租户侧推送管理接口
新增 PushManagementController,提供 /api/push/admin/** 接口供
租户平台查询用户设备在线状态、设备登录日志及发送测试离线推送。
在 PushDiagnosticsService 增加 searchByUserId 方法。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-05 23:17:57 +08:00 |
|
XuqmGroup
|
a408b2b39a
|
feat(push): 添加推送服务功能支持
- 新增推送相关的类型定义,包括消息类型、聊天类型、推送配置等接口
- 实现 HarmonyOS 推送 SDK,集成 HarmonyOS NEXT Push Kit 服务
- 实现 iOS 推送 SDK,支持 APNS 推送注册和消息接收
- 添加服务器端 APNS 推送提供商,支持 JWT 认证和推送消息发送
- 添加服务器端 HarmonyOS 推送提供商基础框架
- 集成推送配置加载和路由功能,支持多渠道推送分类管理
|
2026-05-05 22:26:32 +08:00 |
|
XuqmGroup
|
824f11c7ea
|
feat(push): 添加推送SDK和消息服务实现
- 实现了 Android 推送 SDK,支持华为、小米、Oppo、Vivo、荣耀、FCM 等厂商推送
- 添加了推送配置管理和设备注册功能
- 实现了推送令牌管理和用户绑定功能
- 添加了消息发送、撤回、编辑等核心消息服务功能
- 实现了单聊和群聊消息历史记录管理
- 添加了消息读取回执和群组消息状态同步
- 实现了消息过滤、黑名单和权限控制
- 添加了离线消息推送和消息预览功能
- 实现了消息 Webhook 回调机制
|
2026-05-05 22:16:11 +08:00 |
|
XuqmGroup
|
249da309a3
|
feat(push): 添加推送服务功能支持
- 实现了 ConversationViewModel 来管理对话列表的刷新和状态
- 集成了 FCM 推送服务支持并实现了自动令牌获取机制
- 构建了完整的 PushSDK 推送系统,支持华为、小米、OPPO、VIVO、荣耀等厂商推送
- 添加了推送配置管理和设备注册/注销功能
- 实现了跨平台推送令牌管理和服务绑定逻辑
- 扩展了服务器端功能服务管理器以支持推送服务激活请求流程
|
2026-05-05 22:02:47 +08:00 |
|
XuqmGroup
|
af4492e3aa
|
feat(push): add GlobalExceptionHandler to expose actual error details
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-05-05 19:05:41 +08:00 |
|
XuqmGroup
|
99d6a8d6a4
|
feat(push): 添加多厂商推送集成支持
- 实现了华为 HMS 推送服务集成
- 实现了小米推送服务集成
- 实现了 OPPO 推送服务集成
- 实现了 vivo 推送服务集成
- 实现了荣耀推送服务集成
- 实现了 FCM 推送服务集成
- 添加了统一的厂商推送接口和检测机制
- 添加了推送配置 API 和存储管理
- 添加了推送令牌管理和设备注册功能
- 添加了模拟器环境的推送测试用例
|
2026-05-05 17:54:59 +08:00 |
|
XuqmGroup
|
1baa020b74
|
fix(im): separate SockJS endpoint to /ws/im/sockjs to avoid conflicting with native WebSocket on /ws/im
|
2026-05-03 12:56:40 +08:00 |
|
XuqmGroup
|
3adffb5897
|
fix(im): allow tenant admin to access IM admin APIs (kick, batch-send, read, import, user-state)
- Change @PreAuthorize from hasAuthority('ROLE_OPS') to hasAnyAuthority('ROLE_OPS', 'ROLE_TENANT') for 5 daily-operation endpoints
- Keep sensitive endpoints (delete, config, webhook) ROLE_OPS only
|
2026-05-03 11:23:15 +08:00 |
|
XuqmGroup
|
a8293bb4c4
|
feat: Java SDK baseUrl 内置默认值;fix: update-service 大文件APK解析、file-service hash去重
|
2026-05-03 11:00:12 +08:00 |
|
XuqmGroup
|
d2dea0c332
|
feat(android-sdk): 添加完整的IM客户端SDK实现
- 实现了Android SDK的完整IM功能接口,包括消息、群组、好友、会话等核心功能
- 添加了消息收发、历史记录、撤回编辑等完整的消息操作能力
- 实现了群组管理功能,包括创建、成员管理、权限设置等操作
- 添加了好友关系链管理,支持添加、删除、分组等操作
- 实现了会话管理功能,包括置顶、免打扰、已读状态等
- 添加了黑名单、资料管理、搜索等辅助功能
- 补齐了批量操作接口,提升客户端操作效率
- 实现了WebSocket连接管理和事件监听机制
- 添加了离线消息同步和状态管理功能
|
2026-05-02 22:57:55 +08:00 |
|
XuqmGroup
|
d27607d14e
|
fix: update-service actuator config; align login model
|
2026-05-02 12:53:15 +08:00 |
|
XuqmGroup
|
d22d5f7687
|
docs(project): 更新需求与开发进度对比报告并完善Android SDK接口定义
- 添加了完整的XuqmGroup平台需求与开发进度对比报告
- 实现了Android SDK的ImApi接口定义,涵盖群组、好友、黑名单等完整功能
- 定义了IM消息、会话、群组、用户资料等核心数据模型
- 实现了Android SDK的ImSDK核心功能类,包括连接管理和消息处理
|
2026-05-02 12:30:31 +08:00 |
|
XuqmGroup
|
15466d4e2b
|
docs: 添加 SDK API 重设计、安全设计规范和测试进度跟踪文档
- 新增 SDK API 重设计规范文档,统一各端 SDK 初始化、登录、消息接口
- 新增安全设计规范文档,涵盖密码安全、AppSecret 验证、令牌存储等安全要点
- 新增 Bug 跟踪记录文档,记录已修复问题和开放问题
- 新增测试进度跟踪文档,记录各模块测试覆盖情况和验证结果
|
2026-05-02 11:45:43 +08:00 |
|
XuqmGroup
|
6d1d2ec634
|
docs(deploy): 添加部署文档并更新SDK API设计规范
- 新增完整的XuqmGroup部署文档,包含服务器配置、Docker Compose部署策略
- 更新SDK API重设计规范至V2.0,统一各端SDK初始化和登录接口
- 添加安全设计规范文档,涵盖密码安全、AppSecret验证等内容
- 新增离线推送架构设计文档,定义厂商推送集成方案
- 重构SDK登录流程,统一使用userId + userSig鉴权模式
- 移除dbName等外部配置参数,实现零感知平台地址配置
- 完善部署架构图和配置示例文件
|
2026-05-02 11:29:49 +08:00 |
|
XuqmGroup
|
edd2adc5aa
|
feat(sdk): add new admin APIs to Java SDK
- queryUserState
- kickUsers
- batchSendMessage
- adminSetMsgRead
- importMessages
- checkFriends
- modifyGroupMemberInfo
Also add FriendCheckResult and ImportMessageRequest models.
|
2026-05-01 23:25:57 +08:00 |
|
XuqmGroup
|
3f4d78f175
|
feat: 补充后端API对齐腾讯IM
新增API:
- GET /api/im/admin/users/state - 查询用户在线状态
- POST /api/im/admin/users/kick - 强制用户下线
- POST /api/im/admin/messages/batch-send - 批量发消息
- POST /api/im/admin/messages/read - 管理员设置消息已读
- POST /api/im/admin/messages/import - 导入历史消息
- POST /api/im/friends/check - 校验好友关系
- PUT /api/im/groups/{groupId}/members/{userId}/info - 修改群成员资料
新增字段:
- ImGroupEntity.memberInfo - 群成员资料(JSON)
修复编译import错误
|
2026-05-01 23:13:09 +08:00 |
|
XuqmGroup
|
b25b4746e9
|
feat(server-sdk): 移除服务端SDK的login方法,服务端SDK不应包含登录概念
|
2026-05-01 22:59:28 +08:00 |
|
XuqmGroup
|
1e53a12a46
|
chore: 更新所有服务的 JWT 过期时间为永久有效(≈100年)
|
2026-05-01 22:22:37 +08:00 |
|
XuqmGroup
|
83cf9541e7
|
feat: 简化 IM 登录接口,JWT 永久有效,离线推送同步化
- /api/im/auth/login 移除 nickname/avatar 参数
- AppRequestSignatureUtil.payload 简化签名(不含 nickname/avatar)
- JwtUtil 默认过期时间改为极大值(≈100年)
- ImAccountService.validateSignature/loginOrRegister 适配
- DemoAuthService.callImServiceLogin 不传 nickname
- XuqmImServerSdk.login() 签名方法同步简化
- ImPushBridge 改为批量同步调用 /api/push/internal/notify
- PushDispatcher 移除 @Async
|
2026-05-01 22:18:54 +08:00 |
|
XuqmGroup
|
dd465becea
|
feat(sdk): 更新 SDK 设计文档和 API 重构
- 添加 expiresAt 和 refreshUserSig 参数支持自动续签
- 修改 PushSDK 初始化方式,自动完成设备注册和厂商初始化
- 调整过期续签策略,从提前 15 分钟改为提前 5 分钟触发
- 重构 RN SDK 文档结构,简化安装和使用方式
- 更新统一登录流程,支持 profile 信息传递
- 添加 IM 数据库自动隔离功能
- 修复 Android 群消息聚合问题
- 补充自动化测试验证和错误处理机制
|
2026-05-01 21:27:39 +08:00 |
|
XuqmGroup
|
8c7528c3e9
|
docs(testing): 添加测试文档和修复多个平台SDK问题
- 新增 BUG_TRACKER.md 记录已修复和开放的bug
- 新增 TEST_EXECUTION_2026-04-30.md 自动化测试执行报告
- 新增 TEST_PROGRESS.md 测试进度跟踪文档
- 修复 Android SDK connectedCheck 内存不足问题
- 修复 Android sample-app CAMERA 权限 lint 失败
- 修复 Android UpdateSDK longVersionCode minSdk lint 失败
- 修复 RN Chat Demo Jest 无法解析本地 SDK 源码包
- 修复 Python Server SDK 回调消息解析与顶层导出错误
- 修复 Vue3 SDK package exports 条件顺序警告
- 修复 im-service 群消息不进入会话聚合列表问题
- 修复 im-service 对外时间字段单位不一致问题
- 修复 RN SDK 历史消息 upsert 丢失回推状态问题
- 修复 Android 黑名单操作静默失败问题
- 修复 AppSecret 调用无鉴权安全问题
- 修复 IM Token 无过期信息问题
- 修复 RN SDK 草稿同步服务端数据污染问题
- 修复 Vue3 SDK 撤回编辑后依赖 WS 刷新延迟问题
- 修复 im-service 消息摘要不支持媒体类型问题
|
2026-04-30 16:54:10 +08:00 |
|
XuqmGroup
|
ca5fa5720b
|
feat(chat): 实现聊天界面功能并完善文档说明
- 新增AttachmentRepository处理图片、视频、音频、文件发送功能
- 实现AuthRepository管理用户认证和会话状态
- 添加EnvironmentRepository支持环境配置切换
- 完成ChatScreen界面实现,包含消息收发、媒体文件处理
- 更新设计文档补充Android聊天页历史加载和测试验证说明
- 添加联系人黑名单错误信息返回和IM验证流程调整说明
|
2026-04-30 14:59:47 +08:00 |
|
XuqmGroup
|
f6c06db04b
|
feat(deploy): 添加生产环境部署配置和联调环境切换功能
- 新增 .env.production.example 配置文件,包含所有微服务的数据库和Redis配置
- 添加 compose.production.yaml Docker Compose部署文件,定义web和各服务容器
- 实现Android SDK环境切换功能,支持外部服务和本地联调模式切换
- 添加推送注册状态管理和接收开关设置界面
- 集成演示服务的应用密钥客户端和认证服务实现
- 完善文档说明各SDK模块的集成和使用方法
|
2026-04-30 11:47:01 +08:00 |
|
XuqmGroup
|
32b0e49e61
|
docs(deploy): 添加生产环境部署配置示例和部署文档
- 新增 .env.production.example 环境变量配置模板
- 添加 compose.production.yaml Docker Compose 部署配置
- 创建 web.Dockerfile 前端构建部署文件
- 编写详细的 README.md 部署文档,涵盖架构、配置、步骤等内容
- 添加离线推送架构设计文档
- 更新 IM 多平台进度跟踪文档
|
2026-04-30 09:49:05 +08:00 |
|
XuqmGroup
|
93311f1739
|
feat(sdk): 添加鸿蒙SDK核心功能模块
- 实现SDKContext用于配置管理和数据持久化存储
- 定义完整的类型系统包括消息、用户、群组等接口
- 集成更新SDK支持原生应用和RN热更新检查
- 提供统一的XuqmSDK入口类和模块导出
- 编写详细的开发文档和使用示例
|
2026-04-29 19:08:13 +08:00 |
|
XuqmGroup
|
f5a1eb4470
|
docs(sdk): 添加 React Native SDK 文档和 Android/HarmonyOS 发版脚本
- 新增 XuqmGroup React Native SDK 使用文档,包含安装、初始化、HTTP客户端、IM模块、推送模块、版本管理等功能说明
- 添加 Android Gradle 发版任务脚本,支持构建发布 APK 并上传到更新服务
- 添加 HarmonyOS hvigorw 发版任务脚本,支持 HAP 包构建和上传功能
- 实现多平台版本检查、自动重连、灰度发布等发版流程自动化
- 集成商店提交、定时发布、Webhook 回调等发布后处理功能
|
2026-04-29 17:35:52 +08:00 |
|
XuqmGroup
|
d13c6c9bc5
|
docs(api): 添加联调接口文档并实现功能服务管理
- 创建了完整的 API 联调文档,包含各服务地址、ID 约定和鉴权规则
- 实现了 FeatureServiceManager 用于管理服务激活和配置功能
- 添加了安全配置确保各服务间正确的身份验证机制
- 定义了统一的响应格式和错误码处理规范
- 集成了 IM、推送和更新服务的管理接口实现
|
2026-04-29 16:07:22 +08:00 |
|
XuqmGroup
|
c3968e808d
|
docs(sdk): 添加 Android SDK 文档和 API 设计规范
- 新增 Android SDK 使用文档,包含模块结构、集成方式和快速开始指南
- 添加 SDK API 重设计规范,统一初始化和登录接口设计
- 补充安全设计规范,完善 UserSig 鉴权和敏感数据处理方案
- 创建平台 REST API 规范,定义服务端到服务端的调用接口
- 添加离线推送架构设计,集成各大厂商推送服务与 IM 联动方案
|
2026-04-29 15:46:40 +08:00 |
|
XuqmGroup
|
d7f5fd02c2
|
docs(server): 添加服务器信息记录和联调接口文档
- 创建信息记录文档,包含项目管理要求、产物范围、Git仓库、制品仓库信息
- 添加服务器部署信息,包括应用服务器、MySQL/Redis服务器、Jenkins服务配置
- 记录邮件服务、DNS/HTTPS证书配置及安全备注
- 创建API联调文档,包含线上入口、ID约定、初始化管理员账号信息
- 添加统一响应格式、常见错误码、鉴权规则说明
- 提供核心接口清单,涵盖tenant-service、im-service、push-service等服务
- 补充curl示例,包含运营平台登录、IM登录、会话管理等操作示例
- 实现会话控制器,支持置顶、免打扰、标记已读、草稿等功能
- 添加全局异常处理器,统一处理业务异常和参数校验错误
- 创建IM管理控制器,提供用户管理、好友请求、黑名单等管理功能
|
2026-04-29 12:33:25 +08:00 |
|
XuqmGroup
|
b89cd35b15
|
feat(im): add tenant admin edit flows
|
2026-04-29 10:04:17 +08:00 |
|
XuqmGroup
|
eae18723a5
|
feat(update): add app store distribution — store config, server-side submission, scheduled publish, webhook
feat(im): expand IM API with friends, groups, admin ops, operation logging
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-04-29 00:34:17 +08:00 |
|
XuqmGroup
|
30a9f71eac
|
feat(chat): 添加聊天界面视图模型和联系人管理功能
- 实现 ChatViewModel 处理消息收发、历史记录加载和状态管理
- 添加消息搜索、草稿保存、引用回复等功能
- 实现多媒体附件发送包括图片、视频、音频和文件
- 添加群组提及用户功能和消息撤回机制
- 实现联系人管理功能包括好友搜索、添加、删除和黑名单管理
- 添加好友请求处理和实时消息监听
- 实现会话列表管理包含未读消息统计和实时更新
- 集成 IM SDK 的连接状态管理和事件监听
- 添加消息状态跟踪和超时处理机制
- 实现数据缓存机制优化用户体验
|
2026-04-28 22:32:21 +08:00 |
|