Commit Graph

  • 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