徐勤民
69f92836b7
docs(deploy): 添加部署文档和安全设计规范
...
- 新增 XuqmGroup 部署文档,包含部署方案、架构建议和部署步骤
- 添加安全设计规范,涵盖密码安全、AppSecret验证和服务端API认证
- 补充平台REST API规范,定义Server-to-Server调用接口和错误码
- 创建Java IM服务端SDK计划文档,规划Maven包发布和接口实现
2026-05-08 18:31:59 +08:00
徐勤民
7909e4cf66
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
徐勤民
0ca5d43fdb
feat(sdk): 更新 SDK 设计文档和 API 重构
...
- 添加 expiresAt 和 refreshUserSig 参数支持自动续签
- 修改 PushSDK 初始化方式,自动完成设备注册和厂商初始化
- 调整过期续签策略,从提前 15 分钟改为提前 5 分钟触发
- 重构 RN SDK 文档结构,简化安装和使用方式
- 更新统一登录流程,支持 profile 信息传递
- 添加 IM 数据库自动隔离功能
- 修复 Android 群消息聚合问题
- 补充自动化测试验证和错误处理机制
2026-05-01 21:27:39 +08:00
徐勤民
37ca7b75c3
docs(sdk): 添加 Android SDK 文档和 API 设计规范
...
- 新增 Android SDK 使用文档,包含模块结构、集成方式和快速开始指南
- 添加 SDK API 重设计规范,统一初始化和登录接口设计
- 补充安全设计规范,完善 UserSig 鉴权和敏感数据处理方案
- 创建平台 REST API 规范,定义服务端到服务端的调用接口
- 添加离线推送架构设计,集成各大厂商推送服务与 IM 联动方案
2026-04-29 15:46:39 +08:00
徐勤民
53097c5a5c
feat(rn-demo): update chat screens and message bubble components
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 00:37:32 +08:00
徐勤民
069f3454fe
feat(chat): 添加聊天界面和文件更新SDK功能
...
- 实现完整的聊天界面UI组件,支持文本、图片、视频、音频、文件等多种消息类型
- 集成IM消息收发功能,实现消息气泡显示和用户头像占位符
- 添加媒体文件选择和拍摄功能,支持相册图片、视频及相机拍照录像
- 实现语音录制和播放功能,包含按住说话交互和权限处理
- 添加群组提及功能,支持@用户和提及候选列表显示
- 实现消息回复和引用功能,支持消息长按回复操作
- 添加本地消息搜索功能,支持搜索当前会话的历史消息
- 实现文件上传下载功能,集成FileSDK进行文件传输管理
- 添加应用更新检查功能,集成UpdateSDK支持版本更新
- 实现消息状态显示,包括发送、送达、已读等状态标识
- 添加群组已读人数统计,显示消息在群聊中的阅读情况
- 实现草稿保存和恢复功能,支持断点续聊体验
- 添加连接状态横幅,实时显示IM服务连接状态
- 实现滚动加载更多历史消息,优化大量消息的性能表现
- 添加多媒体文件下载保存功能,支持保存到应用专属目录
2026-04-28 20:11:38 +08:00
徐勤民
34c02b9832
feat(sample): 添加示例应用的核心功能模块
...
- 集成依赖管理配置文件 libs.versions.toml,统一管理项目依赖版本
- 实现演示 API 接口定义,包含登录、注册、用户管理等 RESTful 端点
- 创建认证仓库 AuthRepository,处理用户会话管理和加密存储
- 开发登录和注册界面,实现用户身份验证流程
- 构建聊天界面 ChatScreen,支持消息收发和历史记录显示
- 实现联系人管理功能,包含好友搜索和添加删除操作
- 添加会话列表界面,展示最近聊天记录和未读消息提示
2026-04-27 19:00:54 +08:00
徐勤民
173c3cbddd
feat(sdk): 初始化 Android SDK 核心功能模块
...
- 添加 SDK 配置管理、网络请求客户端和令牌存储功能
- 实现即时通讯 IM 模块,包括消息收发、群组管理和会话功能
- 集成推送服务和应用更新功能模块
- 创建示例应用演示 SDK 使用方法
- 配置项目依赖管理和构建设置
2026-04-27 17:18:55 +08:00
徐勤民
b31a91f924
feat: add member to group via UserSearch — pass addToGroupId param from GroupSettings
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 13:42:48 +08:00
徐勤民
8aab9d078f
fix: resolve all TypeScript errors — AudioRecorderPlayer singleton, PhotoQuality, missing symbols
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 13:38:03 +08:00
徐勤民
fd1ebbfdca
feat: real image/audio rendering, avatar upload, pinned convs, proper group management
...
- MessageBubble: IMAGE renders actual <Image> with aspect ratio clamping (min 80, max screenW-120)
- MessageBubble: VIDEO shows thumbnail with play overlay; AUDIO shows waveform + play/stop
- MessageBubble: per-message sender avatar (letter fallback when no uri)
- ConversationItem: show real avatar when available; pinned indicator; muted dot badge
- ConversationListScreen: sort pinned conversations to top; long-press for pin/mute actions
- ContactsScreen, UserSearchScreen, GroupMembersScreen: real avatar images with fallback
- ProfileScreen: show real avatar image, tap to edit
- EditProfileScreen: avatar upload via uploadFile() to file-service before saving profile
- GroupSettingsScreen: real leaveGroup() call via SDK, removes user from group server-side
- GroupListScreen, GroupMembersScreen: parse memberIds as JSON array (was comma-split)
- SingleChatScreen: remove redundant handleLongPress (now handled inside MessageBubble)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 11:58:07 +08:00
徐勤民
536759c14a
feat(app): update check flow, friend-based contacts, global disconnect banner
...
- AuthContext: post-login checkAppUpdate + silent RN update
- ContactsScreen: ImSDK.listFriends + demoApi profiles, useFocusEffect
- UserSearchScreen: addFriend via ImSDK
- DisconnectBanner moved to AppStack level (global, not per-screen)
- Remove DisconnectBanner from SingleChatScreen and GroupChatScreen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 17:27:22 +08:00
徐勤民
e5adc00b44
feat: complete production chat demo — all screens, real media, SDK remote init
...
- App.tsx: replaced dev console with AuthProvider + AppNavigator
- Auth: Login, Register, ResetPassword screens via demo-service
- Conversations: reactive WatermelonDB subscription with user profile enrichment
- Chat: SingleChat + GroupChat with full media (image/video/audio/file), revoke, pull-up load more
- Contacts: local contacts list + UserSearch with debounced fuzzy search
- Groups: GroupList, CreateGroup (fuzzy member picker), GroupMembers, GroupSettings
- Profile: view + EditProfile (nickname, gender)
- MessageSearch: local DB full-text search across conversations
- ChatInput: text, 20-emoji picker, image/video/audio/file send, tap-to-record audio
- DisconnectBanner: connection status with reconnect
- AuthContext: uses await XuqmSDK.initialize({ appId, serverUrl }) for remote config
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 16:41:54 +08:00
徐勤民
734aaf256b
refactor: adopt new SDK API (no URLs/token in init, auto version)
...
- XuqmSDK.init now takes only { appId, debug } — no URLs or appSecret
- Add plugin.json for plugin self-registration
- UpdateSDK._devSetAppVersion(1) as simulator fallback
- UpdatePanel: remove appVersionCode/rnCurrentVersion props,
use UpdateSDK.getAppVersionCode() and getRegisteredPluginVersion()
- Add .nvmrc (node 22)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 16:16:50 +08:00
徐勤民
681902ab34
feat(demo): 添加群聊演示和完整热更新流程演示
...
群聊(Section 3):
- 新增 GroupChatPanel 组件,支持创建群组、加载群列表、切换群组
- 群聊支持全 12 种消息类型发送和撤回
- 订阅群 topic 接收实时群消息
升级演示(Section 4):
- 新增 UpdatePanel 组件,按步骤展示:
- App 整包更新:检查版本 → 显示下载链接/App Store
- RN 插件热更新:检查 → 下载 bundle → 写入 AsyncStorage
- 每步骤显示状态图标(○/⟳/✓/✗)和详细信息
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:14:26 +08:00
徐勤民
85c23b34a4
feat(chat-demo): 扩展为全消息类型演示,支持 12 种类型发送与渲染
...
- 新增 MessageBubble 组件,按 msgType 智能渲染:TEXT/IMAGE/VIDEO/AUDIO/
FILE/CUSTOM/LOCATION/NOTIFY/RICH_TEXT/CALL_AUDIO/CALL_VIDEO/FORWARD/REVOKED
- 新增 MessageComposer 组件:消息类型选择器 + 类型专属演示内容 + 一键发全类型
- App.tsx 集成撤回功能(长按弹框 → revokeMessage API → 气泡就地更新)
- 活动日志增加时间戳和收发方向标注
- 更新 docs/README.md,补充消息类型表格和演示步骤
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:03:30 +08:00