Gregoire Parant
16b3e48711
Add menu to switch
2020-09-21 01:16:10 +02:00
Gregoire Parant
1829912c91
Fix remove last childnode
2020-09-21 00:42:39 +02:00
Gregoire Parant
e0ae79eaf1
Fini quill box
2020-09-21 00:34:25 +02:00
Gregoire Parant
9b955ebd20
fix style quill box
2020-09-20 19:31:24 +02:00
Gregoire Parant
844bffa988
Create file controller to upload audio document
2020-09-20 19:01:21 +02:00
Gregoire Parant
45ad4bbb36
Send and play audio message
2020-09-20 17:12:27 +02:00
Gregoire Parant
4c7e458e52
create event and brodcast event in backend
2020-09-19 01:08:56 +02:00
David Négrier
b148ca3708
Linting
2020-09-18 18:16:26 +02:00
David Négrier
d2a5060ad2
Using multistage builds with protocol buffers
2020-09-18 18:00:03 +02:00
David Négrier
d3116c7400
Building proto messages in CI
2020-09-18 17:51:12 +02:00
David Négrier
5c0a4e7c5a
Fixing front Dockerfile
2020-09-18 17:39:59 +02:00
David Négrier
7826b2ea8d
Fixing Docker build images to add new messages directory
2020-09-18 17:22:45 +02:00
David Négrier
df0636c513
Migrating user position messages to protobuf
2020-09-18 15:51:15 +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
arp
ed9552b62b
added a register route via token
2020-09-17 18:21:49 +02:00
David Négrier
4b55b54a07
Adding first protobuf message exchange
2020-09-17 17:14:47 +02:00
Gregoire Parant
e59cbcfaa7
Create console global message
...
- Add style
- Create zone and button to show the admin console
2020-09-16 21:50:04 +02:00
Gregoire Parant
509196785b
Initialise global message
...
- Create new class to manager global message. My idea is that this class permit to manage audio or text message.
- Update html to have main content id and inject html in this.
- Create front event to receive startMessage and stopMessage.
- Delete impoted variable not used.
2020-09-16 18:38:50 +02:00
David Négrier
f5f9dcac04
Making groups part of zones
2020-09-16 16:06:43 +02:00
David Négrier
3a9196fb82
Merge
2020-09-16 11:41:03 +02:00
David Négrier
d24ec0bd75
Plugin PositionNotifier into the main application.
2020-09-15 16:21:41 +02:00
David Négrier
f8d462b0d7
Fixing "any" type
2020-09-15 10:10:35 +02:00
David Négrier
9b702c75e3
Adding batched messages + the notion of notifier / zones (not plugged in the system yet)
2020-09-15 10:06:11 +02:00
David Négrier
e418e8fd09
Setting the depth of the chat mode / presentation mode to 99999 to avoid melting buttons with map.
2020-09-10 09:31:53 +02:00
David Négrier
f70ba1411a
Hiding cam details when entering a Jisti room
2020-09-01 14:43:21 +02:00
David Négrier
9516f6615c
Centering character based on game div
...
Previously, character was centered based on window size, but when doing CoWebsite browsing, window size != game size, leading to poorly centered characters
2020-08-31 17:56:11 +02:00
David Négrier
8655aef629
Fixing URL passing in WebRtc setup
2020-08-31 15:34:21 +02:00
David Négrier
3875c0afe8
Fixing environment variable passing in Webpack
2020-08-31 15:34:21 +02:00
David Négrier
ed116cf2a3
Switching on our very own turn server
2020-08-31 15:33:50 +02:00
David Négrier
6f6873e870
Merge pull request #251 from thecodingmachine/fix_camera_stop
...
Camera was not properly closed in EnableCameraScene
2020-08-31 15:31:33 +02:00
David Négrier
634eecd42a
Fixing issue when both mic and cam are stopped
2020-08-31 15:21:05 +02:00
David Négrier
c739037bc4
Camera was not properly closed in EnableCameraScene
2020-08-31 14:54:52 +02:00
David Négrier
9351719873
Adding the notion of silent zone
2020-08-31 14:10:01 +02:00
David Négrier
df7b5cc2e3
Adding a "silent" notion (triggered in Jitsi meets)
2020-08-31 14:03:40 +02:00
David Négrier
0a8ba37049
Adding Jitsi meet support
2020-08-31 12:18:00 +02:00
David Négrier
a128ff117b
code style
2020-08-30 17:40:04 +02:00
David Négrier
01319b50ca
Adding a "openWebsite" property that opens websites when we walk over the zone.
2020-08-30 17:37:38 +02:00
David Négrier
168697eb46
Adding a GameMap class that helps tracking when the properties of the tiles the user is changes (when the user moves)
2020-08-30 15:44:22 +02:00
David Négrier
13272968cf
Clicking on a video puts it in presentation mode
...
Adding the ability to put a video in presentation mode by clicking on it.
Also, adding small CSS animations on hover.
2020-08-27 10:16:34 +02:00
David Négrier
7dc9e32b84
Merge branch 'screenshare2' into outline
2020-08-24 18:24:47 +02:00
David Négrier
7f5f802b86
Avoiding flickering when entering presentation mode with no presentation
2020-08-24 18:23:02 +02:00
David Négrier
fca93663b4
Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
2020-08-24 18:15:44 +02:00
David Négrier
044495cf05
Centering character in free space
...
This commit adds the ability to put the character where there is free space when a discussion is hapening (either in presentation or chat mode)
2020-08-24 14:19:36 +02:00
David Négrier
b7c2f8be7b
Adding colors for cam/mic/screen share button
...
Microphone and camera are now red when disabled.
Screen-share is green when enabled.
Also, they are now always partially visible (they were completely hidden previously until hovering in the lower right corner)
2020-08-22 15:26:40 +02:00
David Négrier
91f422d0c3
Fixing stop of stream in bi-directional screen sharing.
2020-08-21 22:53:17 +02:00
David Négrier
f60b02f1dc
Putting a wider onhover surface when clicking on one of the buttons to manage screen sharing or video/mic
2020-08-20 22:57:34 +02:00
David Négrier
c442d6ce67
Lint
2020-08-20 22:29:14 +02:00
David Négrier
dc36af19bc
Detecting press on "stop screen sharing"
2020-08-20 22:23:38 +02:00
David Négrier
1162439479
Overloading destroy method instead of having a separate method to remove video.
2020-08-20 22:23:22 +02:00
David Négrier
27ffb6b13d
Refactoring SimplePeer code: splitting Peer instantiation into 2 subclasses (VideoPeer and ScreenSharingPeer). This leads to way leaner code.
2020-08-20 16:56:10 +02:00
David Négrier
894f7c8009
Removing useless roomID parameter in WebRtcSignal message
2020-08-20 15:21:07 +02:00
David Négrier
0119534283
First version of screen-sharing that works when a user is joining a group after screen sharing begun.
2020-08-20 00:05:00 +02:00
David Négrier
cc1cb2f671
Fixing linting
2020-08-18 14:59:50 +02:00
David Négrier
2e61c2ef62
Getting back code in compilable fashion after huge rebase
2020-08-18 00:12:38 +02:00
Gregoire Parant
4b72958193
Fix peer connexion for two player with screen sharing
2020-08-17 23:56:46 +02:00
Gregoire Parant
a8f27e6084
Create event to start webrtc screen charing
2020-08-17 23:54:26 +02:00
Gregoire Parant
a4f42111d7
Update screen sharing feature
2020-08-17 23:47:17 +02:00
Gregoire Parant
0bbed7717a
Continue screen sharing
2020-08-17 23:39:50 +02:00
Gregoire Parant
3e2c5049f2
Fix to add special screen sharing
2020-08-17 23:36:02 +02:00
Gregoire Parant
209057e3fc
New fictive user screen sharing
...
- Create new fictive user
- Add new fictive user in WebRtc group
- Add screen sharing video on left side
2020-08-17 23:32:39 +02:00
Gregoire Parant
6c1b8122ef
Fix CI
2020-08-17 23:19:31 +02:00
Gregoire Parant
eed5333d69
Stability simple peer
2020-08-17 23:18:38 +02:00
Gregoire Parant
208b91e52a
Feature screen sharing
...
- Send stream of screen sharing in peer connexion
- Add button for share your screen
2020-08-17 23:17:00 +02:00
David Négrier
6b970adc6c
Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
...
# Conflicts:
# front/src/Phaser/Game/GameScene.ts
# front/src/Phaser/Player/Player.ts
# front/src/index.ts
# front/yarn.lock
2020-08-17 22:51:37 +02:00
David Négrier
fc78249eae
Code cleanup
2020-08-17 22:03:08 +02:00
David Négrier
0f305b0c12
CSS cleanup
2020-08-17 21:59:26 +02:00
David Négrier
beb0d1ef0a
Linter fix
2020-08-17 16:18:39 +02:00
David Négrier
6516e621b0
Adding display / hide of layout buttons when a meet start / ends
2020-08-17 16:12:53 +02:00
David Négrier
7fe2cc19c3
Adding buttons to switch mode
2020-08-17 15:20:03 +02:00
David Négrier
05ca8c813e
Fixing chat mode canceling flex display
2020-08-16 23:49:31 +02:00
David Négrier
1509777945
Improving video CSS (work on overlay)
2020-08-16 23:45:03 +02:00
David Négrier
88c099fc13
Improving layout
...
Fixing left-right switch on all cameras (except current player camera)
2020-08-16 23:19:04 +02:00
David Négrier
0041e088a4
Fixing position of self webcam in CoWebsite mode
2020-08-13 18:28:22 +02:00
David Négrier
9f6c6e0ce1
Adding CoWebsiteManager + first working version of flex video
2020-08-13 18:21:48 +02:00
David Négrier
83fe024c45
Adjusting class in chat mode based on number of divs displayed.
2020-08-11 22:40:54 +02:00
David Négrier
7232bbaef9
Adding LayoutManager to position videos as cleverly as possible
2020-08-11 22:32:55 +02:00
David Négrier
24fb605f50
Switching to definitely assigned parameters
...
This allows us to go in "full strict mode" (yeah!)
See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#strict-class-initialization
2020-08-07 23:39:06 +02:00
David Négrier
bc929615d1
Fixing problem when switching scenes with container
2020-07-29 11:42:18 +02:00
David Négrier
dcbe8d35db
Upgrading dependencies
2020-07-29 11:35:59 +02:00
David Négrier
84529d6e99
Propagating customized sprites all over the game
2020-07-28 17:45:55 +02:00
David Négrier
6d0bccc0e1
Making a nice "customize" button
2020-07-28 15:53:44 +02:00
David Perez
866985326b
Fixing merge issue
2020-07-28 11:35:30 +02:00
David Perez
90c56ca683
merge
2020-07-28 11:29:21 +02:00
David Perez
25abcfe202
png files
2020-07-28 11:25:19 +02:00
David Perez
21d2a7939b
custome characters
2020-07-28 11:24:34 +02:00
David Négrier
2d818ec79d
Fixing broken Jasmine test due to module config
2020-07-27 22:48:04 +02:00
David Négrier
ee612f6585
Adding event support to items
2020-07-27 22:36:58 +02:00
David Négrier
d48d5b0285
Fix CS
2020-07-23 18:47:28 +02:00
David Négrier
2484e4f1df
Moving maps to their own container
2020-07-23 18:43:51 +02:00
David Négrier
ed146226cf
Adding Outline capabilities and a ActionableItem notion.
2020-07-23 18:09:24 +02:00
David Négrier
f7466994c5
Playing with pipeline to display outline
2020-07-15 23:44:01 +02:00
David Négrier
6879418098
Adding a 404 page when resources loading fails
2020-07-07 22:52:22 +02:00
David Négrier
55767f2c78
Fixing image tileset key
...
If 2 maps share the same tileset name (even if they use 2 different URLs for the tileset), the tileset image will be reused wrongly.
This commit fixes the tileset key to make it equal to the image URL.
2020-07-07 18:22:10 +02:00
David Négrier
67e07c04f8
Fixing loading of tilesets with margin or padding
2020-07-05 17:10:08 +02:00
David Négrier
2b5d3e0017
Sending the source map out of the main JS file to reduce size
2020-07-02 10:38:36 +02:00
David Négrier
63e2e176d3
Fixing tests
2020-06-25 11:56:11 +02:00
David Négrier
bfec2317c9
Fixing default value
2020-06-25 11:39:38 +02:00
David Négrier
bb6b07536e
Fixing Jasmine tests
2020-06-25 11:39:18 +02:00
David Négrier
1978c1a324
Lint
2020-06-25 11:35:20 +02:00
David Négrier
5f5cec93ea
Audio device => exact mode
2020-06-25 11:26:55 +02:00
David Négrier
e3e7b92c6a
Fixing errors when arrows touched and no cam
2020-06-25 10:43:42 +02:00
David Négrier
c322de4412
Moving to async/await
2020-06-25 10:43:27 +02:00
David Négrier
8db615551a
Fixing device switching in Firefox
2020-06-25 10:33:26 +02:00
David Négrier
d18abaf067
Enabling optional https in development
2020-06-25 10:32:47 +02:00
David Négrier
371b4f0063
Fixing Firefox compatibility by remove references to InputDeviceInfo
2020-06-25 09:28:00 +02:00
David Négrier
a52b1f612b
Reorganizing on x axis too.
2020-06-24 18:09:59 +02:00
David Négrier
b3c18702bb
Adding borders, centering camera, fixing small bug on resize when no camera is enabled
2020-06-24 17:49:38 +02:00
David Négrier
253108eba0
- Making the EnableCameraScene responsive
...
- Enabling click on arrows
2020-06-24 17:29:23 +02:00
David Négrier
3de37bafed
Adding a scene to configure the webcam
2020-06-24 15:35:07 +02:00
David Négrier
d78006e106
Fixing memory leak with listeners
...
The listeners from MediaManager and SimplePeer were never removed, leading to a huge amount of listeners all over the applications when switching regularly of scene.
2020-06-23 15:02:35 +02:00
David Négrier
74af7d52c3
Improving error handling in MediaManager
2020-06-22 22:55:28 +02:00
David Négrier
a5514ce78a
Code cleanup and removing exception in favor of console error
2020-06-22 18:42:54 +02:00
David Négrier
407c6db070
Fixing difference between MapKey and scene key (prevented proper caching of resources)
2020-06-22 17:18:24 +02:00
David Négrier
3f927280a6
Lint
2020-06-22 16:11:48 +02:00
David Négrier
9b174836cd
Making sure connection is established again EVEN if the tab is not displayed
2020-06-22 16:11:02 +02:00
David Négrier
1e4ffa20ab
Cleaning GameManager
2020-06-22 16:10:34 +02:00
David Négrier
403ea223a8
Reconnecting also on socket error
2020-06-22 16:10:18 +02:00
David Négrier
f88f28db3f
Refactoring reconnection: putting it into the GameScene directly.
2020-06-22 15:00:23 +02:00
David Négrier
d785a8a1bf
Refactoring connection to be part of a GameScene
...
Most of the refactoring issues we are seeing are probably due to the fact that we are trying to manipulate a ScenePlugin out of a Scene (the GameManager is not a Scene and holds a reference to a ScenePlugin coming from a Scene that might get invalidated by Phaser 3).
Furthermore, if we want in the future to be able to scale, scenes could be hosted on different servers. Therefore, it makes no sense to have one connexion for the whole application.
Instead, we should have one connexion for each scene.
2020-06-22 11:58:07 +02:00
David Négrier
4496c49621
Fix linting
2020-06-19 18:51:58 +02:00
David Négrier
2b820c7d56
Adding an event queue in the GameScene.
...
Events are processed only in the 'update' method.
We hope this will solve a number of null pointer errors. See #194
2020-06-19 18:18:43 +02:00
David Négrier
e2be99490b
Finishing removing any reference to "any" in the front.
2020-06-19 16:36:40 +02:00
David Négrier
39928b46f9
Removing any in the front
2020-06-19 14:30:34 +02:00
David Négrier
8348d13bfe
Fixing use const instead of let
2020-06-19 14:30:34 +02:00
David Négrier
54f2518b5e
Enabling stricter lint on front
2020-06-19 14:29:29 +02:00
David Négrier
817b25b0be
Fixing reconnect issue
...
In the case the reconnect event was triggered on "wake-up", the disconnect event was not sent. But because of a bug in the way we handle the setTimeout, the reconnection to the GameScene never happened after we forced the disconnect scene.
This fixes the issue.
2020-06-17 16:06:02 +02:00
David Négrier
b8f9e25b26
Merge pull request #184 from thecodingmachine/debugreconnect
...
Adding console log when trying to reconnect
2020-06-17 15:43:20 +02:00
David Négrier
b14524625c
Adding console log when trying to reconnect
2020-06-17 15:37:02 +02:00
David Négrier
b1d39c4690
More logs
2020-06-11 14:13:13 +02:00
David Négrier
ea30a02762
Fixing reconnect issues
2020-06-11 14:12:03 +02:00
David Négrier
473c5aa052
Fixing events fired multiple times
...
Callbacks for socket.io events were registered each time a disconnect was called, leading to message being dispatched plenty of times if there was several disconnections.
2020-06-11 13:34:25 +02:00
David Négrier
e50a4fd88b
Fixing setTimeout being called several times
2020-06-11 11:34:22 +02:00
David Négrier
f7265c213e
Patch
2020-06-11 10:40:43 +02:00
David Négrier
43c7c9ad07
Fixing null initialization
2020-06-11 10:29:11 +02:00
David Négrier
77167c28a6
Making sure that even is a user did not move, the reconnection can happen without issues and resume at the old position
2020-06-11 10:04:23 +02:00
David Négrier
ce7b4092a6
Fixing suspend/resume
...
In case we suspend a laptop and resume it, the RECONNECT event is called by socket.io without any error being thrown (so without us being redirected to the Reconnect Scene).
This fix makes sure we go to the reconnect scene before going back to the main scene.
2020-06-11 09:37:33 +02:00
David Négrier
80fddb3c69
Removing dead code
2020-06-10 16:01:01 +02:00
David Négrier
f518830073
Minor change to make sure the scene starts even if in background (does this really work?)
2020-06-10 16:00:54 +02:00
David Négrier
500dc83a85
Completely resetting GameScene on disconnect
2020-06-10 15:43:22 +02:00
David Négrier
43e4489d4d
Fixing start position on disconnect
2020-06-10 14:57:32 +02:00
David Négrier
91ce318848
Changing license to AGPL + Commons Clause
...
This is an important change.
So far, the project was labelled as licensed under the "AGPL" (improperly since no version of the AGPL was specified)
This commit changes the license to "AGPL + Commons Clause"
The [common clause](https://commonsclause.com/ ) is an additional restriction forbidding companies from taking WorkAdventure of the shelf, and reselling WorkAdventure.
This license does not forbid anyone from installing and using WorkAdventure, it only targets resellers (so SAAS exploitation of WorkAdventure is limited to TheCodingMachine).
This effectively makes WorkAdventure non open-source, but the source-code remains available for anyone to see and modify.
2020-06-09 10:17:21 +02:00
David Négrier
dcc78786a9
Porting favicon to the "front" container
2020-06-09 09:21:24 +02:00
David Négrier
bd3be2a138
Merge pull request #157 from thecodingmachine/fixing_long_disconnect
...
Adding connecting spinner and blinking error to webrtc display
2020-06-08 18:09:12 +02:00
David Négrier
5042f2f82c
Lint
2020-06-07 23:00:05 +02:00
David Négrier
c0809e28db
Adding support for putting the hash in a map referenced in an exit scene.
2020-06-07 22:57:32 +02:00
David Négrier
db3ef81842
Adding the ability to add several entry points
...
We can now have several start layers and choose an entry point using a # in the URL
2020-06-07 13:23:32 +02:00
David Négrier
f2c9647882
Adding connecting spinner and blinking error to webrtc display
...
I put a connecting spinner around the user name when the user is connecting.
Also, if an error occurs, we will see a blinking red circle around the player name.
2020-06-06 22:49:55 +02:00
David Négrier
96c5d92c46
Fixing disconnection taking ~15 seconds
...
Most of the time, sending a disconnect event to one of the players is enough (the player will close the connection
which will be shut for the other player).
However! In the rare case where the WebRTC connection is not yet established, if we close the connection on one of the player,
the other player will try connecting until a timeout happens (during this time, the circle with the name is displayed for nothing).
So now, we send disconnection event to every body (not only the people in the group, but also to the person leaving the group)
2020-06-05 13:07:18 +02:00
David Négrier
b82b13e351
Finalizing strict mode fixes
2020-06-04 18:56:59 +02:00
David Négrier
6f69a62d4d
More strict fixes
2020-06-04 18:56:59 +02:00