徐勤民
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
徐勤民
37c591be9d
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
徐勤民
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
徐勤民
e2bd914dd3
docs: 更新 README 至 V3.0,补充群聊演示和分步热更新说明
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 11:23:23 +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
徐勤民
bc512a17cb
chore: init RN chat demo project
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 10:58:27 +08:00