Hampus
|
9bd0019759
|
fix(api): declare undici for the bundled http client (#2410)
|
2026-09-02 19:55:11 +02:00 |
|
Hampus
|
a74f1b0e7b
|
fix(ci): clear knip, refresh openapi, close kv schema race (#2409)
|
2026-09-02 18:12:48 +02:00 |
|
Hampus
|
2b12f5db6c
|
feat(voice): enable web camera background effects (#2408)
|
2026-09-02 17:40:13 +02:00 |
|
Hampus
|
af4a52173c
|
fix(voice): dispatch sourceLifecycle.removed on unbind (#2407)
|
2026-09-02 17:40:00 +02:00 |
|
Hampus
|
5bc1f21d46
|
fix(voice): drive call tiles from gateway voice state (#2406)
|
2026-09-02 17:39:48 +02:00 |
|
Hampus
|
917e437939
|
feat(voice-menus): add call controls to private call user menus (#2405)
|
2026-09-02 17:39:25 +02:00 |
|
Hampus
|
7ee4fb37d6
|
feat(voice): add a live input level meter to voice menus (#2404)
|
2026-09-02 17:39:01 +02:00 |
|
Hampus
|
6155eec804
|
feat(voice): flatten voice menus, gate ptt on a bound key (#2403)
|
2026-09-02 17:38:37 +02:00 |
|
Hampus
|
43d8637153
|
fix(voice): gate the camera preview and update effects in place (#2402)
|
2026-09-02 17:38:14 +02:00 |
|
Hampus
|
250db2fdab
|
fix(voice): hide stream volume without remote share audio (#2401)
|
2026-09-02 17:37:52 +02:00 |
|
Hampus
|
7bd021cd5c
|
feat(voice): open voice popouts in the browser (#2400)
|
2026-09-02 17:37:28 +02:00 |
|
Hampus
|
adb9a689f0
|
feat(voice): share the voice room across popout trees (#2399)
|
2026-09-02 17:37:04 +02:00 |
|
Hampus
|
d8e0c2ec20
|
fix(settings): stop auto-requesting devices, warn when none (#2398)
|
2026-09-02 17:36:49 +02:00 |
|
Hampus
|
f98a74170a
|
feat(settings): move macos permission review into desktop tab (#2397)
|
2026-09-02 17:36:26 +02:00 |
|
Hampus
|
17b9821879
|
fix(voice-menus): drive stream actions from the published source (#2396)
|
2026-09-02 17:36:05 +02:00 |
|
Hampus
|
4b5bdefcb9
|
fix(voice-menus): sentence-case participant menu labels (#2395)
|
2026-09-02 17:35:49 +02:00 |
|
Hampus
|
45cbabd94d
|
fix(voice): abort screen share when its audio cannot start (#2394)
|
2026-09-02 17:35:26 +02:00 |
|
Hampus
|
8402eb53c8
|
feat(voice): skip the screen-share picker modal on web (#2393)
|
2026-09-02 17:35:15 +02:00 |
|
Hampus
|
d04ace5789
|
feat(voice): redesign the screen-share source picker (#2392)
|
2026-09-02 17:35:01 +02:00 |
|
Hampus
|
e94f587535
|
feat(voice): sequence join chimes ahead of entrance sounds (#2391)
|
2026-09-02 17:34:36 +02:00 |
|
Hampus
|
e73285060e
|
fix(voice): honour the codec preference in fallback selection (#2390)
|
2026-09-02 17:34:24 +02:00 |
|
Hampus
|
f1734704ef
|
fix(voice): guard stale screen-share negotiation and probes (#2389)
|
2026-09-02 17:34:10 +02:00 |
|
Hampus
|
59f6217267
|
refactor(voice): bound the screen-share codec wire formats (#2388)
|
2026-09-02 17:33:57 +02:00 |
|
Hampus
|
90f4a222b7
|
refactor(voice): request mic and camera permission separately (#2387)
|
2026-09-02 17:33:45 +02:00 |
|
Hampus
|
749d2091eb
|
fix(voice): log local voice state hydration failures (#2386)
|
2026-09-02 17:33:32 +02:00 |
|
Hampus
|
8d34c6bcaa
|
refactor(voice): make screen-share source swaps atomic (#2385)
|
2026-09-02 17:33:18 +02:00 |
|
Hampus
|
62577b25bb
|
feat(voice): request web share audio via the browser picker (#2384)
|
2026-09-02 17:32:55 +02:00 |
|
Hampus
|
475f5a7dae
|
fix(voice): refresh camera capture when the device changes (#2383)
|
2026-09-02 17:32:43 +02:00 |
|
Hampus
|
1772b3aad0
|
fix(voice): polish the stream settings menu (#2382)
|
2026-09-02 17:32:26 +02:00 |
|
Hampus
|
7263b21a06
|
refactor(voice): pin screen share to a fixed 7 Mbps bitrate (#2381)
|
2026-09-02 17:32:01 +02:00 |
|
Hampus
|
501adff13d
|
refactor(voice): clamp premium video quality at read time (#2380)
|
2026-09-02 17:31:39 +02:00 |
|
Hampus
|
12c6fb7b7f
|
feat(voice): add screen-share audio and rollback error handling (#2379)
|
2026-09-02 17:31:27 +02:00 |
|
Hampus
|
376168c922
|
feat(voice): add the camera background effects pipeline (#2378)
|
2026-09-02 17:31:04 +02:00 |
|
Hampus
|
cadab239a2
|
feat(backgrounds): accept webm custom call backgrounds (#2377)
|
2026-09-02 17:30:50 +02:00 |
|
Hampus
|
f57dc77c6d
|
vendor(livekit): make local track swaps transactional (#2376)
|
2026-09-02 17:30:35 +02:00 |
|
Hampus
|
497a494c37
|
vendor(livekit): await setParameters in setDegradationPreference (#2375)
|
2026-09-02 17:30:22 +02:00 |
|
Hampus
|
02069e8e5d
|
feat(voice-engine): add a sourceLifecycle.removed event (#2374)
|
2026-09-02 17:30:08 +02:00 |
|
Hampus
|
626293392c
|
fix(ui): let callers style the audio level meter (#2373)
|
2026-09-02 17:29:55 +02:00 |
|
Hampus
|
dfe42ae3e3
|
feat(sound): play one-shot sounds immediately and abortably (#2372)
|
2026-09-02 17:29:43 +02:00 |
|
Hampus
|
453abfa145
|
fix(ui): keep context menus clear of the native titlebar (#2371)
|
2026-09-02 17:29:29 +02:00 |
|
Hampus
|
8ebc9400ce
|
fix(permissions): gate role hierarchy on known membership (#2370)
|
2026-09-02 17:29:06 +02:00 |
|
Hampus
|
1598f48edd
|
fix(guild): invalidate member sidebar on role changes (#2369)
|
2026-09-02 17:28:44 +02:00 |
|
Hampus
|
cc92f37f0c
|
test(app): stop reading gl calls as react hooks (#2368)
|
2026-09-02 17:28:32 +02:00 |
|
Hampus
|
9322aca6cb
|
fix(channel): restore composer draft and message focus (#2367)
|
2026-09-02 17:28:19 +02:00 |
|
Hampus
|
ee8fbd6f4f
|
fix(ui): keep the focus ring stable across refocus (#2366)
|
2026-09-02 17:27:57 +02:00 |
|
Hampus
|
1acd61a112
|
fix(ui): hand tooltips over between adjacent triggers (#2365)
|
2026-09-02 17:27:46 +02:00 |
|
Hampus
|
e836686a71
|
fix(permissions): map not-determined media status to prompt (#2364)
|
2026-09-02 17:27:35 +02:00 |
|
Hampus
|
ea6c417378
|
fix(discovery): keep category counts when a search resolves (#2363)
|
2026-09-02 17:27:22 +02:00 |
|
Hampus
|
16cc9a9e69
|
fix(app): clamp persisted accessibility values (#2362)
|
2026-09-02 17:27:10 +02:00 |
|
Hampus
|
6b5316fa84
|
fix(desktop): return a generic clipboard copy error (#2361)
|
2026-09-02 17:26:57 +02:00 |
|
Hampus
|
a53f5d1289
|
fix(desktop): verify privileged ipc senders (#2360)
|
2026-09-02 17:26:45 +02:00 |
|
Hampus
|
de2ea99928
|
fix(desktop): pin outbound fetches to a validated address (#2359)
|
2026-09-02 17:26:32 +02:00 |
|
Hampus
|
25f4332b9e
|
fix(auth): guard stale submissions and rework form error mapping (#2358)
|
2026-09-02 17:26:18 +02:00 |
|
Hampus
|
f703969e80
|
fix(auth): require a hashed poll secret for desktop handoff (#2357)
|
2026-09-02 17:25:54 +02:00 |
|
Hampus
|
b82681b77a
|
fix(auth): revoke the parsed token on logout (#2356)
|
2026-09-02 17:25:33 +02:00 |
|
Hampus
|
ef248a8515
|
fix(platform): parse api error responses in one place (#2355)
|
2026-09-02 17:25:21 +02:00 |
|
Hampus
|
73a2345c26
|
fix(app-proxy): validate config, csp sources, cap resource use (#2354)
|
2026-09-02 17:25:10 +02:00 |
|
Hampus
|
9f33177eab
|
fix(gateway): rate limit resume like identify (#2353)
|
2026-09-02 17:24:58 +02:00 |
|
Hampus
|
d5a752c338
|
fix(gateway): only trust the client ip header when enabled (#2352)
|
2026-09-02 17:24:46 +02:00 |
|
Hampus
|
4021a2d697
|
fix(gateway): bound the zstd decompression window (#2351)
|
2026-09-02 17:24:35 +02:00 |
|
Hampus
|
bea4a6dcbc
|
fix(read-state): keep a failed ack dispatch from failing acks (#2350)
|
2026-09-02 17:24:24 +02:00 |
|
Hampus
|
4f48e04cad
|
feat(api): serve well-known discovery with etag and 304 (#2349)
|
2026-09-02 17:24:11 +02:00 |
|
Hampus
|
5719dfe8a3
|
fix(auth): bucket phone attempt risk by v4 and v6 subnet (#2348)
|
2026-09-02 17:23:58 +02:00 |
|
Hampus
|
4fb14e85e8
|
fix(auth): harden login rate keys and totp reuse (#2347)
|
2026-09-02 17:23:47 +02:00 |
|
Hampus
|
1d84689b45
|
fix(api): validate push and domain verification targets (#2346)
|
2026-09-02 17:23:34 +02:00 |
|
Hampus
|
693aec2b4d
|
fix(api): trust recorded upload types and bound edit sizes (#2345)
|
2026-09-02 17:23:23 +02:00 |
|
Hampus
|
c79c0ee138
|
fix(api): bound storage listings, ranges and search paging (#2344)
|
2026-09-02 17:23:12 +02:00 |
|
Hampus
|
e86e24a2db
|
fix(captcha): drop the body-email contact policy exemption (#2343)
|
2026-09-02 17:23:02 +02:00 |
|
Hampus
|
0f7ad484ce
|
fix(constants): add captcha, cache and feature headers (#2342)
|
2026-09-02 17:22:51 +02:00 |
|
Hampus
|
bcd95b2af9
|
fix(http-client): validate public addresses at connect time (#2341)
|
2026-09-02 17:22:37 +02:00 |
|
Hampus
|
32dcd5ed1c
|
chore(i18n): resync message catalogs with source (#2340)
|
2026-09-02 17:22:21 +02:00 |
|
Hampus
|
5119febb5b
|
fix(api): send stickers through webhooks (#2338)
|
2026-09-02 13:55:54 +02:00 |
|
Hampus
|
20cdfd3009
|
fix(api): stop exporting unused worker heartbeat symbols (#2334)
|
2026-09-01 21:03:26 +02:00 |
|
Hampus
|
9f739427c4
|
fix(desktop): update rtrb past the double free advisory (#2336)
|
2026-09-01 21:03:19 +02:00 |
|
Hampus
|
0201cafd7e
|
fix(admin): mark the crate unpublished so cargo deny passes (#2335)
|
2026-09-01 21:03:12 +02:00 |
|
Hampus
|
37f57bb29f
|
fix(desktop): restore offline Flatpak builds (#2332)
|
2026-09-01 20:51:18 +02:00 |
|
Hampus
|
ebd723679b
|
docs(operator): refresh the bundle pin and tunnel setup (#2333)
|
2026-09-01 20:51:00 +02:00 |
|
Hampus
|
961fa1f007
|
fix(self-hosting): correct compose probes and origins (#2330)
|
2026-09-01 20:47:20 +02:00 |
|
Hampus
|
7900a4da0c
|
feat(ci): pin releases to an immutable image set (#2327)
|
2026-09-01 20:47:20 +02:00 |
|
Hampus
|
8a24730884
|
fix(kv): align rust and typescript schema migration (#2328)
|
2026-09-01 20:47:19 +02:00 |
|
Hampus
|
1688e7dc50
|
fix(api): survive transient database errors in the worker (#2326)
|
2026-09-01 20:47:19 +02:00 |
|
Hampus
|
aa267b54ec
|
fix(api): dead-letter retired worker task types (#2323)
|
2026-09-01 20:47:19 +02:00 |
|
Hampus
|
bc40073a02
|
fix(config): carry the public port into derived endpoints (#2329)
|
2026-09-01 20:47:18 +02:00 |
|
Hampus
|
a93f9dd0af
|
fix(app-proxy): separate readiness from liveness (#2322)
|
2026-09-01 20:47:18 +02:00 |
|
Hampus
|
53a9fdc4b6
|
fix(app-proxy): share one asset tree across architectures (#2325)
|
2026-09-01 20:47:17 +02:00 |
|
Hampus
|
cef600277c
|
fix(media-proxy): probe health with the binary not /dev/tcp (#2324)
|
2026-09-01 20:47:17 +02:00 |
|
Hampus
|
bdac438329
|
fix(docker): emit consistent OCI metadata on every image (#2321)
|
2026-09-01 20:47:16 +02:00 |
|
Hampus
|
2d77f36a0b
|
fix(ci): generate locale and channel files before typecheck (#2320)
|
2026-09-01 20:47:16 +02:00 |
|
Hampus
|
90aa810ce4
|
fix(gateway): share the relay dispatch bound across producers (#2315)
|
2026-09-01 04:34:41 +02:00 |
|
Hampus
|
cf3af50464
|
fix(kv): bound multi key fan out by pipelining per hash slot (#2313)
|
2026-09-01 02:59:00 +02:00 |
|
Hampus
|
3b5b20c139
|
fix(gateway): bound relay dispatch without per-event probes (#2312)
|
2026-09-01 02:56:21 +02:00 |
|
Hampus
|
24cd163acd
|
fix(kv): restore keyset paging for numeric key scans (#2314)
|
2026-09-01 02:54:10 +02:00 |
|
Hampus
|
49f76e5b40
|
fix(api): abort startup on unverifiable deletion queue state (#2311)
|
2026-09-01 02:45:29 +02:00 |
|
Hampus
|
871788f0a9
|
fix(gateway): reclaim ip connection counts from dead sockets (#2308)
|
2026-09-01 01:39:25 +02:00 |
|
Hampus
|
24138b70f1
|
fix(kv): stop multi-key commands spanning cluster slots (#2310)
|
2026-09-01 01:39:16 +02:00 |
|
Hampus
|
da3332e711
|
fix(gateway): bound relay worker mailboxes without reordering (#2309)
|
2026-09-01 01:38:36 +02:00 |
|
Hampus
|
06e5cf2032
|
perf(gateway): evict presence tombstones in insertion order (#2307)
|
2026-09-01 01:34:57 +02:00 |
|
Hampus
|
d4b1923c23
|
fix(gateway): stop presence evictions suppressing repair (#2305)
|
2026-09-01 01:33:13 +02:00 |
|
Hampus
|
42df4f6731
|
fix(kv): drop the row_key order probe that cliffed paged scans (#2306)
|
2026-09-01 01:32:33 +02:00 |
|
Hampus
|
f1e6e94041
|
fix(cache): stop a timed out produce pinning its tracking entry (#2304)
|
2026-09-01 01:28:12 +02:00 |
|