Commit graph

131 commits

Author SHA1 Message Date
Joachim Bauch
10c1d25f20
Update generated files. 2026-03-09 09:58:57 +01:00
Joachim Bauch
d3d1644848
Bump module version to "v2" so versions 2.x can be imported by others. 2026-03-04 20:41:06 +01:00
Joachim Bauch
a5b583910a
Add proxy API tests. 2026-02-02 15:39:17 +01:00
Joachim Bauch
124c37108b
Move SFU related code to separate packages.
With that move GRPC client code to "grpc" package to break dependencies.
Also introduce new "proxy" package with common proxy-related code.
2026-01-12 13:16:50 +01:00
Joachim Bauch
9bbc0588e3
Move code for commandline applications to "cmd" folder. 2026-01-12 13:16:49 +01:00
Joachim Bauch
fbf93dca42
Move Talk-specific API to "talk" package. 2026-01-12 13:16:34 +01:00
Joachim Bauch
231f7c8af4
Move geo related code to "geoip" package.
With that, add dedicated types for "Country" and "Continent".
2026-01-12 13:16:33 +01:00
Joachim Bauch
6756520447
Move etcd client code to "etcd" package. 2026-01-12 13:16:30 +01:00
Joachim Bauch
3e18e6a4fa
Move function to check for address already in use to test package. 2026-01-12 13:16:29 +01:00
Joachim Bauch
98764f2782
Move confiuration helpers to config module. 2026-01-12 13:16:27 +01:00
Joachim Bauch
179498f28b
Move signaling api types to api package. 2026-01-12 13:16:25 +01:00
Joachim Bauch
e478b93ba0
Move LruCache to container package. 2026-01-08 10:24:06 +01:00
Joachim Bauch
bc9b353975
Move IPList (from AllowedIps) to container package. 2026-01-08 10:24:06 +01:00
Joachim Bauch
a1ec06d802
Move SplitEntries helper to internal package. 2026-01-08 10:24:05 +01:00
Joachim Bauch
0006f74c2d
Move backoff code to async package. 2026-01-08 10:23:59 +01:00
Joachim Bauch
62587796ce
Move logging code to separate package. 2025-12-09 15:26:47 +01:00
Joachim Bauch
d8d17734cb
Improve use of testify assertions. 2025-12-05 11:13:09 +01:00
Joachim Bauch
f338a7b91e
Don't use string formatting without parameters, optimize simple cases. 2025-12-05 11:13:08 +01:00
Joachim Bauch
4986122493
Run tests in parallel where possible. 2025-12-05 11:09:01 +01:00
Joachim Bauch
f237458b35
Don't capitalize variable name. 2025-12-05 11:08:57 +01:00
Joachim Bauch
c581bc14d5
lint: Enable "errchkjson" and update json.Marshal error handling. 2025-12-05 11:08:54 +01:00
Joachim Bauch
f3a81c23c3
Implement custom session id codec that generates shorter ids.
Inspired by the previously used https://github.com/gorilla/securecookie
and simplified / adjusted to our use case.
2025-12-02 16:55:43 +01:00
Joachim Bauch
f4fca4f52b
Use microseconds instead of timestamppb object for session creation. 2025-12-02 10:06:47 +01:00
Joachim Bauch
e90760a2f1
Use test-related logger for embedded etcd. 2025-11-24 14:04:15 +01:00
Joachim Bauch
5863cdd795
Fix remote connection still logging after close.
Was triggered by TestProxyRemoteSubscriber.
2025-11-20 09:42:40 +01:00
Joachim Bauch
6ca41dee61
Don't use global logger. 2025-11-20 09:42:40 +01:00
Joachim Bauch
dca35b46d4
Don't format zero bandwidth as "unlimited". 2025-11-18 15:35:06 +01:00
Joachim Bauch
14d1c9bf59
Log formatted bandwidths. 2025-11-18 09:39:24 +01:00
Joachim Bauch
3aacca1ff7
Switch to new Bandwidth type. 2025-11-06 10:57:24 +01:00
Joachim Bauch
889ec056f2
Also expose bandwidth usage of backend servers through metrics. 2025-11-05 12:11:13 +01:00
Joachim Bauch
9b79aac1cf
Add tests for Janus events handler. 2025-11-05 11:52:54 +01:00
Joachim Bauch
395f2a951b
Expose real bandwidth usage through metrics.
Data is fetched from Janus websocket events handler that sends messages for
various events like media stats.
2025-11-04 16:16:44 +01:00
Joachim Bauch
c7dcfa765c
Return bandwidth information in room responses. 2025-10-28 08:24:48 +01:00
Joachim Bauch
e027c484bd
Merge pull request #1078 from strukturag/gvisor-checklocks
Use gvisor checklocks for static lock analysis.
2025-10-23 11:35:58 +02:00
Joachim Bauch
41c18d2531
Protect access to the debug pprof handlers. 2025-10-08 10:46:06 +02:00
Joachim Bauch
9dfcf3c75a
Add more proxy tests. 2025-10-01 13:49:34 +02:00
Joachim Bauch
b34b8acb6d
Test and fix reconnections in remote proxy connections. 2025-10-01 13:49:33 +02:00
Joachim Bauch
cfd8cf6718
Use gvisor checklocks for static lock analysis.
Also fix locking issues found along the way.

See https://github.com/google/gvisor/tree/master/tools/checklocks for details.
2025-10-01 13:49:32 +02:00
Joachim Bauch
178503fef7
Make LruCache typed through generics. 2025-09-30 09:57:04 +02:00
Joachim Bauch
41728572fe
Move "StringMap" class to api module. 2025-09-26 13:50:18 +02:00
Joachim Bauch
5892baa3bb
Use interfaces to detect support for remote publishing / streams. 2025-09-09 11:38:48 +02:00
Joachim Bauch
51326069e2
Add dedicated types for different session ids. 2025-09-09 11:38:47 +02:00
Joachim Bauch
efb9771f47
Use "slices" / "iter" module where possible. 2025-08-18 08:29:09 +02:00
Joachim Bauch
210aec62db
Simlify splitting string into non-empty entries. 2025-08-14 16:54:28 +02:00
Joachim Bauch
639588f550
Modernize Go code and check from CI. 2025-08-14 09:23:25 +02:00
Joachim Bauch
3e6428d72f
Add type for string maps. 2025-07-30 10:48:31 +02:00
Joachim Bauch
613806be14
modernize: Replace "interface{}" with "any". 2025-07-30 09:44:18 +02:00
Joachim Bauch
c7cbfcdce2
Support filtering candidates received by clients.
Can be customized through an allow- and blocklist. This can be used to
prevent servers from trying to access private IPs when finding candidate
pairs.
2025-06-12 14:25:45 +02:00
Joachim Bauch
e0e6cb6e9d
Add jitter to reconnect intervals.
This prevents all servers from reconnecting at the same time in case of network
interruptions or service restarts.
2025-05-07 11:18:52 +02:00
Joachim Bauch
420f7eb0ba
Close connection if last remote publisher is removed. 2025-05-07 10:28:49 +02:00