-
eb6f4bf94e
fix: stabilize useDragManager callback refs and containerHandlers memo
Jannis Braun
2026-03-20 20:39:52 +01:00
-
2952799d00
feat: add auto-scroll during drag near sidebar edges
Jannis Braun
2026-03-20 20:35:47 +01:00
-
a8befcc701
feat: add voice user and voice channel drop zone handler factories
Jannis Braun
2026-03-20 20:35:13 +01:00
-
23c102a3cb
feat: add channel/category handler factories and container handlers
Jannis Braun
2026-03-20 20:34:37 +01:00
-
9670450eec
feat: scaffold useDragManager hook with types and state
Jannis Braun
2026-03-20 20:34:05 +01:00
-
eb835f7e22
docs: add system prompt and design system reference files
Jannis Braun
2026-03-20 19:06:10 +01:00
-
0dc3eb1884
fix: notify displaced tab when user joins voice from another session
Jannis Braun
2026-03-20 19:03:35 +01:00
-
68378c7d83
fix: deduplicate VolumeSliderItem and add missing stopPropagation
Jannis Braun
2026-03-20 18:55:58 +01:00
-
443259a527
chore: delete old context menu components replaced by centralized system
Jannis Braun
2026-03-20 18:48:40 +01:00
-
8eb3fc84a5
refactor: migrate voice context menus to centralized store
Jannis Braun
2026-03-20 18:47:45 +01:00
-
cba19e8b20
refactor: migrate SpaceSidebar context menus to centralized store
Jannis Braun
2026-03-20 18:41:17 +01:00
-
15af93b979
refactor: migrate ChannelSidebar context menus to centralized store
Jannis Braun
2026-03-20 18:35:55 +01:00
-
3ead68b3e7
refactor: migrate Message context menu to centralized store
Jannis Braun
2026-03-20 18:32:18 +01:00
-
ba0243d88c
feat: mount ContextMenuRenderer in AppLayout
Jannis Braun
2026-03-20 18:30:58 +01:00
-
9e93734719
feat: add centralized ContextMenuRenderer with submenu and mobile support
Jannis Braun
2026-03-20 18:28:10 +01:00
-
6fb8801960
feat: add useContextMenu consumer hook
Jannis Braun
2026-03-20 18:24:44 +01:00
-
9a1b266760
feat: add context menu Zustand store and types
Jannis Braun
2026-03-20 18:24:25 +01:00
-
e3e3eb82ff
fix: restore missing logo and fix mobile space icon URLs
Jannis Braun
2026-03-17 16:16:09 +01:00
-
f505f6578b
fix(mobile): add viewport-fit=cover for safe area insets on notched devices
Jannis Braun
2026-03-17 15:55:06 +01:00
-
ed70099963
fix(mobile): resolve all TypeScript errors from integration
Jannis Braun
2026-03-17 15:54:39 +01:00
-
7619b091da
feat(mobile): route user profile to pushed screen instead of popout
Jannis Braun
2026-03-17 15:49:36 +01:00
-
1e0e957824
feat(mobile): route notification taps through mobile screen stack
Jannis Braun
2026-03-17 15:48:23 +01:00
-
206a0491ea
feat(mobile): add full-screen voice view with controls
Jannis Braun
2026-03-17 15:47:41 +01:00
-
913b4c7365
feat(mobile): add mobileStyle to all modals (sheet for forms, fullscreen for settings)
Jannis Braun
2026-03-17 15:46:28 +01:00
-
a073613b43
feat(mobile): disable tooltips, render context menus as bottom sheets
Jannis Braun
2026-03-17 15:44:46 +01:00
-
183290ef07
fix(mobile): stacked Add Friend input, responsive tab bar, mobile header
Jannis Braun
2026-03-17 15:43:43 +01:00
-
2790e9e088
feat(mobile): add voice mini-bar with quick controls
Jannis Braun
2026-03-17 15:42:16 +01:00
-
af84674963
feat(mobile): add MobileSettingsScreen with drill-down navigation
Jannis Braun
2026-03-17 15:41:19 +01:00
-
934a1b85a7
feat(mobile): add MobileYouScreen with profile card and action links
Jannis Braun
2026-03-17 15:40:23 +01:00
-
49e4402802
feat(mobile): add MobileDmsScreen with activity row and DM list
Jannis Braun
2026-03-17 15:39:19 +01:00
-
0222946f04
feat(mobile): add swipe-from-left-edge back gesture
Jannis Braun
2026-03-17 15:37:27 +01:00
-
e45bf1927e
feat(mobile): add MobileChatScreen with back nav and member list access
Jannis Braun
2026-03-17 15:36:50 +01:00
-
eac4e5f5eb
feat(mobile): add MobileSpacesScreen with space strip and channel list
Jannis Braun
2026-03-17 15:35:53 +01:00
-
8463ca9ba8
feat(mobile): add MobileShell and split AppLayout for mobile/desktop
Jannis Braun
2026-03-17 15:32:52 +01:00
-
2386f497aa
feat(mobile): add 3-tab bottom nav with unread badges
Jannis Braun
2026-03-17 15:31:06 +01:00
-
cbfff701ce
feat(mobile): add MobileScreenStack transition manager
Jannis Braun
2026-03-17 15:30:10 +01:00
-
b0647fccb6
feat(mobile): add slide-up-sheet animation and screen transition CSS
Jannis Braun
2026-03-17 15:29:41 +01:00
-
8bd74ec608
feat(mobile): add screen stack navigation state to uiStore
Jannis Braun
2026-03-17 15:28:36 +01:00
-
8dda8b0b83
chore: add .worktrees/ to .gitignore
Jannis Braun
2026-03-17 15:26:43 +01:00
-
ac7d3cb71b
feat: add start-at-boot setting and fix tray icon to use app logo
Jannis Braun
2026-03-17 02:28:38 +01:00
-
e5f89d4c3f
feat: persist scroll position per channel with Jump to Present button
Jannis Braun
2026-03-17 01:46:25 +01:00
-
42e765b877
fix: use capture-phase load listener to scroll chat after GIF/image load
Jannis Braun
2026-03-17 00:53:41 +01:00
-
cbef0fe0f8
fix: resolve federated avatar double-path URL that broke cross-instance profile pictures
Jannis Braun
2026-03-17 00:36:45 +01:00
-
bc4dd81632
fix: exclude voice channels from unread computation to eliminate ghost notifications
Jannis Braun
2026-03-16 23:57:24 +01:00
-
bf64c4678b
fix: prevent logout 401 and login double-attempt caused by LWW layout push race
Jannis Braun
2026-03-16 22:52:32 +01:00
-
1c806be94f
fix: clear message cache on reconnect to prevent stale scroll position
Jannis Braun
2026-03-16 22:34:21 +01:00
-
bfecb41c66
fix: derive voice sidebar from LiveKit participants to eliminate desync
Jannis Braun
2026-03-16 22:10:53 +01:00
-
e809adff3e
fix: sync channel sidebar voice users with LiveKit participant disconnects
Jannis Braun
2026-03-16 20:41:36 +01:00
-
e9c43f21f1
fix: eliminate phantom notifications across the entire read-state pipeline
Jannis Braun
2026-03-16 20:20:25 +01:00
-
0815963e1b
fix: update screen share audio warning to recommend Chrome browser
Jannis Braun
2026-03-16 19:27:12 +01:00
-
26f2e2a817
fix: remove experimental useSystemPicker causing double-picker and no audio on macOS
Jannis Braun
2026-03-16 19:13:14 +01:00
-
bda7930e61
fix: restore setDisplayMediaRequestHandler with useSystemPicker
Jannis Braun
2026-03-16 18:34:50 +01:00
-
9ff3761640
fix: remove setDisplayMediaRequestHandler to let restrictOwnAudio work natively
Jannis Braun
2026-03-16 18:18:42 +01:00
-
46f55643ae
fix: eliminate screen share audio feedback loop + upgrade Electron 33→40
Jannis Braun
2026-03-16 18:01:40 +01:00
-
7a86cde67e
feat: frameless title bar for Windows/Linux with native overlay controls
Jannis Braun
2026-03-16 06:16:43 +01:00
-
cd2f1e52ef
fix: proper macOS dock icon via .icns bundle replacement
Jannis Braun
2026-03-16 04:29:09 +01:00
-
c176ea801a
feat: squircle dock icon for macOS dev mode
Jannis Braun
2026-03-16 04:15:09 +01:00
-
da05eb3262
fix: replace placeholder purple square icons with actual Backspace logo
Jannis Braun
2026-03-16 04:01:52 +01:00
-
2e919445c1
feat: wire up master app icon for Electron builds
Jannis Braun
2026-03-16 03:57:30 +01:00
-
95ec3ff952
feat: Electron screen share picker, instance selector, and system audio loopback
Jannis Braun
2026-03-16 03:50:07 +01:00
-
8ae3ffc912
feat: Electron desktop app — hardening, IPC bridge, and dev launch fixes
Jannis Braun
2026-03-16 00:10:47 +01:00
-
56811b9333
fix: avatar upload during registration completes before redirect
Jannis Braun
2026-03-15 19:39:56 +01:00
-
2e6fa3cdc6
feat: optimize profile image sizes, silent PWA updates, storage cleanup fixes
Jannis Braun
2026-03-15 19:16:48 +01:00
-
4d230711fc
feat: launch readiness — PWA, API hardening, memory leak fixes, sticker removal
Jannis Braun
2026-03-15 15:41:22 +01:00
-
b08f40feb7
feat: inline delete confirmation on message hover bar
Jannis Braun
2026-03-15 02:48:07 +01:00
-
6701ccc9b4
fix: emoji picker uses full panel width with no dead space
Jannis Braun
2026-03-15 02:39:52 +01:00
-
42266ff963
fix: match Klipy CDN domain for inline GIF rendering
Jannis Braun
2026-03-15 02:09:01 +01:00
-
3de6e4a668
feat: GIF search (Klipy), stickers, emoji picker, and bug fixes
Jannis Braun
2026-03-15 02:04:37 +01:00
-
7113f47b17
fix: soften incoming call animations with liquid ripple and refraction effects
Jannis Braun
2026-03-15 00:33:05 +01:00
-
3a266e07ed
fix: allow bare filenames in avatar/banner validation, fix password min length
Jannis Braun
2026-03-15 00:11:10 +01:00
-
7c544c1ff4
feat: security hardening, DB indexes, token revocation, and input validation
Jannis Braun
2026-03-15 00:06:15 +01:00
-
ed4dcdcf69
fix: thumbnail content-type, animated GIF preservation, and janitor cleanup
Jannis Braun
2026-03-14 21:49:11 +01:00
-
1750f12c85
fix: input depth styling, missed fields, and header button order
Jannis Braun
2026-03-14 14:04:14 +01:00
-
836f0acef6
feat: standardize input styling with tier system, add depth and admin features
Jannis Braun
2026-03-14 13:49:32 +01:00
-
afbc4b5e31
fix: use consistent picture frame icon for video quality button in VoiceControlBar
Jannis Braun
2026-03-13 23:07:14 +01:00
-
b194cc1915
feat: discover people tab, privacy settings, and friend request button fix
Jannis Braun
2026-03-13 22:54:19 +01:00
-
9382477e33
fix: real-time friend request cancel/decline via WebSocket
Jannis Braun
2026-03-13 22:42:25 +01:00
-
d3101c4ba4
feat: backfill thumbnails for existing image attachments on first startup
Jannis Braun
2026-03-13 17:07:29 +01:00
-
3e97c2b0f5
feat: image optimization — client-side resize + server-side thumbnails
Jannis Braun
2026-03-13 16:44:14 +01:00
-
12b450b7b9
feat: inline DM search bar — find or start conversations from sidebar header
Jannis Braun
2026-03-13 04:47:18 +01:00
-
06aa3bb9aa
fix: preserve original invite origin during federation double-redirect
Jannis Braun
2026-03-13 04:17:40 +01:00
-
759f4c11ab
fix: JoinPage design polish — broken divider token, width/padding/label/hover consistency
Jannis Braun
2026-03-13 04:10:18 +01:00
-
fed2a64d3f
fix: JoinPage graceful already-member handling + "I use another instance" for auth'd users
Jannis Braun
2026-03-13 03:58:28 +01:00
-
a3a045905e
fix: "Not you? Log in" on JoinPage now clears session before navigating
Jannis Braun
2026-03-13 03:45:41 +01:00
-
a4be895670
fix: JoinPage identity card + equal-weight other-instance option
Jannis Braun
2026-03-13 03:26:32 +01:00
-
c3617de832
feat: public invite landing page with federation redirect
Jannis Braun
2026-03-13 03:04:52 +01:00
-
07ef49eac0
feat: channel permissions UI, DM Sans font, private channel filtering, migration fix
Jannis Braun
2026-03-13 02:47:32 +01:00
-
2b810055f7
fix: PiP selection logic — last speaker persistence + focused stream support
Jannis Braun
2026-03-13 02:05:46 +01:00
-
44fd74c7c6
fix: remove redundant status dot from voice channel avatars
Jannis Braun
2026-03-13 01:50:22 +01:00
-
5f5433eb67
fix: speaking indicator layout shift — use box-shadow ring instead of container growth
Jannis Braun
2026-03-13 01:43:35 +01:00
-
cea18b19b5
fix: compact timestamp vertical misalignment — remove legacy mt-[3px] nudge
Jannis Braun
2026-03-13 01:27:50 +01:00
-
b9781a8755
fix: message gutter layout — use explicit flex gap matching prototype
Jannis Braun
2026-03-13 01:22:41 +01:00
-
770e0490dd
feat: increase perceived audio loudness — +3dB master boost, configurable SFX volume
Jannis Braun
2026-03-12 23:42:11 +01:00
-
7166be0507
fix: 1px border misalignment between sidebar and chat headers
Jannis Braun
2026-03-12 23:00:05 +01:00
-
63e616ab0a
fix: space sidebar separators vanishing when scrollable — add shrink-0
Jannis Braun
2026-03-12 22:28:39 +01:00
-
143c4172c6
fix: DM Sans optical sizing — set font-optical-sizing: auto for proper proportions
Jannis Braun
2026-03-12 21:52:46 +01:00
-
8af155d08f
fix: federation DM identity resolution — cross-instance isSelf() failure
Jannis Braun
2026-03-12 18:53:38 +01:00
-
83699d7e91
feat: LWW timestamps for bidirectional federation profile & layout sync
Jannis Braun
2026-03-12 18:28:37 +01:00
-
acbcf4d4e8
feat: federated space layout sync — home-authoritative with fallback
Jannis Braun
2026-03-12 17:23:10 +01:00
-
06b56472f9
fix: federation self-connection causing sidebar space duplication
Jannis Braun
2026-03-12 16:29:11 +01:00