Jannis Braun
3aa7e93a4d
feat: pass previousMessageId prop from MessageList to Message
2026-03-20 22:16:55 +01:00
Jannis Braun
8da412c0d4
feat: create message context menu builder function
2026-03-20 22:15:31 +01:00
Jannis Braun
896cb77b5c
feat: add markUnread store action and WS handler
2026-03-20 22:13:47 +01:00
Jannis Braun
2e26f98246
feat: add mark_unread WebSocket event handler
2026-03-20 22:11:42 +01:00
Jannis Braun
3c23893549
feat: add mark_unread to WebSocket event types
2026-03-20 22:09:40 +01:00
Jannis Braun
c90ba431e8
fix: resolve mentions in reply previews to display usernames
...
Reply preview was rendering raw <@userId> tokens as plain text instead
of resolving them to MentionBadge components with proper usernames.
2026-03-20 21:25:45 +01:00
Jannis Braun
9fe46ad19b
fix: voice drop zone was swallowing channel reorder drops
...
handleVoiceDropZoneDrop called stopPropagation and clearState
unconditionally, preventing container's handleContainerDrop from
firing when dropping a channel onto a voice channel. Add early
return for non-voiceUser drags so channel/category drops bubble
through to the container handler correctly.
2026-03-20 21:15:13 +01:00
Jannis Braun
99e6f2f249
fix: normalize drop indicator to single line between channels
...
Port the SpaceSidebar normalization pattern: convert 'before B'
to 'after A' so only one drop indicator renders at any gap.
Fixes double-line visual glitch and unreliable drops when cursor
is between two channels. Also adjust indicator offsets from
top-0/bottom-0 to -top-[1px]/-bottom-[1px] to center in the gap.
2026-03-20 21:07:20 +01:00
Jannis Braun
ebe34a710b
refactor: update VoiceChannel to use useDragManager hook-provided handlers
2026-03-20 20:46:49 +01:00
Jannis Braun
439a71dc13
refactor: wire useDragManager handlers into ChannelSidebar JSX and ChannelItem
2026-03-20 20:45:30 +01:00
Jannis Braun
999c13cdab
refactor: replace old drag state with useDragManager hook in ChannelSidebar
2026-03-20 20:43:41 +01:00
Jannis Braun
eb6f4bf94e
fix: stabilize useDragManager callback refs and containerHandlers memo
...
Remove activeDrag from drag-start dependency arrays to prevent
unnecessary re-renders during drag. Wrap containerHandlers in
useMemo for consistent reference stability.
2026-03-20 20:39:52 +01:00
Jannis Braun
2952799d00
feat: add auto-scroll during drag near sidebar edges
2026-03-20 20:35:47 +01:00
Jannis Braun
a8befcc701
feat: add voice user and voice channel drop zone handler factories
2026-03-20 20:35:13 +01:00
Jannis Braun
23c102a3cb
feat: add channel/category handler factories and container handlers
2026-03-20 20:34:37 +01:00
Jannis Braun
9670450eec
feat: scaffold useDragManager hook with types and state
2026-03-20 20:34:05 +01:00
Jannis Braun
eb835f7e22
docs: add system prompt and design system reference files
2026-03-20 19:06:10 +01:00
Jannis Braun
0dc3eb1884
fix: notify displaced tab when user joins voice from another session
...
When a user joins a voice channel while already connected from another
tab, the server now sends a 'displaced' reason on voice_disconnected.
The client tears down LiveKit and shows an informational toast.
2026-03-20 19:03:35 +01:00
Jannis Braun
68378c7d83
fix: deduplicate VolumeSliderItem and add missing stopPropagation
...
- Extract VolumeSliderItem to voiceMenuItems.tsx (was duplicated in
VoiceUser.tsx and VoiceChannel.tsx)
- Add e.stopPropagation() to all imperative context menu handlers
for consistency with useContextMenu hook behavior
2026-03-20 18:55:58 +01:00
Jannis Braun
443259a527
chore: delete old context menu components replaced by centralized system
2026-03-20 18:48:40 +01:00
Jannis Braun
8eb3fc84a5
refactor: migrate voice context menus to centralized store
2026-03-20 18:47:45 +01:00
Jannis Braun
cba19e8b20
refactor: migrate SpaceSidebar context menus to centralized store
2026-03-20 18:41:17 +01:00
Jannis Braun
15af93b979
refactor: migrate ChannelSidebar context menus to centralized store
2026-03-20 18:35:55 +01:00
Jannis Braun
3ead68b3e7
refactor: migrate Message context menu to centralized store
2026-03-20 18:32:18 +01:00
Jannis Braun
ba0243d88c
feat: mount ContextMenuRenderer in AppLayout
2026-03-20 18:30:58 +01:00
Jannis Braun
9e93734719
feat: add centralized ContextMenuRenderer with submenu and mobile support
2026-03-20 18:28:10 +01:00
Jannis Braun
6fb8801960
feat: add useContextMenu consumer hook
2026-03-20 18:24:44 +01:00
Jannis Braun
9a1b266760
feat: add context menu Zustand store and types
2026-03-20 18:24:25 +01:00
Jannis Braun
e3e3eb82ff
fix: restore missing logo and fix mobile space icon URLs
...
Restore logo.png lost during fast-forward merge and replace broken
resolveAssetUrl pattern in MobileSpacesScreen with proven desktop logic.
2026-03-17 16:16:09 +01:00
Jannis Braun
f505f6578b
fix(mobile): add viewport-fit=cover for safe area insets on notched devices
2026-03-17 15:55:06 +01:00
Jannis Braun
ed70099963
fix(mobile): resolve all TypeScript errors from integration
...
- Fix voiceStore method names (toggleMic, leaveVoice, setCurrentVoiceChannel)
- Fix MemberWithUser nested user property access
- Pass required channelId props to MessageList, TypingIndicator, MessageInput
- Fix ConfirmDialog props (isOpen, description, variant, onClose)
- Add mobileStyle prop to Modal component (fullscreen + sheet modes)
- Fix fromId/isAdmin camelCase property names
- Guard possibly undefined touch events and array accesses
- Fix notification channelId resolution
2026-03-17 15:54:39 +01:00
Jannis Braun
7619b091da
feat(mobile): route user profile to pushed screen instead of popout
2026-03-17 15:49:36 +01:00
Jannis Braun
1e0e957824
feat(mobile): route notification taps through mobile screen stack
2026-03-17 15:48:23 +01:00
Jannis Braun
206a0491ea
feat(mobile): add full-screen voice view with controls
2026-03-17 15:47:41 +01:00
Jannis Braun
913b4c7365
feat(mobile): add mobileStyle to all modals (sheet for forms, fullscreen for settings)
2026-03-17 15:46:28 +01:00
Jannis Braun
a073613b43
feat(mobile): disable tooltips, render context menus as bottom sheets
2026-03-17 15:44:46 +01:00
Jannis Braun
183290ef07
fix(mobile): stacked Add Friend input, responsive tab bar, mobile header
2026-03-17 15:43:43 +01:00
Jannis Braun
2790e9e088
feat(mobile): add voice mini-bar with quick controls
2026-03-17 15:42:16 +01:00
Jannis Braun
af84674963
feat(mobile): add MobileSettingsScreen with drill-down navigation
2026-03-17 15:41:19 +01:00
Jannis Braun
934a1b85a7
feat(mobile): add MobileYouScreen with profile card and action links
2026-03-17 15:40:23 +01:00
Jannis Braun
49e4402802
feat(mobile): add MobileDmsScreen with activity row and DM list
2026-03-17 15:39:19 +01:00
Jannis Braun
0222946f04
feat(mobile): add swipe-from-left-edge back gesture
2026-03-17 15:37:27 +01:00
Jannis Braun
e45bf1927e
feat(mobile): add MobileChatScreen with back nav and member list access
2026-03-17 15:36:50 +01:00
Jannis Braun
eac4e5f5eb
feat(mobile): add MobileSpacesScreen with space strip and channel list
2026-03-17 15:35:53 +01:00
Jannis Braun
8463ca9ba8
feat(mobile): add MobileShell and split AppLayout for mobile/desktop
2026-03-17 15:32:52 +01:00
Jannis Braun
2386f497aa
feat(mobile): add 3-tab bottom nav with unread badges
2026-03-17 15:31:06 +01:00
Jannis Braun
cbfff701ce
feat(mobile): add MobileScreenStack transition manager
2026-03-17 15:30:10 +01:00
Jannis Braun
b0647fccb6
feat(mobile): add slide-up-sheet animation and screen transition CSS
2026-03-17 15:29:41 +01:00
Jannis Braun
8bd74ec608
feat(mobile): add screen stack navigation state to uiStore
2026-03-17 15:28:36 +01:00
Jannis Braun
8dda8b0b83
chore: add .worktrees/ to .gitignore
2026-03-17 15:26:43 +01:00