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
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
Daniel Berteaud
1a6722f7b8 HTTP codes in get_pad_session API call 2015-02-05 18:54:54 +01:00
Daniel Berteaud
3fb6de8afa Fix two syntax err in vroom.pl 2015-02-05 18:52:25 +01:00
Daniel Berteaud
f78f368f23 HTTP codes in wipe_data API call 2015-02-05 18:51:30 +01:00
Daniel Berteaud
5645ff14c7 HTTP codes in promote_peer API call 2015-02-05 18:48:24 +01:00
Daniel Berteaud
642ebd1afc HTTP codes for get_peer_role API call 2015-02-04 23:27:30 +01:00
Daniel Berteaud
f57cc57bb1 HTTP codes for get_room_info API call 2015-02-04 23:23:11 +01:00
Daniel Berteaud
34cf709893 More HTTP codes fixes 2015-02-04 23:17:28 +01:00
Daniel Berteaud
90267dd2e9 HTTP code for set_persistent 2015-02-04 23:10:29 +01:00
Daniel Berteaud
ebae2f0117 HTTP codes fr set_join_pass and set_owner_pass API calls 2015-02-04 23:09:44 +01:00
Daniel Berteaud
fd9dcd006b HTTP codes in update_room_conf API call 2015-02-04 23:04:04 +01:00
Daniel Berteaud
d197d3c96d HTTP codes in lock_room API call 2015-02-04 23:00:09 +01:00
Daniel Berteaud
1d299dedfc Better error handling in the API 2015-02-04 22:56:19 +01:00
Daniel Berteaud
2ebe33060b HTTP codes for room creation 2015-02-04 22:44:16 +01:00
Daniel Berteaud
d4db36765a Start using sane HTTP codes in the API 2015-02-04 22:36:28 +01:00
Daniel Berteaud
e089583745 Fix circular ref on Chrome when submitting room conf form 2015-02-04 17:16:55 +01:00
Daniel Berteaud
dfda2f03f4 Allow several email addresses for invitations 2015-02-04 16:36:11 +01:00
Daniel Berteaud
5e82b9c529 Manage room persistence in admin area 2015-02-01 22:34:01 +01:00
Daniel Berteaud
9160fb4aaf Auto reconnect to MySQL server 2015-02-01 21:26:02 +01:00
Daniel Berteaud
7d98c994c9 More fixes for the admin interface
Make a new get_room_conf API call which does more or less the same as get_room_info but without trying to get our role
2015-01-23 13:24:50 +01:00
Daniel Berteaud
22e8dc1ef5 Fix email notification when someone join a room 2015-01-22 22:26:06 +01:00
Daniel Berteaud
222f77d5ff Some fundamental fixes for the admin interface
Now rooms get listed and displayed on the page, but a lot is still missing
- Pagination
- Filter as you type
- Action on utton press (only join which is a simple a href works)
- Bypass password when joining a room through the admin page (push in the room_partitipant table)
- Probably more
2015-01-22 22:10:07 +01:00
Daniel Berteaud
3c74404321 Fix configuration handling with empty password 2015-01-22 16:42:21 +01:00
Daniel Berteaud
5c241c1e99 Fix room ping 2015-01-22 15:21:51 +01:00
Daniel Berteaud
b65ad2c63e Handle email notifications in the new config menu 2015-01-22 13:28:26 +01:00
Daniel Berteaud
cdc4d71e68 Hook the new config menu with a new update_room_conf api method 2015-01-22 12:56:48 +01:00
Daniel Berteaud
41d1282e4b Fix promoting peer 2015-01-21 19:02:00 +01:00
Daniel Berteaud
fa99945aa9 STatus and msg were reversed on promote peer error 2015-01-21 18:41:00 +01:00
Daniel Berteaud
6fa7a0b5c9 Replace secret with secrets 2015-01-20 11:17:04 +01:00
Daniel Berteaud
897fd7b02f Use Email::Valid to check email address 2015-01-18 22:59:06 +01:00
Daniel Berteaud
27337d4875 Remove the old api handler
Note that this breaks the admin interface, which will be rewritten
2015-01-18 22:54:03 +01:00
Daniel Berteaud
bbf4eee3df Switch delete_room to the new api 2015-01-18 22:51:19 +01:00
Daniel Berteaud
1c8217e208 Switch get_pad_session to the new api handler 2015-01-18 22:46:36 +01:00
Daniel Berteaud
f5ab168d77 Switch wipe_data to the new api handler 2015-01-18 22:38:28 +01:00
Daniel Berteaud
b1e37a673f Switch promote_peer to the new api handler 2015-01-18 22:17:08 +01:00
Daniel Berteaud
f181eb6406 Switch join action to the new api handler 2015-01-18 22:09:04 +01:00
Daniel Berteaud
2dc0ed116a Switch email_notification to the new api handler 2015-01-18 21:55:46 +01:00
Daniel Berteaud
cf83985a3c Fix checking peer role 2015-01-18 21:20:28 +01:00
Daniel Berteaud
2e4d09ad0e Switch set_ask_for_name to the new api handler 2015-01-18 21:19:16 +01:00
Daniel Berteaud
09917e3286 Switch get_peer_role to the new api handler 2015-01-18 21:06:01 +01:00
Daniel Berteaud
c8a17e7be8 Switch get_room_info to the new api handler 2015-01-18 20:02:23 +01:00
Daniel Berteaud
0a6e2d4f9b Switch set_persistent to the new API handler 2015-01-18 19:38:18 +01:00
Daniel Berteaud
46a1c21388 Fix setting owner role after authentication 2015-01-18 19:21:58 +01:00
Daniel Berteaud
f7aca508a8 Password error must be reported as an error 2015-01-18 19:07:33 +01:00
Daniel Berteaud
dfeee63d07 Spacing issue 2015-01-18 19:03:03 +01:00
Daniel Berteaud
c4bfe21f4e More fixes in key_can_do_this 2015-01-18 19:02:22 +01:00
Daniel Berteaud
8f4b707d4c Fix API authorization checks 2015-01-18 18:45:48 +01:00
Daniel Berteaud
1eb8b4f9db Switch authenticate to the new API handler 2015-01-18 18:35:51 +01:00
Daniel Berteaud
18dfb3f81a Small typo in comment 2015-01-18 17:33:02 +01:00
root
91aa46c9c7 Convert setPassword (join and owner) to the new API handler 2015-01-10 13:59:01 +01:00
Daniel Berteaud
9d67d1afc0 Move ping action to the new API handler 2014-10-24 17:54:35 +02:00
Daniel Berteaud
90c49fc6a1 Move lock_room and unlock_room to the new API handler 2014-10-24 17:42:13 +02:00
Daniel Berteaud
3a3603df1a Move email invitation to the new API handler 2014-10-24 17:28:06 +02:00
Daniel Berteaud
cb3c7cb5f9 Switch language switch to the new API handler 2014-10-22 18:39:19 +02:00
Daniel Berteaud
95d970b128 Add purge_api_keys helper
And reserve the api name, + add a new route for api access
2014-10-21 18:59:34 +02:00
Daniel Berteaud
40b97cb7b9 Maintain key <-> room <-> role associations in the room_keys table 2014-10-21 15:33:17 +02:00
Daniel Berteaud
a903c5d0ec Create API key on login, and record it in the session 2014-10-21 12:41:18 +02:00
Daniel Berteaud
dca0ab194e It's not jsonrpc, rename action handler to jsapi 2014-10-21 10:14:13 +02:00
Daniel Berteaud
4d70f0bece Coding standard: spacing issues 2014-10-20 20:19:50 +02:00
Daniel Berteaud
55241c4798 Rename action URI handler to jsonrpc 2014-10-19 17:00:11 +02:00
Daniel Berteaud
63d2f70bfa Merge get and post routes for password protected rooms 2014-10-19 16:55:02 +02:00
Daniel Berteaud
b6e6ca81cd Merge admin routes in a single route 2014-10-19 13:15:25 +02:00
Daniel Berteaud
b0cb6cb85b index should only accept GET 2014-10-19 13:11:49 +02:00
Daniel Berteaud
5d7005d1fd Some essential fixes in admin area 2014-10-19 13:10:11 +02:00
Daniel Berteaud
45794f4127 Fix inactivity timeouts
which are now expressed in minutes, not seconds
2014-10-19 13:02:01 +02:00
Daniel Berteaud
18d76a597f Small cleanup in create_etherpad_session helper 2014-10-19 12:54:02 +02:00
Daniel Berteaud
d96b213ccd Cleanups in create_pad helper 2014-10-19 12:51:12 +02:00
Daniel Berteaud
1b33dfb9be More cleanups in email invitation handling 2014-10-19 12:38:36 +02:00
Daniel Berteaud
5005346577 Rename delete_invitations to purge_invitations 2014-10-19 12:27:17 +02:00
Daniel Berteaud
81f1ece9ba CLeanups in invitation response handling 2014-10-19 12:25:03 +02:00
Daniel Berteaud
971b114251 Rename processed_invitation 2014-10-19 12:07:43 +02:00
Daniel Berteaud
55832c26d4 CLeanups in invitations handling 2014-10-19 12:00:14 +02:00
Daniel Berteaud
f8bd8daa50 Rename get_invitation to get_invitation_by_token
plus some cleanups
2014-10-19 11:47:54 +02:00
Daniel Berteaud
5f2aa74063 Replace ask_for_name with the generic modify_room helper 2014-10-16 23:11:49 +02:00
Daniel Berteaud
a78787c173 Cleanups in email_notification handling 2014-10-16 23:08:41 +02:00
Daniel Berteaud
976ca5679b Replace set_persistent with the generic modify_room helper 2014-10-16 22:40:48 +02:00
Daniel Berteaud
c9d8730b47 Replace set_join_pass and set_owner_pass with the generic modify_room 2014-10-16 22:37:16 +02:00
Daniel Berteaud
944f153d21 Fix room creation 2014-10-16 22:24:26 +02:00
Daniel Berteaud
33db43e2b0 Remove some useless error handling 2014-10-16 22:20:59 +02:00
Daniel Berteaud
4053d8dc95 Cleanups in delete_room 2014-10-16 22:16:11 +02:00
Daniel Berteaud
49aab66082 Enable DBI RaiseError so we don't have to handle them everywhere 2014-10-16 22:15:05 +02:00
Daniel Berteaud
759965165f Simplify purge_rooms 2014-10-16 22:06:56 +02:00
Daniel Berteaud
a6dc7c9ce5 Simplify purge_participants 2014-10-16 21:51:09 +02:00
Daniel Berteaud
88c5d3ccb2 Simplify has_joined 2014-10-16 21:50:07 +02:00
Daniel Berteaud
3fc530292c Simplify promote_peer 2014-10-16 21:48:31 +02:00
Daniel Berteaud
5240daddd1 Simplify get_peer_role 2014-10-16 21:47:35 +02:00
Daniel Berteaud
ee6ce99341 Simplify set_peer_role 2014-10-16 21:45:18 +02:00
Daniel Berteaud
84cf94b8b5 Simplify and fix get_participants_list 2014-10-16 21:42:39 +02:00
Daniel Berteaud
372e7add34 Simplify remove_participant_from_room 2014-10-16 21:33:34 +02:00
Daniel Berteaud
dcc651763b Simplify modify_room helper 2014-10-16 21:31:57 +02:00
Daniel Berteaud
91465f1c1b Fix some syntaxe error 2014-10-16 21:30:33 +02:00
Daniel Berteaud
2f3ad038c1 Simplify get_room_by_id 2014-10-16 21:25:45 +02:00
Daniel Berteaud
f911706ddd Simplify get_room_by_name 2014-10-16 21:23:00 +02:00
Daniel Berteaud
0a304dcabb Simplify logout 2014-10-16 21:04:09 +02:00
Daniel Berteaud
8c2267abec Simplify login 2014-10-16 21:03:35 +02:00
Daniel Berteaud
42a8962fdd Simplify valid_id helper 2014-10-16 21:02:51 +02:00
root
b7924cbf2f Simple return value of valid_name 2014-10-16 21:00:08 +02:00
Daniel Berteaud
effaf249ad Fix ping_room timestamp updates 2014-10-15 23:16:33 +02:00
Daniel Berteaud
3a280ab370 Cleanups in purge_rooms helper 2014-10-15 23:11:42 +02:00
Daniel Berteaud
a5c2445c6a Cleanups in purge_participants 2014-10-15 22:47:42 +02:00
Daniel Berteaud
831cec4d0f Cleanups in has_joined helper 2014-10-15 22:44:48 +02:00