-
f9376460d4
feat: add camera watch/unwatch with click propagation fix and correct badge color
Jannis Braun
2026-03-10 02:45:03 +01:00
-
e8fc40ab34
feat: add voice disconnect permission and fix federation identity
Jannis Braun
2026-03-10 02:13:20 +01:00
-
3cef9cef32
refactor: unify voice user context menus into single VoiceUserContextMenu
Jannis Braun
2026-03-10 01:42:53 +01:00
-
f3b3c249ca
fix: dynamically size channel list padding from floating panel height
Jannis Braun
2026-03-10 00:49:54 +01:00
-
8927d58288
fix: compute Move To flyout max-height dynamically from viewport space
Jannis Braun
2026-03-10 00:35:40 +01:00
-
d0dca8b0a5
fix: broadcast channel_created with per-user permission filtering
Jannis Braun
2026-03-10 00:27:02 +01:00
-
ea1f2d8adc
feat: collapse "Move to" into hover flyout submenu in voice context menu
Jannis Braun
2026-03-10 00:26:58 +01:00
-
4767c445be
feat: dynamic voice grid layout with ResizeObserver
Jannis Braun
2026-03-10 00:10:25 +01:00
-
2999ca95a0
fix: prevent stale voice sidebar after multi-session identity collision
Jannis Braun
2026-03-09 23:48:44 +01:00
-
cfd24c5d58
fix: show mute slash icon when server-deafened and render badges from effective state
Jannis Braun
2026-03-09 23:26:51 +01:00
-
651d7edf9d
fix: guard voice controls against toggling intent while server muted/deafened
Jannis Braun
2026-03-09 23:15:47 +01:00
-
018828575c
fix: handle legacy JSON array permissions and improve admin toggle UX
Jannis Braun
2026-03-09 23:01:27 +01:00
-
11a69fe92a
fix: cache federated user identity from WS ready to fix server mute/deafen
Jannis Braun
2026-03-09 23:01:19 +01:00
-
907f8285cd
fix: decouple voice intent from server enforcement to prevent involuntary unmute
Jannis Braun
2026-03-09 22:25:56 +01:00
-
db1909d785
fix: resolve federated identity checks for server mute/deafen pipeline
Jannis Braun
2026-03-09 19:54:15 +01:00
-
6a12fe2024
fix: rearchitect server mute/deafen pipeline to scope restrictions by spaceId
Jannis Braun
2026-03-09 19:44:37 +01:00
-
d09d956a9d
fix: make server mute/deafen state survive page reload
Jannis Braun
2026-03-09 18:56:00 +01:00
-
c2ddfe0cb7
fix: persist server mute/deafen state across reloads and prevent client bypass
Jannis Braun
2026-03-09 18:36:17 +01:00
-
f6cdfe993f
fix: server-deafen now shows amber mute icon across all UI surfaces
Jannis Braun
2026-03-09 17:12:00 +01:00
-
e2c18ad2b0
feat: bans system, voice moderation, and federated space settings fixes
Jannis Braun
2026-03-09 15:56:46 +01:00
-
7e2986ca01
feat: overhaul remote instance indicators in space sidebar
Jannis Braun
2026-03-09 14:06:56 +01:00
-
22e7616c70
feat: explore page space banners, icon-derived gradients, and space descriptions
Jannis Braun
2026-03-09 13:49:50 +01:00
-
fccfea8b2e
fix: explore page loses remote instance spaces on reload
Jannis Braun
2026-03-09 04:02:01 +01:00
-
450df432b2
feat: dedicated Instance Settings modal with admin controls
Jannis Braun
2026-03-09 03:52:01 +01:00
-
096251e5b0
fix: federated space icon display/upload in settings, restyle settings panels
Jannis Braun
2026-03-09 03:30:15 +01:00
-
d75788febd
feat: glass pill action bars in CreateSpace, CreateChannel, JoinSpace, and RolesPanel
Jannis Braun
2026-03-09 01:57:11 +01:00
-
37f199e544
feat: floating glass navigation and action bars in modals
Jannis Braun
2026-03-09 01:31:35 +01:00
-
31db1a7bd3
feat: refactor space settings into panel components with roles management
Jannis Braun
2026-03-09 00:37:28 +01:00
-
c3bf635fc9
fix: normalize federated asset URLs in explore and social stores
Jannis Braun
2026-03-08 22:40:02 +01:00
-
b598236f82
feat: add image crop modal to space icon picker
Jannis Braun
2026-03-08 22:08:58 +01:00
-
a7b5d819bf
feat: add space visibility/description, instance re-auth, and per-channel permissions
Jannis Braun
2026-03-08 22:08:48 +01:00
-
0aba5ef8c1
fix: retain textarea focus on send and auto-scroll on content expansion
Jannis Braun
2026-03-08 21:01:27 +01:00
-
edcd2ff728
fix: restore textarea focus after sending a message
Jannis Braun
2026-03-08 20:36:15 +01:00
-
fc06e25731
refactor: rename Server → Space across entire codebase
Jannis Braun
2026-03-08 20:08:24 +01:00
-
d18d9c51f7
fix: resolve duplicate voice user in federated channel sidebar
Jannis Braun
2026-03-07 14:33:37 +01:00
-
a9a68187b0
fix: add activity panel toggle button to Explore page header
Jannis Braun
2026-03-05 02:05:02 +01:00
-
aef15a7cf7
fix: guard auto-channel redirect against stale cross-server channels
Jannis Braun
2026-03-05 01:57:49 +01:00
-
b642989e6e
fix: give Explore its own /explore route so PiP navigates back to voice correctly
Jannis Braun
2026-03-05 01:29:16 +01:00
-
b840d2f82b
feat: show joined servers in explore page instead of empty state
Jannis Braun
2026-03-05 01:11:23 +01:00
-
bd7f65d33c
fix: use getRawDb() instead of drizzle $client for explore tab
Jannis Braun
2026-03-05 00:51:55 +01:00
-
39372980f7
fix: re-send voice_join on WS reconnect to restore sidebar after server restart
Jannis Braun
2026-03-05 00:35:26 +01:00
-
09b9d1d55a
feat: enable auto gain control by default for new users
Jannis Braun
2026-03-05 00:19:39 +01:00
-
d0b0441f81
fix: revert echo gate, restore Chrome AEC during screen share
Jannis Braun
2026-03-05 00:09:03 +01:00
-
dd02c1ed8d
fix: prevent ghost users in voice sidebar after deploy
Jannis Braun
2026-03-04 22:11:50 +01:00
-
a5073f89fd
fix: optimistic voice state so user appears in sidebar immediately
Jannis Braun
2026-03-04 21:48:39 +01:00
-
a5ea7633fc
fix: explore tab first-click navigation and misleading empty state
Jannis Braun
2026-03-04 21:24:43 +01:00
-
5e4a5c2ee9
fix: clean up cross-instance voice state when switching federated servers
Jannis Braun
2026-03-04 20:57:15 +01:00
-
c65a7387fa
fix: remove spurious reconnect sound on deploy/laptop wake, fix federated typing/asset display
Jannis Braun
2026-03-04 20:40:05 +01:00
-
65e9ee5203
fix: prevent duplicate DMs at creation time, clean up corrupted read states
Jannis Braun
2026-03-04 20:04:15 +01:00
-
33ae79bae9
fix: federation avatar colors, cross-instance DMs, and instance persistence
Jannis Braun
2026-03-04 18:46:16 +01:00
-
6e44a4ef2f
fix: DM avatar color and reactions in federation + explore/server discovery
Jannis Braun
2026-03-04 18:02:43 +01:00
-
72d1fab930
feat: federate friends/social system across connected instances
Jannis Braun
2026-03-04 17:28:28 +01:00
-
c7c3331dbf
fix: persist homeUserId for federated users to ensure consistent avatar colors
Jannis Braun
2026-03-04 13:45:25 +01:00
-
9432f81ba3
fix: resolve federated avatar color to home instance identity
Jannis Braun
2026-03-04 04:27:35 +01:00
-
2d6cdd0a3c
fix: relocate typing indicator into the input bubble
Jannis Braun
2026-03-04 04:27:26 +01:00
-
f7809cf457
fix: federation reaction identity + remote server reload race condition
Jannis Braun
2026-03-04 03:53:07 +01:00
-
dca9c4dc83
feat: stateless federated identity resolver + federation UX improvements
Jannis Braun
2026-03-04 03:37:49 +01:00
-
64fd8edfc9
feat: federation batch 1+2 — bug fixes and password enforcement
Jannis Braun
2026-03-04 01:51:38 +01:00
-
3f15a8e282
docs: add federation roadmap with batched execution plan
Jannis Braun
2026-03-04 01:27:21 +01:00
-
b44c2a7651
feat: multi-target deploy script supporting Pi and Beta VM
Jannis Braun
2026-03-04 00:36:45 +01:00
-
9ae9a0f3dc
fix: prevent install.sh crash when .env exists without expected keys
Jannis Braun
2026-03-03 23:32:28 +01:00
-
fd175023c1
fix: use correct working directory for pnpm module resolution in install.sh
Jannis Braun
2026-03-03 19:57:32 +01:00
-
617999500b
feat: all-in-one production deployment with install script
Jannis Braun
2026-03-03 19:51:51 +01:00
-
e37f9ea24c
feat: route LiveKit token requests to correct instance for cross-instance voice
Jannis Braun
2026-03-03 00:37:20 +01:00
-
758c6a7b5b
feat: normalize remote asset URLs and route UI actions by instance origin
Jannis Braun
2026-03-03 00:28:24 +01:00
-
72e07c1cc1
fix: persistent random Snowflake worker ID + clean reaction API
Jannis Braun
2026-03-03 00:03:29 +01:00
-
5194dbef25
feat: multi-WebSocket connection manager for instance federation
Jannis Braun
2026-03-02 23:53:30 +01:00
-
ef7aa3ff5a
feat: add instance store and Connected Instances settings UI
Jannis Braun
2026-03-02 23:31:28 +01:00
-
c72fcdda70
refactor: extract API client into parameterized BackspaceApiClient class
Jannis Braun
2026-03-02 23:21:32 +01:00
-
22440b5a24
feat: implement Phase 1 server-side federation groundwork
Jannis Braun
2026-03-02 23:15:43 +01:00
-
37dc73231d
refactor: convert color system to RGB channels for native Tailwind opacity
Jannis Braun
2026-03-02 17:46:21 +01:00
-
0e235fdf1c
fix: DM reactions + eradicate broken CSS variable opacity modifiers
Jannis Braun
2026-03-02 17:36:33 +01:00
-
2c98704198
fix: chat scroll-to-bottom on channel open and bottom spacing
Jannis Braun
2026-03-02 17:17:30 +01:00
-
907728ab24
fix: replace broken border-hard/50 opacity with subtle white borders
Jannis Braun
2026-03-02 17:07:33 +01:00
-
7608afccc4
fix: panel separator borders and reaction spacing to match prototype
Jannis Braun
2026-03-02 16:51:17 +01:00
-
b8ce05ad6c
fix: precise chat layout alignment to match Aether Drift prototype
Jannis Braun
2026-03-02 16:17:42 +01:00
-
9491edb3c9
fix: reaction pill frosted glass + compact sizing to match prototype
Jannis Braun
2026-03-02 15:55:42 +01:00
-
cdee450cf5
fix: channel sidebar and reaction bubbles to match Aether Drift prototype
Jannis Braun
2026-03-02 14:45:47 +01:00
-
31562c2b29
fix: avatar and server icon font size/weight to match prototype
Jannis Braun
2026-03-02 14:08:34 +01:00
-
88b29200d5
fix: avatar status dot size to match prototype cutout dimensions
Jannis Braun
2026-03-02 03:35:57 +01:00
-
dcd4ef0011
feat: Aether Drift UI polish — popout redesign, sidebar cleanup, status dot fix
Jannis Braun
2026-03-02 03:21:12 +01:00
-
ddeb72101e
feat: dynamic PiP collision avoidance, reaction pill redesign, channel dedup fix
Jannis Braun
2026-03-02 02:09:52 +01:00
-
f79575ffa7
fix: consistent avatar gradient colors across all 17 call sites
Jannis Braun
2026-03-02 01:16:58 +01:00
-
95fc6f0693
feat: Phase 7 Aether Drift — typography, spacing & detail alignment
Jannis Braun
2026-03-02 01:05:42 +01:00
-
7f7656ed24
feat: Phase 5+6 Aether Drift — legacy token removal, colorful avatars & Backspace branding
Jannis Braun
2026-03-02 00:56:34 +01:00
-
d0e696e03c
feat: Phase 4 Aether Drift — auth, modals & UI component token migration
Jannis Braun
2026-03-02 00:01:24 +01:00
-
7172091159
feat: Phase 3 Aether Drift — voice & video component token migration
Jannis Braun
2026-03-01 23:36:10 +01:00
-
662eb8abc5
feat: Phase 2 Aether Drift — chat component token migration + scroll fix
Jannis Braun
2026-03-01 23:23:46 +01:00
-
79252fe54a
feat: Phase 1 Aether Drift — mobile-first grid layout and token migration
Jannis Braun
2026-03-01 22:46:27 +01:00
-
e219229b63
feat: add Backspace design prototype and rebrand from Opencord
Jannis Braun
2026-03-01 21:26:57 +01:00
-
aeb38a714a
rename project from Opencord to Backspace in deployment config
Jannis Braun
2026-03-01 01:22:03 +01:00
-
773a03b1aa
feat: instance-level streaming limits with admin settings panel
Jannis Braun
2026-02-26 03:33:29 +01:00
-
2184ded2c1
fix: use autoSubscribe:false to prevent LiveKit renegotiation storm on screen share
Jannis Braun
2026-02-26 03:02:27 +01:00
-
61e0bf6fe8
fix: lower screen share default bitrates for VP9 codec efficiency
Jannis Braun
2026-02-26 02:43:17 +01:00
-
4bb69851d3
fix: use LiveKit track.attach() for adaptive stream and switch screen share to VP9 single-layer
Jannis Braun
2026-02-26 02:33:18 +01:00
-
33e9198de6
perf: enable adaptiveStream and camera simulcast for SFU bandwidth optimization
Jannis Braun
2026-02-26 01:09:05 +01:00
-
2186235d65
feat: manual bitrate override slider for screen share settings
Jannis Braun
2026-02-26 00:28:20 +01:00
-
3ceab3d73e
fix: hydrate replyTo on optimistic messages so reply preview renders instantly
Jannis Braun
2026-02-26 00:17:00 +01:00
-
c9f9787b99
feat: rich markdown renderer with @mention badges and autocomplete
Jannis Braun
2026-02-25 23:49:41 +01:00
-
0a157de162
refactor: purge legacy server_members.role column, single source of truth via member_roles
Jannis Braun
2026-02-25 22:46:50 +01:00