提交图

2 次代码提交

作者 SHA1 备注 提交日期
徐勤民
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
徐勤民
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