Daniel Berteaud
a9eda212e2
Pause mic and webcam when opening the quitModal dialog
...
Resume in we cancel
Dont change previous state (if it was already paused, don't resume)
Fix #77
2014-06-24 17:11:15 +02:00
Daniel Berteaud
a4cacdddb6
Use the leaveRoom method to leave
2014-06-18 16:20:16 +02:00
Daniel Berteaud
69fec4e842
Use our displayName in etherpad
...
And reload the etherpad iFram when you change your name
Usefull in the timeline, where you can see who wrote what
2014-06-18 15:31:41 +02:00
Daniel Berteaud
9c2808c046
Handle terminate call in JS client
2014-06-18 12:50:18 +02:00
Daniel Berteaud
3e8b0bb819
Empty password fields on modal dismiss
2014-06-18 11:15:27 +02:00
Daniel Berteaud
64fdb9bf33
Do not hide the main div on XS screen
...
Instead, reduce the previews size (up to 4 previews in a row), and place the main div just under, using all the available width
Not perfect yet, but much better than before, so fix #73
2014-06-17 14:05:05 +02:00
Daniel Berteaud
953b9486c0
Add a confirm dialog when quiting
...
Fix #69
2014-06-16 22:45:53 +02:00
Daniel Berteaud
d58bb6738e
Cleanup notifications class
...
Fix #71
2014-06-16 22:13:35 +02:00
Daniel Berteaud
8b6be5c14a
Add the wipe modal and implement logic to wipe data
...
Both chatHistory (client side only) and etherpad (needs server side) are handled
Fix #68
2014-06-16 19:22:14 +02:00
Daniel Berteaud
479639e1f7
Reload etherpad iFrame immediatly on color change
...
Instead of waiting for the next opening of the etherpad menu
2014-06-13 15:29:40 +02:00
Daniel Berteaud
c4a87c698c
Forbid color change if etherpad is opened
...
So colors doesn't get out of sync
2014-06-13 15:20:48 +02:00
Daniel Berteaud
a0c2084d07
Load the etherpad iframe only when clicking on the button
...
Work arround a problem in FF where the pad wasn't loaded properly
Also reload the iFrame if we changed our color so it's being synced
2014-06-13 15:18:25 +02:00
Daniel Berteaud
261ac0bdc3
Better etherpad iframe sizing
2014-06-13 13:29:29 +02:00
Daniel Berteaud
1c3a7c2687
Enable etherpad access in the interface
2014-06-13 12:49:25 +02:00
Daniel Berteaud
8894735650
Add name and email in headers
2014-06-12 18:56:54 +02:00
Daniel Berteaud
68228482d6
Mark screen unshared just before doing so
...
Fix #67
2014-06-12 18:22:19 +02:00
Daniel Berteaud
003d094625
Work arround for FF when removing the main video
2014-06-12 18:07:18 +02:00
Daniel Berteaud
dfe38a654d
Slightly delay the disconnected modal
...
So it's not displayed when quiting or refreshing the page
2014-06-11 23:08:47 +02:00
Daniel Berteaud
0fd8f42776
Add a simple modal dialog when connection is lost
...
Fix #65
2014-06-11 22:32:22 +02:00
Daniel Berteaud
82ee4f6681
Fix quality threshold
2014-06-11 13:11:46 +02:00
Daniel Berteaud
06f7ec3e1e
Measure latency between peers and add feedback
...
Previews will be grey when latency is unknown (not measured yet), green when it's good (60ms or less), blue when medium (between 60 and 120), orange when it's becoming high (between 120 and 250) and red when latency is too high to have a good call (250ms or more)
To reduce confusion, slected preview will now have a reduced opacity instead of the red border
Fix #66
2014-06-10 23:02:10 +02:00
Daniel Berteaud
061e7ba4d4
Remove some dead code
2014-06-06 22:44:56 +02:00
Daniel Berteaud
a02ac71159
Use warn class to notify that the room isn't persistent
2014-06-06 13:53:10 +02:00
Daniel Berteaud
1bc08f124a
Only notify you are owner if it's the case
...
Check that we're really owner now before notifying
2014-06-06 09:29:01 +02:00
Daniel Berteaud
e7d4e34a49
Another typo which prevented group actions menu to be displayed
...
When another owner promote you
2014-06-06 09:26:28 +02:00
Daniel Berteaud
29cc7cddd1
Fix typo which made an undefined variable
2014-06-06 09:22:26 +02:00
Daniel Berteaud
1f2b112b3c
Notify others if we don't have a webcam
...
In which case, add a grey glyphicon in the preview
Also disable suspend buttons
2014-06-06 09:16:32 +02:00
Daniel Berteaud
4c53aa5117
Fix chat buttons height on Firefox
...
Also adapt those buttons height to the size of the textarea
2014-06-05 22:42:53 +02:00
Daniel Berteaud
5c7480a8f0
Align notif to bottom center for room creation error
2014-06-05 13:47:53 +02:00
Daniel Berteaud
e56dbad9e6
Add the error class only on the input zone
...
WHen you type an invalid room name
2014-06-05 13:46:02 +02:00
Daniel Berteaud
146b126bc7
Put time and name in bold in the chat
...
It's easier to distinguish the text like this
2014-06-05 10:03:42 +02:00
Daniel Berteaud
1fe47a461f
Disable screen sharing buton on android
...
Fix #59
2014-06-04 22:37:09 +02:00
Daniel Berteaud
94e57a3bee
Localize invalid room name error message
2014-06-04 16:33:53 +02:00
Daniel Berteaud
12b7f32e14
Add a "promote to owner" button
...
Fix #58
2014-06-04 16:00:29 +02:00
Daniel Berteaud
0686bed1e8
Do not try to submit if we already know the name is invalid
2014-06-03 22:34:23 +02:00
Daniel Berteaud
5f01424bb5
Update room creation
...
Uses JS now to submit so it can fail gracefuly on error, and warn if room already eists, instead of redirecting to the ugly error page
Fix #52
2014-06-03 22:30:19 +02:00
Daniel Berteaud
acf855cbfc
Remove the active class on the help button
...
When the modal dialog is closed
2014-06-03 19:32:06 +02:00
Daniel Berteaud
2406cbeecd
Hide threePeersEl when a peer leaves a room
...
If there's less than 3 peers
2014-06-03 12:07:19 +02:00
Daniel Berteaud
b228147906
Hide group actions until there's at least 2 other peers
...
They do not make sens when you're two or less in the room
2014-06-03 12:03:45 +02:00
Daniel Berteaud
767e59a9f3
Don't check if MoH is needed when the video being removed is our local screen
2014-06-03 11:18:47 +02:00
Daniel Berteaud
20d1bf695f
Add grouped actions
...
To mute/unmute/suspend/resume everyone in one click
Fix #54
2014-06-02 22:15:50 +02:00
Daniel Berteaud
547d5365a1
Only enable sound detection if supported
...
Also use a lower threshold. -80 should be enough
And should Fix #55
2014-06-02 20:55:39 +02:00
Daniel Berteaud
d23e40e89d
Don't add moh notif if it just resumed
2014-06-02 12:08:27 +02:00
Daniel Berteaud
581889f559
Typo occured -> occurred
2014-06-02 10:40:51 +02:00
Daniel Berteaud
7c90b688f4
Default MoH to pause
...
Fix #51
2014-06-02 10:24:14 +02:00
Daniel Berteaud
4bcd816d77
Animation on dropdown menus
...
Fix #48
2014-05-31 14:34:31 +02:00
Daniel Berteaud
d780a63c41
Reduce volume of MoH
...
Fix #49
2014-05-31 14:27:01 +02:00
Daniel Berteaud
094bcbae2e
Mute preview instead of pausing the video
...
FF doesn't support pausing one video with another connected to the same stream still playing
So, be consistent between FF and webkit, and just mute the preview
Also lower the volume of the previews (70%) and bump the one of the main video
Fix #47 and also fix #50
2014-05-31 14:20:27 +02:00
Daniel Berteaud
c840438feb
Only play previews which are paused
2014-05-30 19:00:23 +02:00
Daniel Berteaud
05c0851d31
Don't pause preview on small screens, as there's no main video div
2014-05-30 17:08:16 +02:00
Daniel Berteaud
bf6f1de4f3
Add a timer in the navbar
2014-05-30 16:41:23 +02:00
Daniel Berteaud
2d36ad921b
Pause a preview when going on the main div
...
This reduce the CPU pressure, as only one stream needs to be decoded
Also prevent the main vid to double its audio level (which was not a bad thing, but was just beacause this same track was decoded and played twice, it'd be better to play with the volume of only one track)
Doesn't work well on FF for now (because FF doesn't like switching main div, it often do not resume the video, or after several seconds, will need to investigate)
2014-05-30 13:59:51 +02:00
Daniel Berteaud
5c5c17ebe2
Don't dup video el ID
2014-05-30 13:19:49 +02:00
Daniel Berteaud
f7c22254b3
Use success class for askForName setting
2014-05-30 13:08:15 +02:00
Daniel Berteaud
3c19a340a2
Don't display peer ID if the peer has no displayName
2014-05-30 12:36:38 +02:00
Daniel Berteaud
60f0cb53b9
Update fr and en locales
2014-05-29 23:30:42 +02:00
Daniel Berteaud
94f0be24f8
Adapt the client side JS to the new modal dialog for join password
2014-05-29 22:55:20 +02:00
Daniel Berteaud
4e5f6b7ffa
Adapt JS part to the new modal dialog for persistent rooms
2014-05-29 12:36:11 +02:00
Daniel Berteaud
f95e2730bd
Change ping responce notif class to info
...
And disable autoHide
2014-05-28 12:42:06 +02:00
Daniel Berteaud
806ec1d443
Use a much lower thrshold to detect no sound
...
the previous -40 triggered far too much false positives
2014-05-26 16:01:48 +02:00
Daniel Berteaud
513fd90d47
Don't display cryptic peer ID
...
When the participant hasn't set a display name
2014-05-25 15:49:07 +02:00
Daniel Berteaud
07276cbd86
Slightly delay MoH check
...
So it doesn't start/stop when you join a room with participants
2014-05-25 15:23:19 +02:00
Daniel Berteaud
d4dcea1b58
Shorter animations for main video transitions
2014-05-25 15:20:33 +02:00
Daniel Berteaud
8f582b0e57
More comments + few cleanups
2014-05-25 00:14:10 +02:00
Daniel Berteaud
f44dac9b8e
Remove context menu on the main video
2014-05-24 22:40:47 +02:00
Daniel Berteaud
7ca297267f
Also correctly fade out the main video when we unshare our screen
2014-05-24 16:38:39 +02:00
Daniel Berteaud
811f61fab2
Fix main video removal when the peer share its screen
2014-05-24 16:33:59 +02:00
Daniel Berteaud
950a84fbbe
Some code refactoring
...
Reduce duplicate code
Also add some more checks that event received from the signaling channel are sent by owners (ignore them if it's not the case)
2014-05-24 14:06:31 +02:00
Daniel Berteaud
36d202585c
Don't loop to check if MoH is needed
...
Instead, start it once when you join the room, and check each time a peer leaves if it must be re-enabled
2014-05-24 13:28:07 +02:00
Daniel Berteaud
9766ea688a
Do not autoplay moh if it was muted
2014-05-24 00:42:05 +02:00
Daniel Berteaud
32790721f4
Fix going fullScreen when double clicking the main video
2014-05-23 23:06:30 +02:00
Daniel Berteaud
2cf278e25b
Fix handling our own screen preview
2014-05-23 22:55:42 +02:00
Daniel Berteaud
d6f70c8594
Small transitions for previews
...
Also fix main video removal if it's a peer's screen
2014-05-23 22:49:21 +02:00
Daniel Berteaud
1913a24a44
Fix video remove
2014-05-23 20:32:12 +02:00
Daniel Berteaud
7fd7d863ed
Add transitions for the main video
...
And also remove some duplicated code
2014-05-23 20:23:37 +02:00
Daniel Berteaud
4ee0d76444
Add MoH when you are alone in the room
...
You can pause/resume music
Stops when someone joins, and resume when the last peer leaves
Also prints a message
Fix #42
2014-05-23 19:16:45 +02:00
Daniel Berteaud
f4ab4626e9
Hide the unread counter until needed
2014-05-23 14:01:05 +02:00
Daniel Berteaud
20d03ec012
Add a counter of unread message for the text chat
2014-05-23 13:46:16 +02:00
Daniel Berteaud
319dd9a03e
Wait a bit before enabling owner's action button
...
As all the channels have to be ready first
2014-05-23 13:05:46 +02:00
Daniel Berteaud
0ac90f012c
Warning if webcam access is refused
...
Fix #41
2014-05-23 12:48:45 +02:00
Daniel Berteaud
a6566704ff
Fix owner's action mess when a peer shares its screen
2014-05-22 18:28:14 +02:00
Daniel Berteaud
652682b00a
Correctly escape chars in email addresses
...
Without this, some email address with strange chars were not removable
2014-05-22 16:07:00 +02:00
Daniel Berteaud
bd0535c940
Suspend button when used to prevent abuse and server overload
2014-05-22 14:18:52 +02:00
Daniel Berteaud
8286e77155
Chage owner's action buttons depending on the actual status
2014-05-21 19:34:16 +02:00
Daniel Berteaud
4522add764
Only enable the add email button when input looks like an email address
2014-05-21 18:50:21 +02:00
Daniel Berteaud
dac515d5f7
Enable chat when the displayName is set before joining the room
2014-05-21 18:43:41 +02:00
Daniel Berteaud
dde00417ba
Remove warning in vroom.js
2014-05-21 18:22:09 +02:00
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
5cda9f2bea
Add client side support to get display name on the new modale dialog
2014-05-21 17:39:50 +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
854d7369e7
Remove now unused JS code and CSS rules
2014-05-20 19:23:10 +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
cdece954cf
Split huge line
2014-05-20 11:21:03 +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
1b858a8912
Hide auth menu if the owner password is unset
2014-05-19 11:20:36 +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
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
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
83cafa7536
Warn if no sound has been detected
...
Fix #29
2014-05-15 14:02:37 +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
96d8a0eaa6
Fix error handling for lock/unlock
2014-05-14 21:51:35 +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
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
8ab49c3b9e
Dont call maxHeight() before it's defined
2014-05-13 23:27:10 +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
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
76468a8958
Only allow owner (creator) to set a passord
2014-05-12 22:57:15 +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
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
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
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
98fd6cd32c
Coding style updates and comments cleanup
2014-05-06 22:34:08 +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
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
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
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
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
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
28b897e2b9
Translate missing string
...
"one of the peers" was hardcoded instead of being localized
2014-04-19 19:23:27 +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
cef5791a89
Initial import
2014-04-03 17:42:54 +02:00