1
0
mirror of https://github.com/dani/vroom.git synced 2024-06-28 17:53:42 +02:00
Commit Graph

290 Commits

Author SHA1 Message Date
Daniel Berteaud
b3a613ddc7 Change the way notifications are triggered
And send the name of the participant in the notification email (only if name is asked before you can join)
2014-05-21 18:08:43 +02:00
Daniel Berteaud
d56d875a7f Differ no sound detection until we effectivly joined the room 2014-05-21 17:45:15 +02:00
Daniel Berteaud
43169f282e Add localization for the new display name feature (ask on join) 2014-05-21 17:40:25 +02:00
Daniel Berteaud
5cda9f2bea Add client side support to get display name on the new modale dialog 2014-05-21 17:39:50 +02:00
Daniel Berteaud
b70b8f5336 Implement action handler for ask_for_name 2014-05-21 14:16:17 +02:00
Daniel Berteaud
42b9dc8a1c Client side support for setting and retrieving ask_for_name status 2014-05-21 14:08:00 +02:00
Daniel Berteaud
b1780003a3 Send to JS client if the name is mandatory on this room 2014-05-21 13:52:43 +02:00
Daniel Berteaud
e30edf6c1b Small typo 2014-05-20 23:05:17 +02:00
Daniel Berteaud
ed78f22d0e Update to SimpleWebRTC 1.8.0 2014-05-20 22:38:37 +02:00
Daniel Berteaud
656ac33b1a Add a new more slides in the carousel 2014-05-20 21:37:35 +02:00
Daniel Berteaud
854d7369e7 Remove now unused JS code and CSS rules 2014-05-20 19:23:10 +02:00
Daniel Berteaud
aba49e1e62 Replace the 3 panels on the index page with a carousel 2014-05-20 19:22:03 +02:00
Daniel Berteaud
a44ddff81a Validate email format server-side
Also cleanup the invite action handler
2014-05-20 14:10:32 +02:00
Daniel Berteaud
a4d2a0769a Move a few functions to the global scope
As they can be used outside of a room
2014-05-20 13:39:56 +02:00
Daniel Berteaud
fa2545b2fa Add a title on the remove email button 2014-05-20 11:41:12 +02:00
Daniel Berteaud
2953f9eb84 Fails on dupplicate email address instead of ignoring the INSERT
So you cannot add two times the same address, and you get an error
2014-05-20 11:22:02 +02:00
Daniel Berteaud
cdece954cf Split huge line 2014-05-20 11:21:03 +02:00
Daniel Berteaud
ceb3690e97 Send notifications and add localizations 2014-05-20 11:17:38 +02:00
Daniel Berteaud
1effe36d96 Sync email notifications between owners of the room 2014-05-20 09:51:16 +02:00
Daniel Berteaud
109ce1c9ba Rename updateRole to getRoomInfo
As it's now used for much more than getting our own role
2014-05-20 09:35:46 +02:00
Daniel Berteaud
f6ddfd119c Add basic interface and frontend support for email notifications
Not used yet, but you can add and remove emails
2014-05-20 09:34:28 +02:00
Daniel Berteaud
67d874e66e Add a new button to create the room if it doesn't exist
Fix #39
2014-05-19 11:37:40 +02:00
Daniel Berteaud
1b858a8912 Hide auth menu if the owner password is unset 2014-05-19 11:20:36 +02:00
Daniel Berteaud
693d2b2a01 Only suggest to auth as owner if an owner password is set 2014-05-19 11:10:12 +02:00
Daniel Berteaud
479540c3ac Fix owner check when room is locked 2014-05-19 11:04:44 +02:00
Daniel Berteaud
0385a5b137 Add rootUrl to sound paths 2014-05-19 11:02:42 +02:00
Daniel Berteaud
8603c0aee9 Cleanup in unmuting handling 2014-05-19 10:53:05 +02:00
Daniel Berteaud
8eacbbad85 Use single quotes in jquery selectors 2014-05-19 10:50:48 +02:00
Daniel Berteaud
7879fab16e Remove the ownerActions div from other owner's preview
As those feature are disabled anyway
2014-05-18 23:13:38 +02:00
Daniel Berteaud
5ae54e003e Update comment 2014-05-18 23:11:51 +02:00
Daniel Berteaud
cbf6e3ba8f Allow dropdown menus to overflow the toolbar
Useful when the toolbar is collapsed
Fix #34
2014-05-18 22:49:51 +02:00
Daniel Berteaud
0d186fefd0 Allow unmute/resume webcam in owner's actions 2014-05-18 22:44:44 +02:00
Daniel Berteaud
4f4bc8397c Record peers mute/pause status 2014-05-18 22:09:20 +02:00
Daniel Berteaud
24bee4d6f8 Prevent muting/suspending/kicking other owners
Also print a few notifications
2014-05-18 22:04:47 +02:00
Daniel Berteaud
090cd85cbe Fix double semicolon 2014-05-18 20:09:19 +02:00
Daniel Berteaud
20a774805a Change kick button glyphicon 2014-05-18 20:08:57 +02:00
Daniel Berteaud
7da38b5d2e Fix peer stream end
Terminate connection with the kicked peer, not the owner kicking it ;-)
2014-05-18 20:03:42 +02:00
Daniel Berteaud
eb331ad0ad Add titles to owner actions buttons 2014-05-18 19:38:40 +02:00
Daniel Berteaud
51945c1c51 Add mute/pause/kick action for room owners
Fix #24
2014-05-18 19:22:44 +02:00
Daniel Berteaud
9062fd568c Notify and explain why the display name is truncated 2014-05-16 18:20:02 +02:00
Daniel Berteaud
a7b711acae Limit displayName to 50 chars
Should fix #32
2014-05-16 18:09:26 +02:00
Daniel Berteaud
1ec24bb93b Exchange peer status and verify it on the frontend
Also add a symbol on owner's preview
Should Fix #30 and #31
2014-05-16 17:57:33 +02:00
Daniel Berteaud
f77d2c296d Record our local ID
Might be needed
2014-05-15 18:28:53 +02:00
Daniel Berteaud
d05925722b Fix lock button status sync
When there're several owners
2014-05-15 17:18:13 +02:00
Daniel Berteaud
f55d6cf092 Various fixes in path handling when using language suffix 2014-05-15 16:56:14 +02:00
Daniel Berteaud
596ef48dcb Add a sticky footer div 2014-05-15 16:16:05 +02:00
Daniel Berteaud
83cafa7536 Warn if no sound has been detected
Fix #29
2014-05-15 14:02:37 +02:00
Daniel Berteaud
94de8f308b Various comments and small code cleanup 2014-05-15 13:41:01 +02:00
Daniel Berteaud
8122691209 Cleanup setPassword handler 2014-05-15 10:58:35 +02:00
Daniel Berteaud
7222122f23 Localize msg in ping handler 2014-05-15 10:54:05 +02:00
Daniel Berteaud
0fddb7e790 Don't flush custom message on invitation
So you can send the same message to several people easily
2014-05-15 10:42:57 +02:00
Daniel Berteaud
e00e0f7605 Cleanup the ping action handler 2014-05-15 10:40:40 +02:00
Daniel Berteaud
6517fb930a Add a new setting to expire persistent rooms
Using a dedicated timeout, so you can set it very high, but still remove very old rooms
Fix #28
2014-05-15 10:30:57 +02:00
Daniel Berteaud
1695c9dfff Only the owner is allowed to lock/unlock a room 2014-05-14 22:14:25 +02:00
Daniel Berteaud
96d8a0eaa6 Fix error handling for lock/unlock 2014-05-14 21:51:35 +02:00
Daniel Berteaud
a15e6d7199 Don't allow previous participant to join if locked 2014-05-14 21:09:09 +02:00
Daniel Berteaud
76ae8e18ea Prevent owner to be locked out of its own room
If the room was locked when he left
2014-05-14 21:02:36 +02:00
Daniel Berteaud
43f3fba40b Revert "Remove room lock, not that usefull now that you can use a password"
This reverts commit 25f2602694.

Locking can still be usefull to prevent participant to join, event is they know the pass

Conflicts:
	public/js/vroom.js
2014-05-14 20:44:52 +02:00
Daniel Berteaud
e4ce4b9678 Check if room exists in the goodbye route 2014-05-14 17:46:18 +02:00
Daniel Berteaud
2800c35dca Cleanup error handling in ajax requests 2014-05-14 13:52:36 +02:00
Daniel Berteaud
fdff058521 Add a custom message field in email invitations
Can be used to send the join password, or anything else
2014-05-14 13:42:40 +02:00
Daniel Berteaud
cea2189774 Store join paswword hashed
Do not trade security and privacy for convenience
2014-05-14 09:05:00 +02:00
Daniel Berteaud
8ab49c3b9e Dont call maxHeight() before it's defined 2014-05-13 23:27:10 +02:00
Daniel Berteaud
1c7cc79768 Only grant the owner role if creation succedded 2014-05-13 23:23:02 +02:00
Daniel Berteaud
769e288796 Revamp help page 2014-05-13 22:11:56 +02:00
Daniel Berteaud
4fb717b6be Use form instead of simple divs for paswords
So hitting enter also submit it
2014-05-13 21:04:45 +02:00
Daniel Berteaud
697b143cef Add an auth form in the join template
Lets you authenticate as the room owner even if there's no join pasword
2014-05-13 20:26:09 +02:00
Daniel Berteaud
a5837dac98 Implement owner password auth
Owner passwords are salt+sha256 hashed (unlike join password) as they do not need cleartext access
For now, you also have to set a join password if you want to be able to auth as an owner
Need to implement a password popup if there's an owner password but no join password
2014-05-13 19:22:47 +02:00
Daniel Berteaud
eaf20b6a13 Send join password in email invitations
Fix #26
2014-05-13 17:52:03 +02:00
Daniel Berteaud
0226271045 Move getRole to a function
Will probably be used elsewhere soon
2014-05-13 17:34:11 +02:00
Daniel Berteaud
89b7e7ff0f Small animation when owner element are enabled
Makes a nicer experience
2014-05-13 14:33:36 +02:00
Daniel Berteaud
41b5f5754b Hide conf menu by default
And display it only if we are the owner of the room
2014-05-13 14:26:15 +02:00
Daniel Berteaud
9364ff66d8 Fix password prompt when you're the owner
Also fix a typo
2014-05-12 23:21:06 +02:00
Daniel Berteaud
e70be95255 Add password to the list of reserved words 2014-05-12 23:16:02 +02:00
Daniel Berteaud
240a0d2aa0 Set default role to participant 2014-05-12 23:03:48 +02:00
Daniel Berteaud
76468a8958 Only allow owner (creator) to set a passord 2014-05-12 22:57:15 +02:00
Daniel Berteaud
065eac4be5 Fix log warning 2014-05-12 22:31:00 +02:00
Daniel Berteaud
25f2602694 Remove room lock, not that usefull now that you can use a password 2014-05-12 22:25:36 +02:00
Daniel Berteaud
75709997d9 Notify other peers when a password is set 2014-05-12 22:10:06 +02:00
Daniel Berteaud
074a5e6785 Make the conf menu larger 2014-05-12 21:57:54 +02:00
Daniel Berteaud
a4ae1dbc0b Localize response message on password set/unset 2014-05-12 19:03:44 +02:00
Daniel Berteaud
56f606a504 Implement password check logic 2014-05-12 18:53:16 +02:00
Daniel Berteaud
6b4ced06bb Implement join password setting
But it's not used yet :-)
2014-05-11 22:29:40 +02:00
Daniel Berteaud
51f4b27c24 Prevent closing other dropdown menus 2014-05-11 13:04:02 +02:00
Daniel Berteaud
c2df8a16c6 Update SimpleWebRTC to 1.7.6 2014-05-11 03:00:56 +02:00
Daniel Berteaud
6a916d7ba7 Add timestamp as get param to resources
Should force clients to get new files each time thy change
without any maintenance, as it just reads the file mtime
Should fix #22
2014-05-10 18:37:15 +02:00
Daniel Berteaud
c86ac4e0d7 Fix default MySQL db name 2014-05-10 15:02:51 +02:00
Daniel Berteaud
f65932fee1 Some more email invitation refactoring 2014-05-10 11:37:35 +02:00
Daniel Berteaud
1d8ad29190 Send alternative/multipart emails
Plus some other adjustements
Fix #20
Unfortunatly, it's not sufficient, as gmail still often tags invitations as spam :-(
but still a bit better
2014-05-10 00:10:44 +02:00
Daniel Berteaud
6ef394b914 Add a thank page after feedback submission
Fix #16
2014-05-09 19:15:30 +02:00
Daniel Berteaud
4a6e292ea6 Generate shorter random room names
Fix #18
2014-05-09 18:56:43 +02:00
Daniel Berteaud
f1012ad480 Various cleanups on the index page 2014-05-09 18:45:10 +02:00
Daniel Berteaud
10db137f6c Rework the invitation menu
Fix #17
2014-05-09 16:49:00 +02:00
Daniel Berteaud
0ee132334f Prevent room name using reserved word 2014-05-09 13:37:36 +02:00
Daniel Berteaud
3e23445ea2 Remove baseUrl
It's not used anywhere
2014-05-07 19:16:08 +02:00
Daniel Berteaud
3aa3415a0e Add a feedback form
Add a link to the feedback page in the public toolbar, and the goodby page
Should fix #14
2014-05-07 19:10:59 +02:00
Daniel Berteaud
46d9ddb85d Redirect to lowercase
Should fix #13
2014-05-07 17:17:22 +02:00
Daniel Berteaud
3b99238cbf Add a join button on conflict error
Cleanup stash handling for the error template, and add a button to join the room
Should fix #12
2014-05-07 16:56:47 +02:00
Daniel Berteaud
4815e4cb83 Define rootUrl in js_include
So /localize is working not matter which alias we use, even on the front page
2014-05-07 12:48:50 +02:00
Daniel Berteaud
1e2e524900 Store raw displayName, only escape when used
Prevents double escaping when importing chat history from another peer.
Also validate color and time when we receive history
2014-05-07 10:10:47 +02:00
Daniel Berteaud
409edd50db Update jQuery to 1.11.1 2014-05-06 22:52:19 +02:00
Daniel Berteaud
98fd6cd32c Coding style updates and comments cleanup 2014-05-06 22:34:08 +02:00
Daniel Berteaud
e06811c8d3 Remove unused rooms before trying to create
Prevent the strange situation where trying to create tells you the room already exists, and when you try to join, the error is that the room doesn't exist
2014-05-06 22:05:59 +02:00
Daniel Berteaud
610ff99f2c Don't update our local volume bar when muted
SimpleWebRTC still emit local volume change event when muted
2014-05-06 20:28:48 +02:00
Daniel Berteaud
b381f031da Fix handling of volume change dataChannel messages
Which are not sent in the vroom dataChannel
2014-05-06 20:20:35 +02:00
Daniel Berteaud
d62c0dc6ec Sync chat history between peers
Not completly full proof, but seems to work reasonably well. If we do not have received chatHistory yet, ask for it each time a peer's video is added until we get it. Messages are escaped and formatting is preserved, including peer's color. One problem though: if you refresh the page, you will receive the history, but your own old message will appear on the left, as if it was another who send them. This is because there's no way to recognize it was you (previous session...)
Should fix #4
2014-05-06 19:24:43 +02:00
Daniel Berteaud
9dd070b02a Escape text chat in newChatMessage() 2014-05-06 18:39:57 +02:00
Daniel Berteaud
2411e75209 Replace ugly mute/pause img with glyphicons 2014-05-06 13:55:12 +02:00
Daniel Berteaud
ae306ba643 Use lighter background colors
text message was hard to read for a lot of colors because they were too dark
2014-05-05 22:13:16 +02:00
Daniel Berteaud
e117d73b85 Fix save history filename 2014-05-04 15:25:01 +02:00
Daniel Berteaud
2b7e0e65cc Implement tchat history save as local HTML file
Fix #5
2014-05-04 14:32:48 +02:00
Daniel Berteaud
c50541d053 Update icons for the central thumbnail
on the front page
2014-05-04 01:54:24 +02:00
Daniel Berteaud
502c0cfd33 Reduce public toolbar height 2014-05-04 01:35:59 +02:00
Daniel Berteaud
a606d544e6 Justify text in front page
And also in modal dialogs
2014-05-04 01:22:14 +02:00
Daniel Berteaud
77c5552d84 Set thumbnail height
So they are always equals, not matter which one is biggest, the others will adapt
2014-05-04 01:16:51 +02:00
Daniel Berteaud
a9bd21a596 Better spam score
- Correctly encode the subject
- Change subject string in en and fr locales (looks like gmail doesn't like "Join us")

Should fix #10
2014-05-02 23:42:48 +02:00
Daniel Berteaud
20734ca705 Alert if browser is not supported
Add a modal dialog uf the browser doesn't support WebRTC or dataChannels
2014-05-02 23:04:54 +02:00
Daniel Berteaud
39001cbd84 Add fork me on github gibbon 2014-05-02 21:56:08 +02:00
Daniel Berteaud
b2cfd04cd8 Minor CSS adjustments 2014-05-02 20:52:24 +02:00
Daniel Berteaud
4b0cc2fbe3 New logo (by Florent Heuzef) 2014-05-02 19:17:49 +02:00
Daniel Berteaud
a60b0fdac6 New favicon (by Florent Heuzef) 2014-05-02 19:15:51 +02:00
Daniel Berteaud
40dab8de75 Remove debug statement on screen sharing error 2014-05-02 09:40:28 +02:00
Daniel Berteaud
536143bdf0 Update screen sharing
Since Chrome 34, a new API for screen sharing is available (the previous one using the flag will probably be deprecated soon)
This commit adds:
- Source of a simple Chrome extension to use this new API (which is a perfect copy of the sample extension given by &yet here: https://github.com/HenrikJoreteg/getScreenMedia
- Adapt help page
- New modal dialog to prompt user to install the extension from Google Web Store
- Better error messages if you can't share your screen

Should fix #7
2014-05-01 21:35:07 +02:00
Daniel Berteaud
ab4126d8a9 Backport Chrome 34 workarround
Known bug in Chrome 34 for Linux
2014-04-30 17:49:01 +02:00
Daniel Berteaud
4ced1dd4d9 Remove debug line 2014-04-29 17:58:57 +02:00
Daniel Berteaud
2ab632a582 Unicast name and color
When a new peer joins, send him our name and color, but don't broadcast it, other peers should already have this
2014-04-29 17:57:58 +02:00
Daniel Berteaud
7412b2f4ef Update to SimpleWebRTC 1.7.4 2014-04-25 09:03:52 +02:00
Daniel Berteaud
9fc834df8a Remove old SimpleWebRTC bundle 2014-04-25 09:01:17 +02:00
Daniel Berteaud
28b897e2b9 Translate missing string
"one of the peers" was hardcoded instead of being localized
2014-04-19 19:23:27 +02:00
Daniel Berteaud
21b77c9bb9 Reduce font size on smaller screens
should fix #2
2014-04-18 15:03:24 +02:00
Daniel Berteaud
fcc303ebb2 Re-enable screen sharing in Chrome 34 2014-04-15 09:21:12 +02:00
Daniel Berteaud
d76a87df7b Arbitrary message through the signaling channel
Re-add support for arbitrary message on the signaling channel, it hasn't been merged in upstream SimpleWebRTC yet
2014-04-15 09:02:56 +02:00
Daniel Berteaud
59b77c5458 Update SimpleWebRTC to 1.7.3 2014-04-14 23:00:28 +02:00
Daniel Berteaud
19a6511b35 Update code comment
mute/paused are now handled directly by SimpleWebRTC
2014-04-08 11:37:21 +02:00
Daniel Berteaud
85a86808e0 add maxHeight function 2014-04-05 20:04:05 +02:00
Daniel Berteaud
28f5dab18f Add fullScreen function 2014-04-05 19:54:46 +02:00
Daniel Berteaud
80a7cb61cf Reduce wasted space
Should fix #3 for small devices
Hide the mainVideo area on small devices, instead display only bigger previews. Also switch to 2 cols for preview on large displays, not medium ones
2014-04-04 17:52:41 +02:00
Daniel Berteaud
32d6c5b1b9 Only make links black on chat messages 2014-04-04 16:31:53 +02:00
Daniel Berteaud
0001b6da86 Set default conf values in vroom.pl 2014-04-04 11:42:59 +02:00
Daniel Berteaud
cef5791a89 Initial import 2014-04-03 17:42:54 +02:00