-
386bd85c8d
fix: attach svgRef to SVG elements in Mascot sub-components
Jannis Braun
2026-03-22 23:18:37 +01:00
-
7d5b9c1eee
feat: add Mascot component with state-driven SVG rendering
Jannis Braun
2026-03-22 23:15:46 +01:00
-
623928812d
fix: always enable web fallback keybind listeners alongside Electron IPC
Jannis Braun
2026-03-22 22:31:59 +01:00
-
e5bf5f71ab
fix: unpack native .node binaries from asar for uiohook-napi
Jannis Braun
2026-03-22 22:27:10 +01:00
-
39ee894d77
fix: fall back to web keybind listeners when Electron lacks keybind APIs
Jannis Braun
2026-03-22 21:36:05 +01:00
-
5554b1abc7
fix: replace broken 2-char hash with djb2 for keybind code mapping
Jannis Braun
2026-03-22 21:01:02 +01:00
-
6ca28765bc
feat: add user-configurable global keybinds for voice actions
Jannis Braun
2026-03-22 20:51:40 +01:00
-
-
3ce9ee0db0
feat(desktop): add KeybindManager with uiohook-napi for global shortcuts
Jannis Braun
2026-03-22 20:47:41 +01:00
-
11d802f86c
feat(keybinds): add KeybindsPanel settings UI with recorder and conflict detection
Jannis Braun
2026-03-22 20:42:48 +01:00
-
895f665da9
feat(keybinds): wire useKeybinds hook into AppLayout
Jannis Braun
2026-03-22 20:37:45 +01:00
-
c6d345048a
feat(keybinds): add useKeybinds hook with Electron IPC bridge and web fallback
Jannis Braun
2026-03-22 20:35:31 +01:00
-
fb964cc01a
feat(keybinds): add keybindStore with persist, conflict detection, and tests
Jannis Braun
2026-03-22 20:32:22 +01:00
-
11081dbf5a
refactor(voice): extract action handlers into voiceActions.ts, remove hard-coded M/D shortcuts
Jannis Braun
2026-03-22 20:27:10 +01:00
-
063d73cff1
feat(voice): add setMuted() idempotent setter and pttActive state for PTT keybinds
Jannis Braun
2026-03-22 20:23:23 +01:00
-
-
7694f732c9
fix: replace AccountPanel inline success banners with toasts
Jannis Braun
2026-03-22 04:57:55 +01:00
-
dd33a62b22
fix: replace inline save banners with toast notifications
Jannis Braun
2026-03-22 04:49:10 +01:00
-
ca5cf61e53
fix: replace inline save banners with toast notifications
Jannis Braun
2026-03-22 04:48:32 +01:00
-
7ff8614127
refactor: extract SettingsTabBar as reusable infrastructure component
Jannis Braun
2026-03-22 04:42:46 +01:00
-
2d7395ba64
feat: add top tab bar to Instance settings panel
Jannis Braun
2026-03-22 04:34:02 +01:00
-
9317ccb3a0
feat: add filter row with instance, role, date, and sort to UsersPanel
Jannis Braun
2026-03-22 04:26:00 +01:00
-
6615b0b700
feat: add filter params and listInstances to admin API client
Jannis Braun
2026-03-22 04:23:33 +01:00
-
fd4c73c3cb
feat: add filter and sort params to admin users endpoint
Jannis Braun
2026-03-22 04:22:22 +01:00
-
4f143bb289
fix: add missing Instance sub-panel titles and overhaul reset password UX
Jannis Braun
2026-03-22 04:04:46 +01:00
-
437873c823
refactor: Instance settings back to separate pages with sidebar sub-links
Jannis Braun
2026-03-22 03:52:26 +01:00
-
ca9b971c29
fix: improve Instance settings section spacing and save UX
Jannis Braun
2026-03-22 03:43:23 +01:00
-
fbf83cf8f4
fix: prevent infinite re-render loop in settings sections
Jannis Braun
2026-03-22 03:32:43 +01:00
-
9210fb6616
fix: use stable SECTIONS array to prevent unnecessary re-renders
Jannis Braun
2026-03-22 03:25:50 +01:00
-
d96d2d4dd1
fix: convert Instance save bars from sticky to inline for sectioned layout
Jannis Braun
2026-03-22 03:20:50 +01:00
-
61a0bff4a3
feat: refactor InstancePanel from tabs to sectioned single page
Jannis Braun
2026-03-22 03:19:36 +01:00
-
f94958354a
feat: integrate section sub-links into UserSettings sidebar
Jannis Braun
2026-03-22 03:18:28 +01:00
-
537f489432
feat: apply delayed loading to member sidebar skeleton
Jannis Braun
2026-03-22 03:17:01 +01:00
-
44e8b32c2f
feat: apply delayed loading to app boot skeleton
Jannis Braun
2026-03-22 03:17:00 +01:00
-
b6f4659849
feat: apply delayed loading to channel sidebar skeleton
Jannis Braun
2026-03-22 03:16:47 +01:00
-
fce2d7c3f0
feat: apply delayed loading to message list skeletons
Jannis Braun
2026-03-22 03:16:40 +01:00
-
a152ee9a4c
feat: add useSettingsSections hook with scroll-spy and smooth scrolling
Jannis Braun
2026-03-22 03:16:17 +01:00
-
2924c83717
feat: add useDelayedLoading hook to prevent skeleton flicker
Jannis Braun
2026-03-22 03:16:02 +01:00
-
346fceeb74
feat: add SettingsSectionsContext for sidebar section communication
Jannis Braun
2026-03-22 03:14:59 +01:00
-
fcbdac7a2f
fix: improve skeleton loading accessibility and consistency
Jannis Braun
2026-03-22 02:51:02 +01:00
-
7d21f25f39
feat: replace app boot spinner with layout shell skeleton
Jannis Braun
2026-03-22 02:47:09 +01:00
-
9044fe5539
feat: add skeleton loading state to channel sidebar
Jannis Braun
2026-03-22 02:45:11 +01:00
-
a2ff5cb75d
feat: add skeleton loading state to member sidebar
Jannis Braun
2026-03-22 02:44:46 +01:00
-
02dcd2f903
feat: replace pagination spinner with skeleton rows in message list
Jannis Braun
2026-03-22 02:43:32 +01:00
-
d93b710dbd
feat: replace message list loading spinner with skeleton rows
Jannis Braun
2026-03-22 02:42:44 +01:00
-
ddaf6fee68
feat: add loadingSpaceId flag to spaceStore for skeleton loading guards
Jannis Braun
2026-03-22 02:41:32 +01:00
-
4222537831
feat: add skeleton shimmer CSS primitives for loading states
Jannis Braun
2026-03-22 02:41:07 +01:00
-
9812e13a0e
fix: center settings content within content area
Jannis Braun
2026-03-22 02:33:05 +01:00
-
2fdf379cb2
fix: raise PWA precache size limit to 3 MB
Jannis Braun
2026-03-22 02:28:15 +01:00
-
1f3d10842d
fix: correct mobileView initial state and add SpaceSettings tab reset
Jannis Braun
2026-03-22 02:26:15 +01:00
-
e87cab58bf
feat: add panel title headings to all SpaceSettings panels
Jannis Braun
2026-03-22 02:20:51 +01:00
-
b3cb84c6a2
feat: rebuild SpaceSettings with expanded layout and grouped sidebar
Jannis Braun
2026-03-22 02:19:15 +01:00
-
d54de16ec8
feat: add panel title headings to all UserSettings panels
Jannis Braun
2026-03-22 02:17:38 +01:00
-
3b06818614
feat: rebuild UserSettings with expanded layout and grouped sidebar
Jannis Braun
2026-03-22 02:15:27 +01:00
-
9bacc8fb3d
feat: add size='settings' variant to Modal component
Jannis Braun
2026-03-22 02:11:26 +01:00
-
4c4bd8dec6
fix: add editable input alongside slider step presets for custom values
Jannis Braun
2026-03-22 01:44:24 +01:00
-
46f17cf172
fix: replace slider step number input with pill presets
Jannis Braun
2026-03-22 01:29:40 +01:00
-
eff3210f29
fix: make slider step a compact inline row instead of prominent section
Jannis Braun
2026-03-22 01:25:03 +01:00
-
30cbf58770
fix: stack bitrate slider and input vertically for responsive layout
Jannis Braun
2026-03-22 01:19:28 +01:00
-
7e7e77b298
fix: prevent ghost voice users after server restart
Jannis Braun
2026-03-22 01:05:30 +01:00
-
f3ff07aa6d
feat: add bitrate matrix editor with scale macro and uncapped max inputs
Jannis Braun
2026-03-22 00:52:40 +01:00
-
c0618a0b75
refactor: convert screenShare.ts to kbps with override-first lookup
Jannis Braun
2026-03-22 00:47:08 +01:00
-
19cdfe58a4
feat: add bitrateMatrixOverrides validation, raise bitrate caps to 1 Gbps
Jannis Braun
2026-03-22 00:44:24 +01:00
-
267dc8d992
feat: add bitrateMatrixOverrides to types, schema, and migration
Jannis Braun
2026-03-22 00:42:23 +01:00
-
c7c7793aef
feat: add BITRATE_MATRIX_KBPS to shared constants
Jannis Braun
2026-03-22 00:41:55 +01:00
-
6122c7829f
fix: replace regex-based isNewlyCreated with explicit isNew prop
Jannis Braun
2026-03-22 00:17:14 +01:00
-
b8c8e39dfd
fix: use existing success banner style for role created indicator
Jannis Braun
2026-03-22 00:12:33 +01:00
-
0bd87c4ebf
fix: auto-focus name input and show creation indicator in role editor
Jannis Braun
2026-03-22 00:05:17 +01:00
-
da82ba6d94
fix: add key prop to RoleEditView to reset state when switching roles
Jannis Braun
2026-03-21 23:43:00 +01:00
-
09bfd1ccab
fix: use grid layout for stream settings pills to prevent uneven wrapping
Jannis Braun
2026-03-21 23:41:01 +01:00
-
f9f7dd158f
feat: guard applyConstraints for native mode in useLiveKit
Jannis Braun
2026-03-21 23:33:30 +01:00
-
8885662766
docs: update CLAUDE.md with high-end streaming settings
Jannis Braun
2026-03-21 23:32:04 +01:00
-
b4b22faf55
feat: auto-increment role names to avoid uniqueness conflicts on create and copy
Jannis Braun
2026-03-21 23:31:35 +01:00
-
a9a676bc70
feat: expand admin streaming pills, add high-end resource warning
Jannis Braun
2026-03-21 23:30:46 +01:00
-
5ac0917d81
feat: dynamic resolution/framerate pills from instance limits
Jannis Braun
2026-03-21 23:30:14 +01:00
-
57b192533d
feat: add Copy Role button to duplicate roles with permissions
Jannis Braun
2026-03-21 23:30:12 +01:00
-
cb34bfc8ea
feat: expand bitrate matrix, add native mode with pixel-proportional fallback
Jannis Braun
2026-03-21 23:26:54 +01:00
-
3fe9f774a1
feat: add client-side role name uniqueness validation with 409 handling
Jannis Braun
2026-03-21 23:24:11 +01:00
-
b9f11489fe
feat: update server validation for expanded resolutions and framerates
Jannis Braun
2026-03-21 23:23:25 +01:00
-
a02b098fa7
feat: widen ScreenShareConfig types, bump persist to v12
Jannis Braun
2026-03-21 23:22:49 +01:00
-
ec71dd2c50
feat: widen InstanceStreamingLimits.allowedResolutions to support 'native'
Jannis Braun
2026-03-21 23:21:07 +01:00
-
bc1d92f853
feat: add shared streaming constants module
Jannis Braun
2026-03-21 23:20:58 +01:00
-
05fe1df5f0
feat: enforce case-insensitive unique role names per space
Jannis Braun
2026-03-21 23:20:40 +01:00
-
7fb87de09a
feat: default new roles to @everyone permissions instead of null
Jannis Braun
2026-03-21 23:17:16 +01:00
-
f7657e3adb
fix: prevent duplicate messages when sending image without text
Jannis Braun
2026-03-21 22:46:01 +01:00
-
0d8913f589
feat: register CategorySettingsModal in AppLayout
Jannis Braun
2026-03-21 22:18:01 +01:00
-
cb2eac24eb
docs: update CLAUDE.md with category overrides schema, API, and permission changes
Jannis Braun
2026-03-21 22:11:22 +01:00
-
cc7d1c191c
feat: add CategorySettingsModal with overview and permissions tabs
Jannis Braun
2026-03-21 22:08:47 +01:00
-
edb050fd39
feat: add category settings context menu, lock icon, empty category hiding
Jannis Braun
2026-03-21 18:38:47 +01:00
-
892164f3a5
refactor: use extracted PermissionsEditor in ChannelSettingsModal
Jannis Braun
2026-03-21 18:35:38 +01:00
-
c43afc23a8
feat: extract TriStateToggle, OverrideEntry, PermissionsEditor shared components
Jannis Braun
2026-03-21 18:35:35 +01:00
-
637e083e9a
feat: add category override API endpoints, fix channel categoryId reassignment, include isPrivate on categories
Jannis Braun
2026-03-21 18:29:25 +01:00
-
b5ac7d3ee4
feat: add category override API client methods
Jannis Braun
2026-03-21 18:29:16 +01:00
-
17289445bd
feat: add categorySettings modal type to uiStore
Jannis Braun
2026-03-21 18:25:56 +01:00
-
bfe317f465
feat: interleaved category override resolution in permission engine
Jannis Braun
2026-03-21 18:22:22 +01:00
-
1473f4f88c
fix: emoji reaction picker no longer overflows viewport on bottom messages
Jannis Braun
2026-03-21 18:21:30 +01:00
-
eb04c4ad30
feat: add category_overrides table schema and migration
Jannis Braun
2026-03-21 18:20:21 +01:00
-
90d702338d
feat: add slideDown animation for upward-flipping popovers
Jannis Braun
2026-03-21 18:20:02 +01:00
-
3300ce8d5c
feat: add CategoryOverride type and isPrivate to ChannelCategory
Jannis Braun
2026-03-21 18:19:45 +01:00
-
448ff9a59c
fix: exclude desktop, installers, and other non-Docker files from deploy rsync
Jannis Braun
2026-03-21 17:42:13 +01:00
-
fe6de6456a
feat: add ffmpeg to Docker runtime for video thumbnail generation
Jannis Braun
2026-03-21 17:23:19 +01:00
-
80d97d72c9
feat: add backfill migration for media dimensions and video thumbnails
Jannis Braun
2026-03-21 17:22:44 +01:00