1
Fork 0
Commit Graph

1150 Commits

Author SHA1 Message Date
Juliusz Chroboczek e73aaa31d7 Remove tokens.Del.
It was unused.
2023-07-09 11:51:18 +02:00
Juliusz Chroboczek 1afb3c85b0 Open microphone early on Safari.
Safari forbids autoplay and omits host candidates unless the microphone
is open.
2023-07-05 23:41:59 +02:00
Juliusz Chroboczek 0de0199742 Resynchronise with disk when editing tokens.
We used to assume that the in-memory representation is in sync
when editing a stateful token.  That is usually the case, since
editing requires knowing the token to edit, but resynchronising
here is the right thing to do.
2023-05-19 15:08:05 +02:00
Juliusz Chroboczek 6a3b9a3b7e Fix typo in README.
Thanks to Fabien de Montgolfier.
2023-05-16 18:54:35 +02:00
Juliusz Chroboczek 4acd60022f Update CHANGES for 0.7.1. 2023-05-14 21:22:42 +02:00
Juliusz Chroboczek 3c0dbf5e9b Reliably return an error from token.Parse.
We would sometimes return nil cast to an interface with no error,
which would cause the server to crash with a null dereference.
2023-05-14 21:14:59 +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 2c852206bd Add dialog for generating tokens. 2023-05-03 23:30:48 +02:00
Juliusz Chroboczek 1afd995844 Improve token formatting. 2023-05-03 22:55:27 +02:00
Juliusz Chroboczek cfb5d936ee Improve interface to makeToken.
It now takes a template that allows setting all options.
2023-05-03 18:48:35 +02:00
Juliusz Chroboczek 3228147eed Tweak README. 2023-05-03 14:48:54 +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 e786e1bd11 Pass file transfer cancel message to callback. 2023-04-28 16:57:00 +02:00
Juliusz Chroboczek 8f1bc93cca Protect against clients with an empty id. 2023-04-28 16:51:17 +02:00
Juliusz Chroboczek 7f93aa5dc8 Simpler Firefox workaround in addUpTrack.
Rather than trying to determine whether the workaround is needed,
we now perform it unconditionally, and ignore the resulting exception
on non-broken browsers.
2023-04-13 22:26:41 +02:00
Juliusz Chroboczek 3ea4b8a32a Remove Firefox workaround from setUpStream.
This is no longer needed since version 110.
2023-04-13 16:37:26 +02:00
Juliusz Chroboczek 3b0468db50 Update CHANGES for 0.7.0. 2023-04-10 15:29:48 +02:00
Juliusz Chroboczek 031590b4e9 Rename 'allow-tokens' to 'unrestricted-tokens'. 2023-04-10 14:42:01 +02:00
Juliusz Chroboczek 377827118a Declare go-1.17 in go.mod. 2023-04-08 22:13:10 +02:00
Alexandre Iooss 16e187bcb7 Autofocus group input on index page 2023-04-08 21:21:31 +02:00
Alexandre Iooss 49db9f94d5 Autofocus username input on login page 2023-04-08 21:21:29 +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 ea7142ca9a Update README.PROTOCOL. 2023-04-04 23:13:50 +02:00
Juliusz Chroboczek 4d2c87bdc4 Update README.FRONTEND. 2023-04-04 23:09:02 +02:00
Juliusz Chroboczek 976df35e81 Update README. 2023-04-04 23:06:20 +02:00
Juliusz Chroboczek 5f58ce04af Update CHANGES. 2023-04-04 01:47:18 +02:00
Juliusz Chroboczek adf273f9ea Expire expired tokens.
We now remove a token a week after it has expired.
2023-04-04 01:22:05 +02:00
Juliusz Chroboczek e93642f9db Add menu entry for inviting, use native dialog on mobile. 2023-04-04 01:22:05 +02:00
Juliusz Chroboczek 3a6551c733 Implement "allow-tokens". 2023-04-04 01:22:05 +02:00
Juliusz Chroboczek ac1dc77b30 Reconnect when server complains about a username.
If a token does not specify a username, the server will request
one by failing the join message.  Disconnect from the WebSocket
in that case, and display the login dialog with the password
field invisible.
2023-04-04 01:22:05 +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 8c1510023f Implement user interface for token management. 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 a6314a7384 Implement stateful tokens.
Stateful tokens look just like cryptographic tokens to the client.
Unlike cryptographic tokens, they are stored in a file and are
revokable and editable.
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
Juliusz Chroboczek c58064d923 Move token handling into the separate module.
Tokens are now an interface, and all the token logic is encapsulated
in the token module.
2023-04-03 22:58:38 +02:00
Juliusz Chroboczek 59ff25310d Don't set group if joining failed.
We used to set sc.group even if joining failed, which would cause
us to spuriously call the onJoined callback when we disconnected.
2023-04-03 22:57:36 +02:00
Juliusz Chroboczek cba04e7de5 Fix typo in handling of join messages. 2023-04-03 22:33:36 +02:00
Alexandre Iooss 02e7c7e824 Add Referrer-Policy and X-Content-Type-Options headers 2023-04-01 15:32:23 +02:00
Juliusz Chroboczek df55c1e7cc Update dependencies. 2023-04-01 13:20:49 +02:00
Juliusz Chroboczek e47ca20a9f Remove spurious argument to gotConnected. 2023-03-22 18:19:04 +01:00
Juliusz Chroboczek 58ef60f974 Minor tweaks to file transfer.
Avoid copying data when sending, improve error handling.
2023-01-22 22:24:51 +01:00
Juliusz Chroboczek dbeb75ee0e Better progress indicator for file transfer. 2023-01-16 15:51:40 +01:00
Juliusz Chroboczek 645ba5fb48 Split out file transfer button handling.
Split out deleting of buttons during file transfer into its own
function.
2023-01-16 14:39:20 +01:00
Juliusz Chroboczek f75b964a6b Distinguish tokens with empty sub from no sub
We now distinguish between tokens that specify an empty username
(sub="") and tokens that don't specify sub.  The latter are
considered invalid for now.
2023-01-14 23:19:51 +01:00
Juliusz Chroboczek 3cd66cb17a Update CHANGES for 0.6.2. 2023-01-11 20:20:44 +01:00
Juliusz Chroboczek de57748043 Disable simulcast for screen sharing.
Simulcast doesn't seem to work well with screen sharing: only one
layer is sent, which has very low throughput since we send the low
layer first.  Disable simulcast for screen sharing.
2023-01-11 19:36:33 +01:00