Commit Graph

742 Commits

Author SHA1 Message Date
zarazaex69
76026c5452 refactor: extract length-prefix framing into shared package
handshake and control duplicated the same 4-byte BE length + body framing
with independent ErrFrameTooLarge constants. Centralize in internal/framing
and have both callers delegate. ErrFrameTooLarge is re-exported so existing
errors.Is checks keep working.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 06:51:12 +03:00
zarazaex69
a48db522b1 refactor(jitsi): extract peer latch helper logic 2026-05-16 05:43:36 +03:00
zarazaex69
d60f649ba7 fix(e2e): isolate default Jitsi test rooms 2026-05-16 05:35:37 +03:00
zarazaex69
d80d725d5e fix(jitsi): isolate bridge and video to one peer 2026-05-16 05:29:51 +03:00
zarazaex69
a636236523 refactor(videochannel): simplify frame decoding logic 2026-05-16 05:01:41 +03:00
zarazaex69
6633c1ef8a fix: isolate videochannel peers in shared rooms 2026-05-16 04:55:25 +03:00
zarazaex69
00a79b3c99 fix: update jitsi video source handling 2026-05-16 04:34:59 +03:00
zarazaex69
ff90942214 fix: close sessions before connections on shutdown 2026-05-16 04:13:07 +03:00
zarazaex69
6222896921 refactor: improve error context and test clarity 2026-05-16 04:06:55 +03:00
zarazaex
6116130e3b Merge pull request #58 from cyber-debug/refine/livekit-reconnect
refine livekit reconnect and liveness
2026-05-16 03:47:47 +03:00
cyber-debug
79c1511268 Fix seichannel readiness before sending 2026-05-16 02:44:18 +03:00
zarazaex69
4bf72e5b87 fix(salutejazz): close websocket before waiting on shutdown 2026-05-16 02:24:21 +03:00
cyber-debug
b7a7e40899 feat: add safe traffic shaping and TLS hardening 2026-05-16 02:10:34 +03:00
cyber-debug
b0aee57aa5 feat: track failover supervisor status 2026-05-16 02:10:33 +03:00
cyber-debug
82b5741ab1 feat: add planned session rotation 2026-05-16 02:10:33 +03:00
cyber-debug
4c6bd2b838 feat: expose control health status 2026-05-16 02:10:33 +03:00
cyber-debug
d16cd0686a feat: expose mobile liveness options 2026-05-16 02:10:33 +03:00
cyber-debug
b0fc3bd0f1 feat: add control stream liveness 2026-05-16 02:10:33 +03:00
cyber-debug
a86f5c6948 feat: add reconnect hardening and failover profiles 2026-05-16 02:10:33 +03:00
zarazaex69
71c2c926a9 ci: add jitsi to real provider e2e matrix 2026-05-16 02:07:00 +03:00
zarazaex69
70fe69c909 style(ci): normalize yaml quoting and spacing 2026-05-16 02:06:51 +03:00
zarazaex69
5ec58bee98 refactor: extract unstable test logging helper 2026-05-16 01:53:55 +03:00
zarazaex69
1ee1ddd7f0 test(e2e): mark sei transport on jitsi as unstable 2026-05-16 01:50:48 +03:00
zarazaex69
82e8067384 fix(client,server): defer shutdown BEFORE bringUpLink to close MUC on early failures
When bringUpLink errored — a handshake timeout against a wedged transport,
for instance — Run/RunWithReady returned straight to the caller without
calling shutdown, so the carrier link that had already joined the MUC
was never closed. The result was a ghost participant lingering on
Jicofo/JVB until idle timeout, which the next test in the same room
inherited as stale endpoints in 'bridge open'.

The clue from logs was that failing seichannel runs produced one
'leave-muc handshake ok' instead of two: the server's normal
ctx-cancel path got there cleanly, but the client's bringUpLink
returned early and skipped its defer.

Both paths now register shutdown before the bringUpLink call. shutdown
is nil-safe and idempotent so it works whether or not bringUpLink
actually populated link/session fields. server's wg.Wait moves into
the same defer so wg goroutines spawned by partial setup also drain
before Run returns.
2026-05-16 01:38:52 +03:00
zarazaex69
bc22e0c76b build(deps): bump github.com/zarazaex69/j 2026-05-16 01:23:05 +03:00
zarazaex69
f7c157dfe3 fix(jitsi): align session close with leave flow 2026-05-16 01:09:01 +03:00
zarazaex69
0676fc2e47 fix(engine): delay session close teardown 2s 2026-05-16 00:09:41 +03:00
zarazaex69
4db4007985 fix(jitsi): wait longer after leaving MUC 2026-05-16 00:04:51 +03:00
zarazaex69
71db9c4700 fix(jitsi): start stanza drain before session accept 2026-05-15 23:41:36 +03:00
zarazaex69
5e0a89a78d Revert "fix(transport): isolate peer frames by channel id"
This reverts commit 75e2674f48.
2026-05-15 23:09:24 +03:00
zarazaex69
a9512d2488 Revert "fix(transport): pin peer channel after validation"
This reverts commit 7f9351dad6.
2026-05-15 23:09:24 +03:00
zarazaex69
7f9351dad6 fix(transport): pin peer channel after validation 2026-05-15 22:53:58 +03:00
zarazaex69
75e2674f48 fix(transport): isolate peer frames by channel id 2026-05-15 22:47:32 +03:00
zarazaex69
86193f4749 fix(wbstream): use server URL from token response 2026-05-15 22:26:57 +03:00
zarazaex69
6536249f72 feat: add randomID function to generate unique track and stream IDs 2026-05-15 22:00:45 +03:00
zarazaex69
bd09495e8f feat(jitsi): request video after session accept 2026-05-15 18:48:00 +03:00
zarazaex69
714d2f9f48 fix(jitsi): avoid closing session on connect failure 2026-05-15 16:55:25 +03:00
zarazaex69
e86604276d fix(jitsi): transliterate Cyrillic in sanitiseNick 2026-05-15 16:47:16 +03:00
zarazaex69
6276bf0fc6 test(e2e): treat real provider transports as pass-only 2026-05-15 16:47:09 +03:00
zarazaex69
36d1243395 fix(carrier): classify auth provider failures 2026-05-15 16:32:59 +03:00
zarazaex69
9cfb4fd9c3 docs: make jitsi the default recommended provider 2026-05-15 16:15:55 +03:00
zarazaex69
5d54209e24 fix(session): allow providers without default URL 2026-05-15 16:08:28 +03:00
zarazaex69
fa17aefe25 fix(jitsi): send jingle terminate before close 2026-05-15 15:48:48 +03:00
zarazaex69
85a3186703 refactor(jitsi): extract helpers and simplify tests 2026-05-15 15:45:07 +03:00
zarazaex69
eceeaeba92 feat(jitsi): add Jitsi auth provider and engine 2026-05-15 15:37:58 +03:00
zarazaex69
af87120f73 docs: update transport compatibility docs 2026-05-14 20:22:37 +03:00
zarazaex69
6ba8fcdbe8 test(e2e): mark jazz non-data transports as fail 2026-05-14 19:51:26 +03:00
zarazaex69
f6e654dfce fix(salutejazz): include video tracks in publisher offer 2026-05-14 19:42:54 +03:00
zarazaex69
3c4ae52027 fix(salutejazz): unmute camera after publisher offer 2026-05-14 19:09:35 +03:00
zarazaex69
1c43379448 feat(salutejazz): support ICE and staged video offers 2026-05-14 18:39:10 +03:00