Storm Dragon
704b1a9558
Removed unused captions code.
2026-07-09 11:15:35 -04:00
Storm Dragon
26c7808587
Started reworking skaldctl. Give room status along with room name.
2026-05-30 22:46:32 -04:00
Storm Dragon
0a149e51ef
Chalkboard feature added.
2026-05-24 22:36:27 -04:00
Storm Dragon
aac197ef54
lock and unlock should now broadcast to the hall. Users trying to enter if hall is locked should now get message indicating the hall is locked. Removed redundant start with options. Browser requests mic permissions, also there is a mute option in the ui itself, so this seemed superfluous
2026-05-22 02:10:50 -04:00
Storm Dragon
e257b344d1
First pass at full fork pretty much complete.
2026-05-20 14:29:39 -04:00
Storm Dragon
6275e3adef
Latest code. Working voice, still needs some ui cleanup and accessibility fixes but in decent shape.
2026-05-19 21:47:31 -04:00
Storm Dragon
965347cad4
Checkpoint audio-only Skald fork work
2026-05-18 13:06:57 -04:00
Storm Dragon
a8ada950d5
Rename group package and defaults to halls
2026-05-17 22:37:38 -04:00
Storm Dragon
bda0e548d3
Rebrand project as Skald
2026-05-17 22:16:08 -04:00
Storm Dragon
f718385342
Fix typo in missing user error
2026-05-09 12:56:31 -04:00
Juliusz Chroboczek
122db74fb8
Use message passing for changing permissions.
...
We used to handle permission change commands by directly mutating
the permissions field from the source client's thread, which is
racy. We now use message passing.
Thanks to Vinayak Mishra.
2026-04-30 00:50:22 +02:00
Juliusz Chroboczek
2b4952fcf1
Protect websocket against oversized messages.
...
The maximum message size of 1MB is probably overkill, but SDP
can grow pretty large. Thanks to Vinayak Mishra.
2026-04-07 15:45:24 +02:00
Juliusz Chroboczek
a217b7bbc4
Hierarchical tokens.
2025-08-01 15:07:34 +02:00
Juliusz Chroboczek
e7162642a7
Clone Group.Data and Client.Data.
...
This avoids a race condition. Thanks to git-lul.
2025-07-09 23:39:37 +02:00
Juliusz Chroboczek
3b83044d67
Implement ICE restarts for WHIP.
2025-03-10 13:43:10 +01:00
Juliusz Chroboczek
9892ddbc5e
Add ETag support to WHIP server.
2025-03-08 22:45:28 +01:00
Juliusz Chroboczek
078332f73a
Check ICE ufrag and pwd in WHIP PATCH requests.
2025-03-08 22:44:55 +01:00
Juliusz Chroboczek
8f0850d0f0
Upgrade to Pion v4.
2025-03-08 18:41:52 +01:00
Juliusz Chroboczek
ef0201c94d
Replace RTCPFeedback in down tracks.
...
We used to copy the RTCPFeeback field from the up track. It is
more correct to regenerate it with the exact feedback types
that we expect.
2024-11-30 17:55:24 +01:00
Juliusz Chroboczek
07f4aab9b1
Add new "caption" permission.
...
It is required for displaying captions.
2024-11-08 15:22:41 +01:00
Juliusz Chroboczek
123d51e011
Implement selective clearchat.
2024-08-17 16:56:06 +02:00
Juliusz Chroboczek
eb72069c9b
Add id to chat messages.
2024-08-17 16:56:06 +02:00
Juliusz Chroboczek
ee18b60226
Reduce server-side timeout.
2024-06-10 21:32:11 +02:00
Juliusz Chroboczek
bc512462c7
Fix parsing of AddClient error.
...
NotAuthorisedError may unwrap to os.ErrNotExist.
2024-06-08 14:52:14 +02:00
Juliusz Chroboczek
4eaf6d058a
Remove obsolete ErrAnonymousNotAuthorised.
2024-05-11 13:39:50 +02:00
Juliusz Chroboczek
ea4086243b
Use UTC dates in token issuedAt field.
2024-05-08 17:25:28 +02:00
Juliusz Chroboczek
1315084185
Implement message permission and shutup command.
2024-05-08 16:24:32 +02:00
Juliusz Chroboczek
ea4f14ee0a
Enforce clearchat permissions in the server.
...
It was only being enforced in the client.
2024-05-08 15:38:51 +02:00
Juliusz Chroboczek
a76f225bc0
Implement command /identify.
2024-05-01 23:38:31 +02:00
Juliusz Chroboczek
e7e8a9b555
Add method Addr to client.
2024-05-01 23:38:21 +02:00
Juliusz Chroboczek
2f5c21d161
Implement accessors for stateful tokens.
2024-05-01 22:39:48 +02:00
Juliusz Chroboczek
3409f5a27f
Replace uses of os.IsExist and os.IsNotExist with errors.Is.
...
The former don't properly unwrap errors.
2024-04-14 13:34:32 +02:00
Juliusz Chroboczek
68887f13d5
Rename tokens.Edit to Extend.
2024-04-14 13:21:55 +02:00
Juliusz Chroboczek
b8f7c68338
Return correct error message for invalid tokens.
2024-03-03 15:42:46 +01:00
Juliusz Chroboczek
89f947df1f
Rework handling of authorisation errors.
...
We'd sometimes return "Internal server error" on authentication
failures. This should be gone now.
2024-03-03 13:43:50 +01:00
Juliusz Chroboczek
29e006037c
Allow proxyURL to contain a path.
...
We now support or reasonable values for proxyURL, such as "http:"
or "/galene".
2024-02-24 12:46:30 +01:00
Juliusz Chroboczek
dc34350d8f
Complete parsing of WHIP candidates.
2023-12-20 01:42:11 +01:00
Juliusz Chroboczek
002d519f91
Use a named type for trackAction kind.
2023-12-09 22:13:24 +01:00
Juliusz Chroboczek
1c042b55af
Fix typo in error message.
2023-12-09 17:32:16 +01:00
Juliusz Chroboczek
00fbfafeeb
Make unbounded channels explicit.
...
We used to have unbounded channels embedded within rtpconn
and webClient. Make the structure explicit and testable.
2023-12-09 17:27:38 +01:00
Juliusz Chroboczek
1e050fa4e3
Implement the WHIP protocol.
2023-07-11 17:25:58 +02:00
Juliusz Chroboczek
dc8a78be32
Add test for parseStatefulToken.
2023-05-04 03:32:44 +02:00
Juliusz Chroboczek
76066a1a10
Fix error handling in maketoken.
2023-05-04 03:31:09 +02:00
Juliusz Chroboczek
1879ec81ea
Don't send empty version fields.
...
We used to send a null version field in every message. Don't.
2023-04-29 19:59:36 +02:00
Juliusz Chroboczek
8775ce6406
Keep track of issuer and creation date in tokens.
2023-04-08 21:13:35 +02:00
Juliusz Chroboczek
c501b76d2b
Rework selection of simulcast tracks.
...
We used to hard-wire the rid identifiers. We now assume that
the simulcast streams are ordered in decreasing order of quality.
2023-04-06 12:40:22 +02:00
Juliusz Chroboczek
4c9e00d874
Report username errors to client.
...
We now report ErrUsernameRequired and ErrDuplicateUsername
errors by setting the "error" field of messages.
2023-04-04 01:22:05 +02:00
Juliusz Chroboczek
8aa95f5e22
Add protocol messages for managing tokens.
2023-04-04 00:59:54 +02:00
Juliusz Chroboczek
aa53b78b2c
Distinguish between no username and empty username.
2023-04-03 22:58:38 +02:00
Juliusz Chroboczek
a1c1345719
Server-side support for protocol 2.
...
The "time" field of messages is now a string in RFC 3339 format,
and there is a new "error" field in messages.
2023-04-03 22:58:38 +02:00