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