Commit graph

99 commits

Author SHA1 Message Date
David Négrier bf070c33b5 Migrating front protobuf encode/decode to ts-proto lib
The ts-proto lib has the huge advantage of producing code the "Typescript" way and not the "Java" way.
In particular, for "oneof" types in protobuf, it is generating "ADT" that can be used to check if we forgot or not to deal with a type.
2022-01-03 15:52:46 +01:00
David Négrier 482ba9690a Sharing outline color changes in real time 2021-12-22 18:34:36 +01:00
kharhamel ba5fa06306 FIX: fixed a circular dependancy in stores by rewriting createPeerStore() and createScreenSharingPeerStore() 2021-09-03 17:16:31 +02:00
kharhamel 52fe79df47 FEATURE: improved the mediaStore code to disable tracks instead of deleting them 2021-09-01 17:14:05 +02:00
kharhamel 1e20466f74 FIX: media tracks were not readded to a 3rd person in some situations 2021-08-31 16:29:23 +02:00
grégoire parant c7fdfed00c
Improve mobile camera shown (#1354)
- Add new store to send mobile size
 - Update style to show video for mobile size
2021-08-10 22:35:26 +02:00
Stefan Weil 64065b2798
Fix some typos (found by codespell) (#1316)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-27 14:29:09 +02:00
kharhamel 3cfbcc6b02 FEATURE: migrated the chat window to svelte 2021-07-07 18:07:58 +02:00
David Négrier 34cb0ebf39 Users blocking now rely on UUID rather than ID
This way, if a user A blocks another user B, if user B refreshes the browser or leaves and re-enters the room, user B will still be blocked.
As a side effect, this allows us to completely remove the "sockets" property in the SocketManager on the Pusher.
2021-07-07 11:24:51 +02:00
David Négrier 46e6917df6 Adding a playersStore
The playerStore can be useful to get the details of a given player from its ID.
2021-07-06 17:13:08 +02:00
jonny 7f61e9addd Merge remote-tracking branch 'remotes/upstream/develop' into tiles-start-positions 2021-06-25 18:14:40 +02:00
David Négrier cddade059f Removing commented code 2021-06-21 14:49:41 +02:00
David Négrier 227575043b Removing dead code 2021-06-17 18:56:30 +02:00
David Négrier 3b278d0498 Removing dead code 2021-06-17 10:07:27 +02:00
David Négrier e7b0f859a5 Migrating the video overlay in Svelte (WIP) 2021-06-17 10:07:27 +02:00
David Négrier 50e994c674 Attempt to switch bubble sound playing into Phaser
In iOS, we cannot trigger a playing sound if it does not start from a user gesture.
This is a huge bummer for a notification sound!

This is an attempt to switch sound playing to Phaser, which is using under the hood the WebAudio API.
This might solve the issue.
2021-06-03 15:40:44 +02:00
GRL b8873d1277 selectCompanionScene work with svelte 2021-05-31 12:06:11 +02:00
David Négrier 90176da888 MediaManager cleanup
- Removing the last reference to the local video stream. Everything is now fetched from the store.
- Remvoing commented code
2021-05-29 22:34:38 +02:00
David Négrier b7f1461405 Removing listeners from MediaManager.
SimplePeer now reacts only to stores.
2021-05-29 22:04:08 +02:00
David Négrier 8af8ccd54b Migrating MediaManager game part to Svelte store 2021-05-26 12:12:18 +02:00
David Négrier 4d4f845b9e Setting "importsNotUsedAsValues": "error"
Turning the "importsNotUsedAsValues" TS config value to "error".
This will require us to use `import type` instead of `import` when we are importing a value that is only used as a type (and therefore that is dropped by the Typescript compiler).

Why this change?
This is a requirement to be able to use Svelte in the future. See https://github.com/sveltejs/svelte-preprocess/issues/206#issuecomment-663193798
2021-05-12 09:13:25 +02:00
Gregoire Parant 52b1c6733b Notification & Camera
- Notification when user is first and not focus on the tab
- Camera focus when user is in discussion circle and back on tab with previous config camera settings
- Camera stay blur if user is in discussion circle and not back on the tab

# Conflicts:
#	front/src/WebRtc/MediaManager.ts
2021-05-11 10:13:38 +02:00
grégoire parant 71eb3f3b69
Improvement feature circle discussion (#977)
* Improvment circle discussion
 - Change to lissen start event of WebRTC connection

* Update help allow navigator and waring message
 - Show warning message.
 - Use help camera allow setting to show modal and help user.
 - Change feature to show the modal only when user have need the information on allow navigator access

* Create soud for video discussion
2021-05-05 01:49:04 +02:00
PizZaKatZe 599fdd6ceb Fix group icons and audio attenuation 2021-03-22 20:09:11 +01:00
David Négrier 13a20a0ef0 Fixing screensharing Coturn credentials
When screensharing is initiated by the user, we previously did not send the correct Coturn credentials.
We now send the last credentials received from the Video stream.
2021-02-18 11:52:30 +01:00
David Négrier 6b00355ea8 Fixing WebRtc user name / password when using TURN REST API 2021-02-16 18:13:30 +01:00
David Négrier 12ef2820bf Refactoring parameters passed to ScreenSharingPeer 2021-02-16 11:08:03 +01:00
David Négrier cdb3cfdc81 [Feature] Connect to a Coturn server using REST API
This allows connecting to a TURN server with temporary passwords.
The passwords are expiring after 4 hours.
2021-02-16 11:06:05 +01:00
kharhamel 0c892e0243 FEATURE: implemented a client side blacklist 2021-02-12 19:15:24 +01:00
Gregoire Parant 7eb38fae83 Permit puiblic report
- Create report html
 - Add report flag
2021-01-29 21:09:10 +01:00
Gregoire Parant e8f1b2d048 Add clear array peer connection sharing 2021-01-07 12:58:45 +01:00
Gregoire Parant a88ad3cf4d Dont delete PeerSharingConnection because it will be resuse
When user try to screen charing with same user, the event send is not a offer but renegociation. So could clear arry only when user out of circle.
2021-01-07 12:13:12 +01:00
kharhamel a1aedaa594 FEAT: now play a sound when a user quit the webrtc group 2020-12-11 16:01:31 +01:00
kharhamel 28b0229c76 FIX: disabled pingCameraStatus and reduced the amount of errors thrown in console 2020-11-27 17:06:47 +01:00
Gregoire Parant 0acbe20bbf Fix name send in message 2020-11-10 13:00:14 +01:00
Gregoire Parant f95f38b092 Permit to remove callback 2020-10-26 14:13:51 +01:00
Gregoire Parant 1945c24704 Create send data discussion 2020-10-25 21:59:14 +01:00
Gregoire Parant 2ee6d43274 Fix sharing peer connection 2020-10-20 20:39:33 +02:00
Gregoire Parant 7fa999a1bd Fix lint 2020-10-20 18:03:10 +02:00
Gregoire Parant 173f7a5061 Fix webrct finish event delay 2020-10-20 18:02:44 +02:00
Gregoire Parant 336742b8b3 Fix screen sharing
Foce screan sharing to create new peer connexion and share it
2020-10-20 14:48:59 +02:00
David Négrier 267476c651 Removing TODO 2020-10-15 17:59:32 +02:00
David Négrier 0ea7240834 Adding condition to enable reporting only on private rooms 2020-10-15 17:58:27 +02:00
Gregoire Parant 38d2cc9a8c Remove teleport feature 2020-10-15 12:12:11 +02:00
Gregoire Parant dbaf44e814 Change report flag
- Add icon on video
- Permit to have a modal with comment
2020-10-13 19:56:42 +02:00
David Négrier d3fa901691 Merge branch 'develop' of github.com:thecodingmachine/workadventure into feature/global-message
+ migrating to protobuf messages

# Conflicts:
#	back/src/App.ts
#	back/src/Controller/IoSocketController.ts
#	back/yarn.lock
#	front/src/Connection.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/Phaser/Login/EnableCameraScene.ts
#	front/src/WebRtc/SimplePeer.ts
2020-10-01 14:11:34 +02:00
David Négrier 9f3577286d Merge branch 'develop' of github.com:thecodingmachine/workadventure into uws
# Conflicts:
#	back/src/Controller/AdminController.ts
#	back/src/Controller/AuthenticateController.ts
#	back/src/Controller/IoSocketController.ts
#	back/src/Controller/MapController.ts
#	benchmark/index.ts
#	front/src/Connexion/RoomConnection.ts
2020-09-29 17:12:28 +02:00
David Négrier b485c9bf46 Switching WebRTC to protobuf + uws 2020-09-29 16:01:22 +02:00
arp af4611ed29 rewrote the login workflow 2020-09-25 19:23:33 +02:00
David Négrier e9ca8721a6 Migrating userId to "int32" to save some space and adding userMoves message in protobuf 2020-09-18 13:57:38 +02:00