David Négrier
72806b3ca0
Fixing messages copy
2020-09-24 11:54:00 +02:00
David Négrier
d7209d8864
Migrating messages locally into back and front
2020-09-24 11:16:08 +02:00
David Négrier
b4f971c501
Switched group position to protobuf
2020-09-24 10:05:16 +02:00
Gregoire Parant
4beeb62c6f
Fix CI
2020-09-23 18:28:12 +02:00
Gregoire Parant
bcb126a146
Merge branch 'develop' into feature/global-message
...
# Conflicts:
# back/src/App.ts
2020-09-23 17:26:00 +02:00
Gregoire Parant
0d2893ec75
Send at every player connected
2020-09-21 15:11:46 +02:00
David Négrier
76d3779438
Moved GroupUpdateMessage to protobuf
2020-09-21 11:24:03 +02:00
arp
a19f09bef2
improve the register workflow
2020-09-21 10:51:48 +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
57545a96a5
Removing binary call because missing typescript def
2020-09-18 18:18:39 +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
7826b2ea8d
Fixing Docker build images to add new messages directory
2020-09-18 17:22:45 +02:00
David Négrier
32f92d5c45
Switching test loading from Artillery to home-grown test
2020-09-18 17:01:45 +02:00
David Négrier
28dc3a2c84
Removing protobuf packages from back
2020-09-18 16:05:52 +02:00
David Négrier
df0636c513
Migrating user position messages to protobuf
2020-09-18 15:51:15 +02:00
arp
3a17795ad3
added basic token auth
2020-09-18 15:48:30 +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
David Négrier
9dd3d4bac8
Watching protoc in dev mode
2020-09-16 22:27:37 +02:00
David Négrier
2e8fa8d676
Adding protocol buffers to the project with Typescript support
2020-09-16 18:34:24 +02:00
David Négrier
f6458a8335
Removing useless group callbacks at the World level
2020-09-16 16:13:47 +02:00
David Négrier
7410cc8a4b
Fixing tests
2020-09-16 16:10:20 +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
7e7b42ce19
Changing load test to run in circles
2020-09-16 09:31:44 +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
b37a8f63be
Moved benchmark to its own directory and added multicore testing + a README
2020-09-11 09:56:05 +02:00
Gregoire Parant
d4fe59d154
Create config file artillery websocket
2020-09-09 12:32:01 +02:00
David Négrier
8968627d69
Adding Jitsi meeting in TCM maps
2020-08-31 14:23:31 +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
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
fca93663b4
Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
2020-08-24 18:15:44 +02:00
David Négrier
2ae19b9f30
Fixing build
2020-08-20 22:34:50 +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
6c5772e849
Fixing typipng in back
2020-08-18 15:31:42 +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
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
84529d6e99
Propagating customized sprites all over the game
2020-07-28 17:45:55 +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
82c57810a2
Removing host label from Prometheus because it is redundant
2020-06-29 23:01:52 +02:00
David Négrier
6412c56fcd
Adding finally clause to make sure Prometheus indicators are ok
2020-06-29 22:56:41 +02:00
David Négrier
31846d1640
Using a Set for groups
2020-06-29 22:21:11 +02:00
David Négrier
4fee1ac206
Refactoring World and Group to use Map and Set instead of arrays
2020-06-29 22:10:23 +02:00
David Négrier
981fa84aa7
Mitigating problem when there is a synchronization issue between World and sockets list.
2020-06-29 19:16:15 +02:00
David Négrier
9bdcc9da98
Deleting world when empty.
2020-06-29 19:14:54 +02:00
David Négrier
d736673169
Adding an entry point in first floor
2020-06-17 16:35:47 +02:00
David Négrier
e1954c7ff9
Removing overlapping tiles between start and exit
2020-06-17 16:31:42 +02:00
David Négrier
928e486de5
Fixing token management
2020-06-10 12:32:39 +02:00
David Négrier
a373626e24
Removing all "any" from back.
...
To do this, I used generic-type-guard package which generates both an interface AND a valid type guard from code.
With this, we are 100% sure that the messages we receive are validated at runtime!
The client cannot pass us an object that is invalid! \o/
2020-06-09 23:07:19 +02:00
David Négrier
ac0b7a7361
Turning let into const where applicable
2020-06-09 15:54:54 +02:00
David Négrier
30ca47c2d8
Enabling stricter lint: forbidding usage of any
...
See #168
2020-06-09 15:51:14 +02:00
David Négrier
68dfed5fba
Fixing Prometheus indicator
2020-06-09 13:53:33 +02:00
David Négrier
c70da31e23
Merge pull request #163 from thecodingmachine/change_license
...
Changing license to AGPL + Commons Clause
2020-06-09 12:30:16 +02:00
David Négrier
a15d74e6ce
Adding ARP as contributor
2020-06-09 12:13:51 +02:00
David Négrier
af6924a27c
Adding Prometheus metrics
...
This commit adds a '/metrics' endpoint in the API that can be exploited by Prometheus.
This endpoint returns:
- the number of connected sockets
- the number of users per room
- common NodeJS and system metrics
WARNING: this endpoint is public right now and should be protected
2020-06-09 11:49:23 +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
69cfac290d
Improving logs (adding date)
2020-06-09 09:30:12 +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
d630106ff0
Merge pull request #155 from thecodingmachine/fixing_long_disconnect
...
Fixing disconnection taking ~15 seconds
2020-06-06 22:47:24 +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
c73fc30802
Adding a Yarn command to profile
2020-06-03 09:18:49 +02:00
David Négrier
66ec11176b
Tracking nb users connected and server load
...
When a user connects or disconnects on the server, we log this (along the current server load).
This is only temporary, in order to assess the number of users a server can safely handle before crashing.
2020-05-28 22:00:56 +02:00
NIP
5066e5ad4c
Fix issue on start point
2020-05-28 12:19:46 +02:00
NIP
c90994574a
Add a coders exit to https://npeguin.github.io/coders-map/map.json
2020-05-28 11:56:47 +02:00
David Négrier
cd586a9e0c
Renaming /maps to /start-map
...
Closes #90
2020-05-24 22:53:10 +02:00
David Négrier
2448fef53a
Adding a notion of instances per mapAdding a notion of instances to room
...
The URL signature becomes:
https://workadventu.re/_/[instance]/[path_to_map.json]
This allows us to create many instances of the same map (and therefore to create several different worlds for different people)
An exit on a map can target another "instance" by passing the "exitInstance" property.
2020-05-23 17:45:49 +02:00
Gregoire Parant
57e8c0261c
Fix test socket
2020-05-23 16:32:14 +02:00
Gregoire Parant
0c9cbca765
Use userId
generated by back end in all message
2020-05-23 15:04:25 +02:00
Gregoire Parant
ab32021fc0
Fix mediam stream manage and server back down
2020-05-23 14:00:36 +02:00
David Négrier
ab798b1c09
Changing the "Point" notion to add a notion of "moving" in addition to the notion of direction.
...
Also, refactoring JOIN_ROOM event to add complete position.
2020-05-22 23:04:45 +02:00
David Négrier
fb8d7b5d59
Removing dead code
2020-05-19 19:53:26 +02:00
David Négrier
125a4d11af
Refactored and optimized messages
...
Now, when a user moves, only his/her position is sent back to the other users. The position of all users is not sent each time.
The messages sent to the browser are now:
- the list of all users as a return to the join_room event (you can send responses to events in socket.io)
- a "join_room" event sent when a new user joins the room
- a "user_moved" event when a user moved
- a "user_left" event when a user left the room
The GameScene tracks all these events and reacts accordingly.
Also, I made a number of refactoring in the classes and removed the GameSceneInterface that was useless (it was implemented by the LogincScene for no reason at all)
2020-05-19 19:11:12 +02:00
David Négrier
e934015d87
Refactoring searchClientById
...
searchClientById was scanning through all open sockets to find the right one (which is inefficient if we have many).
Instead, I created a new Map that directly maps ids to sockets.
Furthermore, this solves a long-standing issue (when a socket is disconnected, we cannot find it anymore in the sockets list but it is still available in the disconnect callback from the map)
As a result, we should not have any remaining circles any more.
2020-05-18 18:33:04 +02:00
David Négrier
2628373b56
Stricter compiler
2020-05-16 16:11:58 +02:00
David Négrier
1bbd0866cb
Code cleaning
2020-05-16 16:07:57 +02:00
David Négrier
57adc6b21c
Cleaning up tests
2020-05-16 15:58:20 +02:00
David Négrier
87707bc814
Removing broken import
2020-05-16 15:51:00 +02:00
David Négrier
b20357c1ee
Removing the Message class and merging it with MessageUserPosition (since it is only ever used it in MessageUserPosition)
...
Taking advantage of the TypeScript Constructor Assignment too to reduce the amount of code!
2020-05-16 15:44:45 +02:00
David Négrier
3b6ace03fa
Getting rid of roomId in Message class (this is not needed since all messages sent are for the room we are currently in)
2020-05-16 00:19:27 +02:00
David Négrier
4d1c3517ec
When sharing user position, only position is sent now!
2020-05-15 23:47:00 +02:00
David Négrier
cdfa9acf01
JoinRoom now ONLY sends the roomId.
2020-05-15 23:24:04 +02:00
David Négrier
7e00d61f94
Fixing test
2020-05-15 23:17:58 +02:00
David Négrier
b80e3e07d8
Sending player details (name + character selected) on connection
2020-05-15 22:49:50 +02:00
David Négrier
fff0e13a2e
More code removal
2020-05-15 22:09:21 +02:00
David Négrier
4e745f20f7
More code removal
2020-05-15 22:08:53 +02:00
David Négrier
5a3668a12e
Refactoring messages
...
Socket.io can stringify JSON messages itself, so there is no need to pass a string to "emit". You can pass a serializable object!
This commit removes all the useless toJson() methods, JSON.serialize and JSON.parse!
Woot!
2020-05-15 22:04:49 +02:00
David Négrier
4de552437d
Completely getting rid of "userid"
...
Previously, userid was generated by the "/login" route and passed along.
This commit completely removes the uuid "userid" (and disables the LoginController too and any Jwt check).
"userid" is replaced by the "socket id" of the connection.
So a user is now identified using a socket id, which is unique for a given connection.
2020-05-14 23:20:43 +02:00
David Négrier
76b43245c5
Merge pull request #113 from thecodingmachine/display_circle_on_startup
...
Displaying circle on join
2020-05-14 22:02:41 +02:00
gparant
b467adece9
Minor update floor0 and floor1
2020-05-14 21:00:52 +02:00
gparant
787e1c463c
Media webrtcA
...
- Update peerConnexion manage
- Add muted microphone logo
- Add icon user
- Sound when user enter in room webrtc
2020-05-14 20:39:30 +02:00
David Négrier
4cca1c1e58
Displaying circle on join
...
So far, someone joining a map would not see the circles of groups already formed until someone moves in the group (because the "circle_moved_or_updated" event was not fired when someone arrives)
This commit fixes this behaviour. Someone entering a room will receive an event for each and every group currently formed.
2020-05-13 23:11:10 +02:00
gparant
517d3981d1
Minor changes map floor 0
2020-05-13 22:36:34 +02:00
David Négrier
2e34b76a77
Merge pull request #111 from thecodingmachine/new-floor0
...
New map floor0
2020-05-13 22:28:17 +02:00
David Négrier
11972555ee
More detailed error log to debug disconnect issue
2020-05-13 22:11:05 +02:00
gparant
b4e720b00a
New map floor0
2020-05-13 22:09:02 +02:00
gparant
ec297e3912
Auto-reconnect
2020-05-13 20:22:42 +02:00
David Négrier
23a12ea652
Merge pull request #99 from thecodingmachine/map_history
...
Adding support for history API
2020-05-13 11:03:49 +02:00
David Négrier
59ee78275e
Removing limitation to allow up to 4 players in a group
2020-05-13 09:39:48 +02:00
David Négrier
faadacddb6
Redirecting to the correct map after login screen based on URL provided
2020-05-13 00:06:58 +02:00
David Négrier
256fa51e24
Catching errors in socket callbacks
...
Catching errors in socket callbacks to avoid having the server crashing when an error occurs.
2020-05-12 11:49:55 +02:00
gparant
b50f28176e
Minor update layer position in map floor0 and floor1
2020-05-12 02:01:18 +02:00
David Négrier
872fa8c750
Fixing exit points
2020-05-12 00:38:24 +02:00
David Négrier
cf49f7de00
Merge branch 'master' of github.com:thecodingmachine/workadventure into map-v1
...
# Conflicts:
# back/src/Assets/Maps/Floor0/floor0.json
2020-05-12 00:24:05 +02:00
NIP
98e73582c8
Add KEN office to the map
2020-05-11 23:42:10 +02:00
David Négrier
0daddb3669
Merge pull request #93 from thecodingmachine/fix-recette-grp
...
Fix recette GRP
2020-05-11 22:59:22 +02:00
gparant
7ccd84d941
Fix depth error in the first floor
2020-05-11 21:16:14 +02:00
gparant
bd2ffde4c4
Fix CI lint
2020-05-11 20:55:17 +02:00
gparant
c41e88370d
Fix position layer in map lyon
2020-05-11 20:53:23 +02:00
David Négrier
98628957a4
Refactoring "exit" to allow multiple maps
...
Adding several layers named "exit" causes issues with Phaser 3.
This PR makes any possible layer being an exit layer (it only depends on the exitUrl property)
Also, fixing start position (it takes into account the layer width now)
2020-05-11 18:49:20 +02:00
William
e9d3a7d169
use start and exit layers on map
2020-05-11 14:00:15 +02:00
gparant
099961b818
Delete params not used
2020-05-11 13:19:48 +02:00
gparant
e35c188854
Fix update world back end and deleting group in front end
2020-05-11 13:17:02 +02:00
gparant
45370e6391
Fix exit tile map of floot1
2020-05-11 00:32:37 +02:00
gparant
f4af824cf9
Fix error mapping refresh in back & the end of this feature development
2020-05-10 23:49:08 +02:00
gparant
8b9c36e3be
Refactor leave and join room
2020-05-10 19:54:41 +02:00
gparant
8a91190d8c
Change to update world by scene and room id
2020-05-10 19:45:17 +02:00
gparant
58b65030bd
Fix feedback @moufmouf strategy of maps managing by back.
2020-05-10 18:34:55 +02:00
gparant
69777ad1cb
Remove middleware to secure access API.
2020-05-10 17:31:27 +02:00
grégoire parant
bdea7e49d1
Update back/src/Controller/MapController.ts
...
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>
2020-05-10 14:48:58 +02:00
grégoire parant
929bb37728
Update back/src/Controller/MapController.ts
...
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>
2020-05-10 14:48:34 +02:00
gparant
5f11b065e1
Permit to dissociate data by room
...
- Update share room id.
- Join room when a scene is loaded.
- Add a room in constant variable.
2020-05-10 13:58:32 +02:00
gparant
27c6034661
Manage multi scene
...
- Create position and check if user is in position to switch in the next scene.
- When scene is load, we load all scene in the layer of name "exit".
- Layer "exit" of map.json have a parametter "exitSceneKey" to identify next scene.
- Add layer "start", the player could start in the scene on the object present in the layer of name "start".
2020-05-09 21:28:50 +02:00
gparant
fb8d9bf9a8
Multi Scene in back end
...
- Change maps url to get maps
- Change GameScene to create scene with file since back end
- Change LoginScene to upload scene and start game
2020-05-09 19:41:21 +02:00
gparant
7f989cfd23
Add maps in back
...
- Add all map json in back
- Create middleware to check authentification user
- Create controllers to get map
- Create access to get all files in folder Assets/Maps
2020-05-09 17:50:47 +02:00
gparant
6dc309db34
Fix manage webrtc room id
2020-05-08 21:17:52 +02:00
David Négrier
c59d693f6e
Merge pull request #83 from thecodingmachine/cleanup_rename_frame
...
Cleanup: renaming "frame" to "character"
2020-05-08 16:21:16 +02:00
David Négrier
e4824fe34d
Merge pull request #81 from thecodingmachine/display_groups
...
Adding the display of a circle around the group
2020-05-08 16:20:56 +02:00
David Négrier
8e9c1cac1e
Renaming frame in tests
2020-05-08 15:20:49 +02:00
David Négrier
492196b333
Cleanup: renaming "frame" to "character"
...
The "frame" variable actually contains a string pointing to the character selected.
It has nothing to do with a frame which is usually a particular image in an animation.
I'm renaming the variable accross the application to avoid confusion.
2020-05-08 15:18:22 +02:00
gparant
802d710006
Fix lint tsc
2020-05-08 11:58:09 +02:00
gparant
41f5b5a1f6
Fix shares information to enter into Webrtc room.
...
- Refactor share position in world class.
- Update selects a client to send information about connecting WebRtc room.
2020-05-08 11:54:47 +02:00
gparant
16cf33755c
Fix webrtc back
...
- Add refuse to join if webrtc room have 4 players.
2020-05-08 11:16:49 +02:00
David Négrier
02e6b50b16
Adding the display of a circle around the group
...
This PR adds the display of a circle around groups. This is useful to view where you need to go to speak to someone but also to debug.
Note: implementation is suboptimal, relying on a "graphics" object that is known to be slow. In the future, we need to use a circle as a sprite instead.
2020-05-08 00:35:36 +02:00
gparant
6a4aca723f
Fix CI
2020-05-06 02:17:07 +02:00
gparant
5a6415607d
Send event and play animation with user frame
2020-05-06 01:50:01 +02:00
gparant
b51ce51847
Fix unit test
2020-05-04 08:44:07 +02:00
gparant
03bda7ddd5
Fix CI
2020-05-04 01:54:49 +02:00
gparant
b65e37c468
Name of map users
...
- Add name on user
- Delete NonPlayer class not used
2020-05-03 22:24:14 +02:00
David Négrier
b260dc32b5
Merge from master
2020-05-03 18:04:01 +02:00
David Négrier
d9fd2f7d5a
Merge branch 'master' of github.com:thecodingmachine/workadventure into event_group
2020-05-03 17:53:05 +02:00
David Négrier
9c32c930a0
Merge
2020-05-03 17:47:54 +02:00
David Négrier
bf723b2e30
Reducing connection distance and group radius
2020-05-03 17:46:26 +02:00
David Négrier
3b27f8b000
Making the group radius distinct from the minimum distance to connect 2 players
...
Also, changed default settings from 160px for Group Radius to 120px
(minimum distance to connect 2 players remains 160px)
2020-05-03 16:57:17 +02:00
gparant
c48073b908
Fix update callback
2020-05-03 16:30:22 +02:00
gparant
372f938bbb
Connect and Disconnect event.
2020-05-03 16:28:18 +02:00
David Négrier
dcc9725abd
Improving test
2020-05-03 16:22:42 +02:00
gparant
8357f9b8c2
Merge branch 'event_group' into webrtc
...
# Conflicts:
# back/src/Model/Group.ts
# back/src/Model/World.ts
2020-05-03 16:18:05 +02:00
David Négrier
58565a7f45
Refactoring events to connect/disconnect a user to a group
2020-05-03 16:08:04 +02:00
gparant
bae03fb1cf
Fix CI
2020-05-02 23:48:33 +02:00
gparant
fdb40ec3e2
Fix webrtc multi
2020-05-02 20:46:02 +02:00
gparant
aff77fe074
Merge remote-tracking branch 'github.com/master' into webrtc
...
# Conflicts:
# back/src/Model/Group.ts
# back/src/Model/World.ts
2020-05-02 00:36:04 +02:00
gparant
c7f8f92e85
Fix webrtc
2020-05-02 00:31:44 +02:00
David Négrier
d72741ce0c
Fixing linting
2020-05-01 23:48:30 +02:00
gparant
e06b20fe96
Update video style and start peer connexion
2020-05-01 21:15:00 +02:00
David Négrier
c778afcbca
Adding support for leaving the group if the socket is closed
2020-04-29 23:18:42 +02:00
David Négrier
bf0fa516d4
First working version with disconnection
2020-04-29 23:12:55 +02:00
David Négrier
2a8e3ea323
Switching connection to a barycenter approach
2020-04-29 22:41:48 +02:00
David Négrier
5ffc5a420e
Merge branch 'feature/back-players-proximity' into barycenter_based_groups
2020-04-29 22:06:37 +02:00
gparant
2bfa57b0ba
Merge world and webrtc conexion
2020-04-29 01:40:32 +02:00
gparant
3151113db3
Merge branch 'master' into webrtc
...
# Conflicts:
# back/src/Model/Websocket/MessageUserPosition.ts
2020-04-29 00:05:16 +02:00
David Négrier
abeac558fd
Adding TODO comment
2020-04-28 23:23:50 +02:00
David Négrier
7da8a6138f
Adding a (failing test) for disconnecting users
2020-04-28 23:01:56 +02:00
David Négrier
9d2f96b348
Manually fixing a weird lint bug in eslint
2020-04-28 22:40:54 +02:00
David Négrier
7dc3d9d836
Merge
2020-04-28 22:31:54 +02:00
gparant
881bb04eb0
Implement Distance Merge Request
2020-04-27 00:44:25 +02:00
gparant
c907048c12
Merge branch 'feature/back-players-proximity' into webrtc
2020-04-26 23:34:35 +02:00
gparant
9730df2295
Merge branch 'master' into feature/back-players-proximity
...
# Conflicts:
# back/src/Model/Websocket/MessageUserPosition.ts
2020-04-26 23:31:40 +02:00
gparant
d396ad2f41
Fix CI CD
2020-04-26 22:35:16 +02:00
gparant
d7d7be9ed0
Web visio, add and remove video element
2020-04-26 19:12:01 +02:00
gparant
89db8558f6
Add multi SimplePear connection
2020-04-25 17:14:05 +02:00
gparant
c28108f6c9
Use WebRtc with SimplePeer
2020-04-25 16:05:33 +02:00
gparant
a5b5072de1
Fix webrtc
2020-04-20 01:10:47 +02:00
gparant
5b62ac39fb
Create webrtc connexion between two player
2020-04-19 19:32:38 +02:00
David Négrier
d826668273
Merge pull request #35 from thecodingmachine/cd
...
Installing a continuous deployement environement
2020-04-13 14:53:09 +02:00
David Négrier
62dd34b591
Triggerring CI rerun
2020-04-12 15:50:14 +02:00
David Négrier
d979636a19
Fixing Dockerfiles
2020-04-11 15:11:22 +02:00
gparant
d257b2b944
Multi players on the map
...
- Fix share user position
- Fix initialise map
- Create function to add user on the map with back end data
2020-04-10 12:54:05 +02:00
David MAECHLER
4bc23ede90
unit test on connect is working, lets start the worst ....
2020-04-09 23:26:19 +02:00
David Négrier
bc7b5fc6c9
Setting up continuous deployment
2020-04-09 11:00:30 +02:00
David MAECHLER
e3b0f99f04
blocked on some logic...WIP commit
2020-04-08 20:40:44 +02:00
gparant
77780bd27b
Change comment with new message strategy
2020-04-07 21:03:33 +02:00
gparant
67c3eaa7f4
Fix Message send to add direction
2020-04-07 21:02:23 +02:00
David MAECHLER
fbfc208129
BIG WIP of refactoring my work in TS
2020-04-07 10:08:04 +02:00
David MAECHLER
af5d2a5a97
Merge branch 'master' of https://github.com/thecodingmachine/workadventure into feature/back-players-proximity
2020-04-06 23:02:01 +02:00
David MAECHLER
60c0188e9e
Merge branch 'master' of https://github.com/thecodingmachine/workadventure into feature/back-players-proximity
2020-04-06 17:35:58 +02:00
kharhamel
ded19549c7
added jasmine in the back
2020-04-06 15:48:19 +02:00
David MAECHLER
3bcb12b3ef
add stub method for recheck on group members proximity
2020-04-06 02:00:21 +02:00
David MAECHLER
886477cddf
fix stupid error in for loop
2020-04-06 01:45:51 +02:00
David MAECHLER
21d7fb733a
Fix logic in group creation since i only checked the distance between the two first users and not rechecked the distance between a new memember with the ones already present in the group. Also sort the array of distances to group the ones closer first.
2020-04-06 01:27:20 +02:00
David MAECHLER
bb2315e7ac
Merge branch 'master' of https://github.com/thecodingmachine/workadventure into feature/back-players-proximity
2020-04-06 00:47:20 +02:00
David MAECHLER
88f231bd1f
fix conditions logic and make the script work. Needs to implement it in node/TS now.
2020-04-06 00:39:36 +02:00
gparant
7e08e7f133
Front : create class to connect, send and receive message
...
- Create environment class
- Create Connexion class to connect and save data
- Refactor back api
2020-04-05 20:57:14 +02:00
gparant
b4f77ba51a
Refactor to create interface rooms.
...
The ExtRooms permit to refresh position of all users in the map and create data to share.
2020-04-05 15:51:47 +02:00
gparant
72730a0abe
Refactor & Typo
2020-04-05 14:31:49 +02:00
gparant
ac9ccf6c67
Fix typo
2020-04-04 23:29:36 +02:00
gparant
5bfedb04fd
Merge branch 'master' into Share-players-position-using-Socket.IO
...
# Conflicts:
# back/src/Controller/IoSocketController.ts
2020-04-04 22:46:42 +02:00
gparant
1100edecb7
Add readme of features and communication in back
2020-04-04 22:43:07 +02:00
David Négrier
d064aca525
Fixing typo in comment
2020-04-04 22:35:20 +02:00
David MAECHLER
98be16708b
fix a little error in logic of createGroups() method
2020-04-04 21:06:34 +02:00
David MAECHLER
0434e141e7
WIP : created a position.js file with all util methods, now needs to implement it in typescript
2020-04-04 21:00:59 +02:00
gparant
fbcb48f9ad
Share players position using Socket.IO
...
- I stocked information user (id, room and position) in socket client.
- I created function to send all information every few 10 milliseconds.
Note : when the front will be available, we must check the performance of back server.
2020-04-04 19:25:08 +02:00
gparant
f04d1342b5
Refactor error message
2020-04-04 17:56:43 +02:00
gparant
53e1600e67
Add authenticate
...
- Create new controller authenticate with login root..
- Update and manage error message socket io.
- Create enum for environment variables
2020-04-04 17:22:02 +02:00
gparant
e8da727cae
Refactor and fix error hydration message socket io
...
- Position message send will be on format :
message :
userId : user identification
roomId: room identification
position: position of user in map
x: user x position on map
y: user y position on map
- Create Point object and interface to have position x and y of user in map.
2020-04-04 16:25:03 +02:00
gparant
ba47d8b1d4
Setup web-socket connection
...
- Add authentification socket.io with jwt token
2020-04-04 14:05:18 +02:00
gparant
4e1115725b
Add io socket message to share user position.
...
- Add message 'user-position' to share position in a room.
- Change JoinRoomMessage to MessageUserPosition to have all data to share position and user information
- Fix error alias to build
2020-04-04 12:42:02 +02:00
gparant
63dc515c5b
Add Vagarnt in project RADME and fix feeback @moufmouf
2020-04-04 11:36:18 +02:00
gparant
ba335aa33d
Create backend
...
- NodeJs
- Express
- Socket.io
- Eslint
- TypeScript
2020-04-04 04:08:12 +02:00