1
0
mirror of https://github.com/dani/vroom.git synced 2024-06-28 01:39:29 +02:00
Commit Graph

286 Commits

Author SHA1 Message Date
Daniel Berteaud
14b6298d77 Automatically handle cookie signing keys
Which will get renewed every 24 hours. Remove the now useless cookie section of the config
2015-06-29 19:09:28 +02:00
Daniel Berteaud
c8d6bde2de Fixes in authenticate methode 2015-06-27 14:06:01 +02:00
Daniel Berteaud
92de57efdb Some more simplification in peer role handling 2015-06-26 16:26:02 +02:00
Daniel Berteaud
54f0648d1d Simplifications in peer role manipulations 2015-06-26 15:43:12 +02:00
Daniel Berteaud
2b262733b1 Handle peer_id generation during Socket.IO handshake 2015-06-26 15:09:28 +02:00
Daniel Berteaud
ae2d160f9e Some fixes in API Key and session handling 2015-06-26 14:52:05 +02:00
Daniel Berteaud
1368baec84 Log modified fields when modifying a room conf 2015-06-26 14:38:11 +02:00
Daniel Berteaud
0ca69a4edc Some missing owner column leftover 2015-06-26 13:45:04 +02:00
Daniel Berteaud
601632c07b Drop the owner column in rooms table, useless 2015-06-26 13:36:56 +02:00
Daniel Berteaud
a7efdd54a7 Return an error if trying to create an already existing room 2015-06-26 13:30:46 +02:00
Daniel Berteaud
57c5252f7e Get rid of the useless name in session 2015-06-26 12:06:37 +02:00
Daniel Berteaud
c0fa2bb3e5 Don't record IP in session, as it's not used 2015-06-26 11:51:37 +02:00
Daniel Berteaud
dac6a1f3ae Purge the DB every 15 minutes instead of 5 2015-06-26 11:16:37 +02:00
Daniel Berteaud
28b62f9931 Fix etherpad session creation 2015-06-26 09:15:55 +02:00
Daniel Berteaud
2a00e86a2e password is not reserved anymore 2015-06-25 23:19:34 +02:00
Daniel Berteaud
761f9035d5 Get rid of the ping API call, useless now 2015-06-25 23:18:18 +02:00
Daniel Berteaud
305b6cf5eb Some big changes arround password and authentication handling 2015-06-25 19:20:22 +02:00
Daniel Berteaud
a0273ab7aa Set default role to participant if there's no join password 2015-06-23 09:50:48 +02:00
Daniel Berteaud
d5c95fb9eb Remove the old password route and template 2015-06-22 22:33:17 +02:00
Daniel Berteaud
506b6f12db Prompt for a password in a niver popup
Fix #97
2015-06-22 22:27:04 +02:00
Daniel Berteaud
a108b81e3a Update authenticate method
so it can be called anonymously
2015-06-22 21:32:23 +02:00
Daniel Berteaud
d311b4cc6d Typo in comment 2015-06-22 19:53:29 +02:00
Daniel Berteaud
de1cbae578 Only check invitation response if required
Will greatly reduce number of DB queries
2015-06-19 17:30:13 +02:00
Daniel Berteaud
c22ed01a86 get_mtime isn't needed anymore 2015-06-19 16:16:54 +02:00
Daniel Berteaud
2d8a599cc6 Detect supported lang based on files in I18N 2015-06-19 15:54:28 +02:00
Daniel Berteaud
53975723bd Don't check if modifying persistence is allowed if not needed 2015-06-19 14:58:32 +02:00
Daniel Berteaud
98439ac100 Move conf loading in it's own pm 2015-06-19 14:57:18 +02:00
Daniel Berteaud
95e8c0d9b7 Default value for directories.cache 2015-06-19 08:58:41 +02:00
Daniel Berteaud
024a362944 Make the cache directory configurable
First step to be more package friendly
2015-06-18 19:05:13 +02:00
Daniel Berteaud
ef4183a47c Change get_room_members so it returns a array of peer id
Instead of just the number of participants
2015-06-18 15:32:36 +02:00
Daniel Berteaud
76532851f2 Some comment enhancements 2015-06-18 14:28:28 +02:00
Daniel Berteaud
6c3499cd1c Change class for invitation response messages 2015-06-17 19:11:00 +02:00
Daniel Berteaud
d9c8904c14 Manage invitation responses in the signaling heartbeat
Instead of the ping API call, which results in almost instantaneous responses
And now the ping API is only used to update room activity timestamp, and will be able to get removed soon
2015-06-17 19:07:23 +02:00
Daniel Berteaud
c6a39b7c0c Purge expired rooms and invitation in an IOLoop instead of the ping hack 2015-06-17 09:23:27 +02:00
Daniel Berteaud
cc13881390 get_url doesn't exist anymore, switch to url_for 2015-05-22 17:18:08 +02:00
Daniel Berteaud
89a5e5bbc4 Don't try to log token if it's not defined 2015-05-22 17:15:35 +02:00
Daniel Berteaud
188d333098 Fix owner authenticating through the authenticate api method 2015-03-18 17:47:03 +01:00
Daniel Berteaud
15c3980792 Don't send notified emails to non owner 2015-03-18 17:41:46 +01:00
Daniel Berteaud
54a2dce8bf Some cleanups in key/room/role association and checks 2015-03-18 17:28:58 +01:00
Daniel Berteaud
1edd844272 Some changes in the way peer role is handled 2015-03-18 16:42:12 +01:00
Daniel Berteaud
a2c65ad26c Small changes regarding static resources caching 2015-03-18 13:58:08 +01:00
Daniel Berteaud
f480f9b537 Log who's logging out before destroying the session 2015-03-18 11:37:27 +01:00
Daniel Berteaud
f8257889b3 Mark active page as such in the toolbar 2015-03-18 11:06:46 +01:00
Daniel Berteaud
fb3f5fa05f Send JSON bool for room conf 2015-03-18 10:45:40 +01:00
Daniel Berteaud
9e20d9208f Combine all JS files in one template 2015-03-18 09:35:59 +01:00
Daniel Berteaud
5a832da7a2 Remove get_url wrapper 2015-03-17 23:13:18 +01:00
Daniel Berteaud
63bccc1cb8 Replace URI with Mojo::URL
Plus some cleanups in URI handling
2015-03-17 22:34:30 +01:00
Daniel Berteaud
d38be16526 Remove the signaling URI settings
it now can be determined automatically
2015-03-17 22:22:56 +01:00
Daniel Berteaud
76086b39e4 Set log level just before starting the app 2015-03-17 22:09:33 +01:00
Daniel Berteaud
255ac408f3 Move log level to the daemon section 2015-03-17 21:50:53 +01:00
Daniel Berteaud
edec884c37 Minify and combine static assets with Mojolicious::Plugin::StaticCompressor 2015-03-17 21:45:19 +01:00
Daniel Berteaud
511a996679 Unicast messages on the signaling channel if needed
Fix #99
2015-03-17 17:47:34 +01:00
Daniel Berteaud
75238a2631 Fallback to en if current locale is not complete 2015-03-17 17:06:18 +01:00
Daniel Berteaud
3e2fbbcd11 Reject uninitialized room names 2015-03-17 16:56:35 +01:00
Daniel Berteaud
67c3f5705e Fix SQL query syntax 2015-03-17 15:24:02 +01:00
Daniel Berteaud
f2a2e877a6 Remove the old rfc5766-turn-server auth method as it doesn't brings anything
Compared to the new TURN REST API
2015-03-17 14:30:31 +01:00
Daniel Berteaud
14d179ebc0 Implement TURN REST API compatible credentials 2015-03-17 14:04:00 +01:00
Daniel Berteaud
6960665111 Support several STUN and TURN severs 2015-03-16 18:03:00 +01:00
Daniel Berteaud
4acc2cb4ab Add empty doc page 2015-03-12 13:42:26 +01:00
Daniel Berteaud
fd1f38ebc5 Add a new "demo" mode
And when enabled, display a new "Who's behind VROOM" part in the about page
2015-03-12 13:10:31 +01:00
Daniel Berteaud
8826076e0a Rename get_notification to get_email_notifications 2015-03-11 12:17:52 +01:00
Daniel Berteaud
0d0b6afbf1 Make the member limit configurable per room
And fix #96
2015-03-11 11:45:55 +01:00
Daniel Berteaud
175edfd276 Only delete peers object after its last use 2015-03-10 19:11:18 +01:00
Daniel Berteaud
ea73a4009d Add a global members limit 2015-03-10 19:10:06 +01:00
Daniel Berteaud
00637aeee7 Add a helper to broadcast a SocketIO message to all members of a room 2015-03-10 18:46:11 +01:00
Daniel Berteaud
2124a67d55 Add a helper to count the number of peers in a room 2015-03-10 18:28:54 +01:00
Daniel Berteaud
20b838878b Use same values as the real SignalMaster 2015-03-10 12:58:53 +01:00
Daniel Berteaud
918a0c03f5 Don't try to notify for peers who hasn't joined any room 2015-03-09 09:04:37 +01:00
Daniel Berteaud
69c3cd3b5a Display number of members in room in the admin area
The number should be quite accurate, as it's now counting socket.io peers
2015-03-06 18:30:03 +01:00
Daniel Berteaud
d27816872f Mute localVideo to prevent noise 2015-03-06 18:02:04 +01:00
Daniel Berteaud
0ef7cecb76 Update room activity on join and leave 2015-03-06 15:08:02 +01:00
Daniel Berteaud
cc735d7720 Identify invitaions by session ID instead of session name 2015-03-06 12:44:34 +01:00
Daniel Berteaud
9a4c35de2d Minor reformating 2015-03-06 12:37:38 +01:00
Daniel Berteaud
8cd064b3e4 Do not update room_participant table anymore iun ping 2015-03-06 12:03:45 +01:00
Daniel Berteaud
8753ff81b7 Handle leave and disconnect msg
And log unhandled messages
2015-03-06 12:02:50 +01:00
Daniel Berteaud
1acb0795fb Do not store room partticipants in the DB
Just in memory, it's not something we must store long term, was just needed to pass data between VROOM and SignalMaster
2015-03-06 11:48:21 +01:00
Daniel Berteaud
fd4d464a51 Some comment in the signaling part 2015-03-05 18:47:40 +01:00
Daniel Berteaud
45806953a5 Check if websocket connection should be allowed 2015-03-05 18:27:34 +01:00
Daniel Berteaud
3a52c92a03 Reduce name length, add a session ID and rename socket_peers to peers 2015-03-05 18:08:28 +01:00
Daniel Berteaud
ab41125a08 Remove useless cookie 2015-03-05 17:36:01 +01:00
Daniel Berteaud
9b1de92ba5 Add basic signaling server
With this, VROOM is now its own signaling server and do not rely on SignalMaster anymore, which means NodeJS isn't required anymore
There are some downside, for now, only websocket transport is supported, there's no fallback
2015-03-05 14:43:47 +01:00
Daniel Berteaud
9ffbe83a98 Some space before starting teh app 2015-02-27 17:01:43 +01:00
Daniel Berteaud
63dbf66b89 Check DB version when starting
Also do not run checks on each page rendering, just once at startup
2015-02-27 16:37:29 +01:00
Daniel Berteaud
eff9565144 Re-arrange the admin page so we can have several sub-pages
The first and only one for now being the room management
2015-02-27 14:52:01 +01:00
Daniel Berteaud
c1a9092505 Get SimpleWebRTC conf from the API
Instead of printing it in a JS scriplet inline. Also add a modal popup while the initial connection is being established
Also make the max frame rate to be configured
2015-02-20 14:47:10 +01:00
Daniel Berteaud
34f92c019b Possibility to set fixed credentials for turn server 2015-02-20 12:01:50 +01:00
Daniel Berteaud
c0b35ef075 Fix an uninitialized var 2015-02-20 10:19:41 +01:00
Daniel Berteaud
ddff031cec Room names are case insensitive: convert to lower case 2015-02-19 23:05:19 +01:00
Daniel Berteaud
2efadd4d43 PID File is now configurable 2015-02-15 21:53:06 +01:00
Daniel Berteaud
c4b8fccb82 Error if the database isn't available
Instead of failing silently later
2015-02-13 17:14:07 +01:00
Daniel Berteaud
dcfc8c174d Check etherpad API is reachable and log an error if it isn't 2015-02-13 10:06:09 +01:00
Daniel Berteaud
cabf32d255 Split etherpad URI into host and baseUrl
So it works in recent FF instead of trying to speak to SignalMaster SocketIO server
2015-02-12 18:23:26 +01:00
Daniel Berteaud
1ebe4fccc0 Reload room data after creating the etherpad_group 2015-02-12 17:04:49 +01:00
Daniel Berteaud
f15419a366 Remove dupplicate create_room handler 2015-02-12 13:24:41 +01:00
Daniel Berteaud
2186279348 Remove obsolete comment 2015-02-12 13:05:30 +01:00
Daniel Berteaud
a100f6a8d6 Remove leftover 2015-02-12 13:02:20 +01:00
Daniel Berteaud
cf7af105f9 Don't maintain a list of string to translate
Instead, just translate everything
2015-02-11 18:58:02 +01:00
Daniel Berteaud
a8b75f01bd Switch room creation to an API call 2015-02-05 21:28:20 +01:00
Daniel Berteaud
c5b3f557e9 Remove now unused literal "status" in API responses 2015-02-05 19:12:30 +01:00
Daniel Berteaud
ff1cda4d4b HTTP codes in delete_room API call 2015-02-05 19:00:13 +01:00