Commit Graph
326 Commits
Author SHA1 Message Date
Ryan Emmick 08d9982981 Merge upstream/livekit into branch 2026-06-11 22:11:21 -05:00
Johannes Marbach 4c2c068c3a Update dev settings snapshot 2026-06-08 08:48:46 +02:00
fkwpandJohannes Marbach b99c8821d3 Add matrix_rtc_mode config option (#4014)
* Move MatrixRTCMode enum from settings.ts to ConfigOptions.ts

* Add matrix_rtc_mode config option

* add matrix_rtc_mode to config.sample.json

* Update src/settings/DeveloperSettingsTab.tsx

Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org>

* Update src/settings/DeveloperSettingsTab.test.tsx

Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org>

* reviewer comments

---------

Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2026-06-05 09:49:43 +00:00
Robin cec78a383d Fix footer stories 2026-06-02 11:14:53 +02:00
Valere e815277fa2 touch commit to unbock gh 2026-05-28 08:59:05 +02:00
Valere 70a0914017 eslint 2026-05-27 14:18:34 +02:00
Valere 8011f2579c test: Add test for new option
review: Remove uneeed {" "}
2026-05-27 14:03:31 +02:00
Valere 187665748b Merge branch 'livekit' into valere/devx/livekit_logs 2026-05-27 11:46:38 +02:00
Timo K 3301d2fe03 Merge branch 'livekit' into toger5/view-model-call-footer-example 2026-05-20 14:25:25 +02:00
Robin 6b261611a5 Log unhandled promise rejections in rageshakes (#3972)
For more comprehensive rageshake logs. Copied from Element Web's rageshake.ts.
2026-05-19 13:44:16 +02:00
Timo K bc81da43c2 use previous device selection logic 2026-05-18 19:39:29 +02:00
Timo K 68a487c9de translation fixes 2026-05-18 19:17:43 +02:00
Timo K e22ab9355c Review (everything except translation feedback) 2026-05-18 14:31:03 +02:00
Timo K 88f660e43f review 2026-05-15 18:37:25 +02:00
Timo K 9f6ae4ba55 small device selection refactor 2026-05-11 20:02:56 +02:00
Valere f1b61a9f1c update developer settings tab snapshot 2026-05-11 18:07:40 +02:00
Valere 3bc8c0590d dev-tool: Add option to enable extended livekit logs 2026-04-24 18:27:05 +02:00
Ryan Emmick 79b9335192 fix: update i18n translations and developer settings snapshot
Run `yarn i18n` to extract new translation keys for the media quality
settings, and update the DeveloperSettingsTab snapshot to include the
Camera quality, Screen sharing, and Audio processing sections.
2026-04-23 09:51:01 -05:00
Ryan Emmick dedf4e158e refactor: move media settings to developer tab, centralize config defaults 2026-04-23 09:49:14 -05:00
Ryan Emmick 8642646fa7 Add unit tests, revert vite base path change
Signed-off-by: Ryan Emmick <ryanemmick4@gmail.com>
2026-04-23 09:47:58 -05:00
Ryan Emmick 98f63c7172 Clean up: deduplicate settings UI, fix backupCodec, remove dead export
Signed-off-by: Ryan Emmick <ryanemmick4@gmail.com>
2026-04-23 09:47:58 -05:00
Ryan Emmick b043230680 feat: camera quality settings, audio processing toggles, config-seeded defaults
- Add camera video quality controls (resolution/framerate/bitrate/codec)
  to Settings > Video, mirroring the screen share settings UI
- Add audio processing toggles (echo cancellation, noise suppression,
  auto gain control) to Settings > Audio, replacing URL-param-only controls
- Display raw values inline on all sliders (framerate, bitrate, volume)
- Add config-seeded defaults: config.json media_quality values now seed
  Setting defaults for users who haven't explicitly set preferences
- Camera settings are applied when joining a call via ConnectionFactory

Signed-off-by: Ryan Emmick <ryanemmick4@gmail.com>
2026-04-23 09:47:58 -05:00
Ryan Emmick bc38d15b6d fix: replace InputField type="select" with native select elements
InputField only supports input/textarea, not select. Passing option
children caused React to crash rendering children inside a void input.

Signed-off-by: Ryan Emmick <ryanemmick4@gmail.com>
2026-04-23 09:46:47 -05:00
Ryan Emmick 342b61f633 feat: add user-configurable screen share quality settings UI
Adds a "Screen sharing" section to Settings > Video with controls for:
- Resolution (576p to 4K)
- Framerate (5-60 fps slider)
- Bitrate (0.5-15 Mbps slider)
- Codec (VP8/VP9/H.264/AV1)

Gated behind an "Advanced screen share settings" toggle. When enabled,
settings are passed to LiveKit's setScreenShareEnabled as both capture
constraints and publish options. When disabled, falls back to
config.json media_quality defaults.

Settings are persisted in localStorage via the existing Setting<T>
system. The Slider component is extended with a tooltipFormatter prop
for custom tooltip display.

Inspired by pirosuki's advanced-screen-share-settings branch, but
reimplemented cleanly: settings are read directly in LocalMember.ts
(no signature changes), the existing Slider is extended (no component
duplication), and proper form components are used throughout.

Signed-off-by: Ryan Emmick <ryanemmick4@gmail.com>
2026-04-23 09:46:47 -05:00
fkwp 2b42b2bdc1 fix tests after moving to pnpm 2026-04-17 11:13:41 +02:00
Valere Fedronic 40fdef89eb Merge pull request #3780 from JephDiel/Download-Avatars-with-MC4039
Download avatars using the MC4039 Widget API
2026-03-26 09:03:15 +01:00
Robin 6dcd883fc3 Update test snapshots 2026-03-24 16:10:19 +01:00
JephDiel 8ecb1b3dbf Simplify widget detection
Use the exists check for the widget API directly
instead of a feature flag.
2026-03-12 22:18:38 -05:00
Timo 07ad8374a9 Merge pull request #3595 from element-hq/toger5/dont-trap-in-invalid-config
Reset overwrite url if it is invalid (does fail to reach sfu)
2026-03-12 22:06:26 +08:00
JephDiel 699e31f59a Download Avatar from relevent source
Instead of relying on failures directly use the
available method to download the avatar.
2026-03-09 23:16:12 -05:00
Valere 92992df7df test: ensure ragelogger resist to JSON.stringify throws 2026-02-11 13:56:42 +01:00
Valere 0d24995c3e add defensive coding against JSON.stringify 2026-02-10 17:46:58 +01:00
Timo K c376d9e5c1 fix tests 2026-01-16 13:12:31 +01:00
Timo K f09e2c8b55 Merge branch 'livekit' into toger5/dont-trap-in-invalid-config 2026-01-16 13:11:06 +01:00
Timo K f5c31626a6 fix unit tests 2026-01-16 12:43:13 +01:00
Timo K f71e483080 logging updates 2026-01-15 18:13:34 +01:00
Timo K dbdcde2489 fix lint 2026-01-13 18:17:37 +01:00
Timo K 636f737cd3 reduce diff 2026-01-13 18:05:05 +01:00
Timo K 93c9225e8a Merge branch 'livekit' into toger5/dont-trap-in-invalid-config 2026-01-13 18:01:30 +01:00
Timo K 20e63c8dc7 fix tests 2026-01-13 17:39:55 +01:00
Timo K ff8d71380d Add livekitAlias debugging info 2026-01-13 15:14:34 +01:00
Timo f444c9bc11 Merge pull request #3638 from element-hq/toger5/delayed-event-delegation
Pseudonomous identity and use the new jwt service endpoint (with delayed event delegation)
2026-01-09 19:58:30 +01:00
Timo K ed3d168ac3 fix tests 2026-01-09 17:29:48 +01:00
Timo K 7dbbd763b9 Refactor how we aquire the jwt token for the local user. (only fetch it
once)

The local jwt token needs to be aquired via the right endpoint. The
endpoint defines how our rtcBackendIdentity is computed. Based on us
using sticky events or state events we also need to use the right
endpoint. This cannot be done generically in the connection manager. The
jwt token now is computed in the localTransport and the resolved sfu
config is passed to the connection manager.

Add JWT endpoint version and SFU config support Pin matrix-js-sdk to a
specific commit and update dev auth image tag. Propagate SFU config and
JWT endpoint choice through local transport, ConnectionManager and
Connection; add JwtEndpointVersion enum and LocalTransportWithSFUConfig
type. Add NO_MATRIX_2 auth error and locale string, thread
rtcBackendIdentity through UI props, and include related test, CSS and
minor imports updates
2026-01-09 13:38:26 +01:00
Robin f89a7a8211 Fix tests 2026-01-09 12:58:06 +01:00
Timo K 0eeed4e18e fix test snapshot 2026-01-07 17:05:00 +01:00
Timo K 75fca3108a cleanup an rename compatibility mode 2026-01-07 16:08:20 +01:00
Timo 009c9e046c Merge branch 'livekit' into toger5/delayed-event-delegation 2026-01-05 21:26:15 +01:00
Timo K df2bd22005 Merge branch 'livekit' into toger5/delayed-event-delegation 2026-01-05 21:08:21 +01:00
Robin 72b9b8231a Merge branch 'livekit' into renovate/all-minor-patch 2026-01-05 19:29:24 +01:00