Commit graph

188 commits

Author SHA1 Message Date
kharhamel 9c803a69ff FEATURE: users can now login via an openID client 2021-07-30 15:43:46 +02:00
GRL bd96a32d5b Merge branch 'develop' of github.com:thecodingmachine/workadventure into GlobalMessageToWorld 2021-07-30 09:38:28 +02:00
kharhamel 41ac51f291 FEATURE: improved the room capacity warning visuals 2021-07-29 18:27:53 +02:00
grégoire parant 2a1af2a131
PWA service workers (#1319)
* PWA services worker

- [x] Register service worker of PWA to install WorkAdventure application on desktop and mobile
- [x] Create webpage specifique for PWA
- [ ] Add register service to save and redirect on a card
- [ ] Add possibilities to install PWA for one World (with register token if existing)

* Finish PWA strategy to load last map visited

* Fix feedback @Kharhamel

* Fix feedback @Kharhamel
2021-07-29 16:42:31 +02:00
GRL 68ff1b9e17 Merge branch 'develop' of github.com:thecodingmachine/workadventure into GlobalMessageToWorld 2021-07-22 16:26:01 +02:00
GRL 9e16bfc366 playGlobalMessage are receive as adminRoomMessage
Suppression of GlobalMessageManager and TypeMessage
Migrating message to svelte
2021-07-22 16:14:27 +02:00
David Négrier f435cecfdc Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-21 15:37:53 +02:00
Lurkars 9d518eded8 Merge branch 'develop' of github.com:thecodingmachine/workadventure into twemojiEmoteMenu 2021-07-21 11:56:36 +02:00
David Négrier 2d55f982d3 Removing the 'search' parameters from the room URL sent to pusher 2021-07-20 18:29:41 +02:00
Lurkars 83bd19c8dc Merge branch 'develop' of github.com:thecodingmachine/workadventure into twemojiEmoteMenu 2021-07-20 16:27:49 +02:00
GRL 6e65952d75 SendGlobalMessage by sendAminMessage 2021-07-20 15:16:51 +02:00
David Négrier ac3d1240ae Setting a variable to undefined now removes it from server-side storage. 2021-07-19 18:46:33 +02:00
David Négrier dbd5b80636 Adding support for "readableBy" and "writableBy" in back
This means that we are now loading maps from server side.
2021-07-19 10:16:43 +02:00
David Négrier 5c7ea7b258 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-16 11:22:36 +02:00
David Négrier d0d191fc28 Removing useless ternary 2021-07-15 17:12:54 +02:00
David Négrier f217fc8aad Removing dead code 2021-07-15 17:11:48 +02:00
David Négrier c9fa9b9a92 Migrating away from the notion of public/private URL in WorkAdventure Github repository
The notion of public/private repositories (with /_/ and /@/ URLs) is specific to the SAAS version of WorkAdventure.
It would be better to avoid leaking the organization/world/room structure of the private SAAS URLs inside the WorkAdventure Github project.

Rather than sending http://admin_host/api/map?organizationSlug=...&worldSlug=...&roomSlug=...., we are now sending /api/map&playUri=...
where playUri is the full URL of the current game.
This allows the backend to act as a complete router.
The front (and the pusher) will be able to completely ignore the specifics of URL building (with /@/ and /_/ URLs, etc...)
Those details will live only in the admin server, which is way cleaner (and way more powerful).
2021-07-15 17:07:47 +02:00
David Négrier b1cb12861f Migrating variables functions to the "state" namespace. 2021-07-07 22:14:59 +02:00
David Négrier e65e8b2097 First version with variables that actually work 2021-07-07 17:17:28 +02:00
David Négrier 5116b82e77 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-07 11:55:00 +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 19bd1045e1 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-06 17:24:16 +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
David Négrier cb78ff333b Adding client side check of setVariable with writableBy property 2021-07-06 10:58:12 +02:00
Lurkars c264364752 Twemoji Emote Menu 2021-06-29 08:37:01 +02:00
jonny b0eb241fc3 oO something kept movin the comment to the next line 2021-06-25 18:45:15 +02:00
jonny 7f61e9addd Merge remote-tracking branch 'remotes/upstream/develop' into tiles-start-positions 2021-06-25 18:14:40 +02:00
jonny 54d392be82 fixed not returnin null if parsed from url 2021-06-23 15:06:38 +02:00
jonny 64847cd465 adjusted null if no hash 2021-06-23 12:42:24 +02:00
GRL ca3f5c599a Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-06-22 14:00:19 +02:00
kharhamel 42c0d1002f FIX: no more whitespaces in player names 2021-06-21 17:58:04 +02:00
kharhamel dd45996f9c FIX: improved the visit card, cleanup the code 2021-06-08 16:39:22 +02:00
kharhamel c5f3cfe87c FEATURE: clicking on another player show a contact card when possible 2021-06-03 17:58:21 +02:00
grégoire parant 2b13b764b4
Public texture (#1093)
* Public texture

 - Front => Get texture when user connected on public method
 - Front => Anonymous login will be make every connexion to get map details
 - Pusher => `/anonymLogin` permit to get map details and public texture load in customize scene

* Improve texture local user

- Permit to keep previous texture get with 'register' link

* Texture public loading

 - Texture will be load with Room class
 - Fix issue on lazzy loading atttempt

* Remove async await useless
2021-06-03 13:07:52 +02:00
David Négrier 13d3227323 Migrating LoginScene to Svelte 2021-05-31 17:03:29 +02:00
kharhamel 12da6ddd6c FEATURE: improved the display of player names, with the font-family 'Press start 2P' and gray outlines 2021-05-28 15:33:10 +02:00
David Négrier 5d8d729bd7 Uncommenting action 2021-05-27 18:25:27 +02:00
GRL 17261dfab6 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-05-26 10:58:25 +02:00
GRL a5cb93541a correction from code review 2021-05-25 17:21:02 +02:00
kharhamel 595c5ca64d now use custom emotes with tweens instead of transistions 2021-05-25 16:37:24 +02:00
GRL 2f9cc393a7 Implementation of getTag of the current user
documentation of getTag
Adding map for test of getTag
2021-05-20 10:57:36 +02:00
kharhamel a1d52b4265 FEATURE: added the possibility toplay emotes 2021-05-19 15:17:03 +02:00
GRL 201fcf6afa Merge branch 'gamestate-api-read' of github.com:jonnytest1/workadventure into metadataScriptingApi 2021-05-18 15:18:35 +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
jonny 8cef4f6e90 Merge remote-tracking branch 'remotes/workadventure-main/develop' into gamestate-api-read
# Conflicts:
#	front/src/Api/IframeListener.ts
2021-05-10 21:48:11 +02:00
TabascoEye 2b2c60cbe3
allow numbers in nickname again
closes #972
2021-04-30 10:51:23 +02:00
grégoire parant 925545d74f
Add error message (#970)
- Error link not found
 - Error user was banned
 - Error access dinied on the world
2021-04-29 23:47:30 +02:00
Gregoire Parant 5e8951fdaa Merge branch 'master' into develop 2021-04-19 21:19:35 +02:00
Gregoire Parant e7b5bb261d HotFix performance
- Change forceSetTimeOut to false and permit to freeze the scene.
 - Fix style sending audio message
 - Fix banned message from admin console
2021-04-19 20:19:40 +02:00
Kharhamel 4bbfd4f12f
Merge pull request #893 from workadventure-xce/fix/first_login
Fix first login with empty local storage
2021-04-13 15:15:32 +02:00
PizZaKatZe 633bdfcaff Always enable virtual joystick
Keeps 'toggle fullscreen' as a separate game setting.
2021-04-13 02:00:06 +02:00
PizZaKatZe c3230bc2b3 Integrate virtual joystick 2021-04-13 02:00:03 +02:00
PizZaKatZe 5462af0dc7 Fix first login with empty local storage
During first login on a new domain the local storage is empty. This led
to a TypeError and hence blank black screen.
2021-04-13 01:58:32 +02:00
Kharhamel 8cdf572685
Merge pull request #870 from joberthel/feature/player-companion
Added companion (pet) to player
2021-04-12 18:11:07 +02:00
kharhamel 8e467f3e10 FIX: improved the validation from localstorage for username and characterLayers 2021-04-12 14:48:00 +02:00
Johannes Berthel e5a196a42b implemented feedback 2021-04-06 18:54:45 +02:00
Johannes Berthel 4aa082d83b Merge branch 'develop' into feature/player-companion 2021-04-02 23:40:30 +02:00
Johannes Berthel 52303c0bd6 added select companion scene 2021-04-02 23:00:51 +02:00
Johannes Berthel c07079051a transmit companion to remote players 2021-04-02 21:21:11 +02:00
kharhamel 88cc15cd02 FEATURE: editing a room in the admin trigger a refresh system 2021-04-02 15:22:02 +02:00
David Négrier adf2e60d54 Fixing issue with double slash in websocket URL 2021-03-31 17:50:27 +02:00
David Négrier e166c69b58 Fixing reading of the relative URL in RommConnection 2021-03-31 16:38:51 +02:00
David Négrier 3ef1f0dc7b [Breaking change] UPLOADER_URL and ADMIN_URL are now true URLs (and not only host name) and API_URL is replaced by PUSHER_URL
API_URL is still accepted for BC compatibility of the self-hosted deployments.

This will allow deploying on a single domain, using a reverse proxy that acts on the path.
This however means that the config needs to be changed for all WorkAdventure deployments.
2021-03-31 16:00:14 +02:00
David Négrier cd7a332b4c Improving error throwing and handling in pusher/admin/front 2021-03-31 15:49:01 +02:00
David Négrier 559e15ebb6 Adding an "alone" mode
In "alone" mode (or single-player mode), WorkAdventure does not connect to the server at all.
In order to enter the "alone" mode, you need to add "?alone=true" to the URL.

"alone" mode can be useful for tutorials (First Time User Experience) where you want to explain how WorkAdventure works without being disturbed by other users.
2021-03-30 16:08:49 +02:00
kharhamel 886daebfea improved the unloading process to not create a useless socket 2021-03-26 14:19:37 +01:00
kharhamel 0b352fc5dc FIX: help camera settings popup now only show up once 2021-03-24 15:59:18 +01:00
Kharhamel ec2fa9501c
Merge pull request #813 from thecodingmachine/warningMessage
Warning message
2021-03-24 14:27:13 +01:00
kharhamel 8d6c1a50bf FEATURE: warning message when world is near full capacity 2021-03-23 17:44:47 +01:00
TabascoEye e6accd711d Store muted setting of audio player in local storage
This commit was originally authored by @TabascoEye, then rebased and
improved by @pizkaz:

* refactors local user storage, adding audio player settings
* stores "muted" state of audio player in local store
2021-03-22 20:09:11 +01:00
kharhamel fe8c75610d FIX: player anims correctly stop on the idle frame 2021-03-11 16:21:02 +01:00
Gregoire Parant 2fcb8a76b1 Merge branch 'master' into develop
# Conflicts:
#	front/src/Connexion/RoomConnection.ts
#	front/src/Phaser/Menu/ReportMenu.ts
2021-03-11 02:22:05 +01:00
Gregoire Parant 46cb9333e6 HotFix message in back 2021-03-11 01:25:36 +01:00
kharhamel 8abc34c631 FEATURE: the connexion error an user can get when a world is full is now correctly traited. Also remove a redundant adminApi call 2021-03-09 16:34:19 +01:00
kharhamel ad7e16c33b FEATURE: better implementation of the admin global message 2021-03-04 16:18:06 +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 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
David Négrier bbf9325396 Simplifying code and making START_ROOM_URL compatible with public (_) and private (@) paths 2021-01-21 09:40:11 +01:00
Thomas Basler 14b328c733 Removed hard coded default map
You can apply local maps using the maps vhost as previously.
But it's also possible to specify external maps by prepending http or https.
2021-01-20 22:56:21 +01:00
Gregoire Parant c95419f0e7 Prepar release 1.1.0
Automatically redirect on floor0 of TCM map
2021-01-18 22:52:25 +01:00
David Négrier adca51f6de Replacing FourOFourScene with more generic ErrorScene 2021-01-17 20:42:45 +01:00
kharhamel 472fbb1de0 All player textures are now lazy-loaded 2021-01-08 11:44:41 +01:00
kharhamel 6caa0e5b62 HOTFIX: the map property exitUrl now accept relative links that are deep enough to rewrite the base url 2021-01-05 18:23:17 +01:00
kharhamel 069f2f1cec FEAT: prototype game menu using html elements, better icon for text chat 2020-12-15 16:37:57 +01:00
David Négrier 6f2c319785 Merge branch 'master' of github.com:thecodingmachine/workadventure into scaling
# Conflicts:
#	back/src/Services/SocketManager.ts
#	deeployer.libsonnet
#	docker-compose.yaml
#	front/src/Connexion/RoomConnection.ts
#	front/src/Enum/EnvironmentVariable.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/webpack.config.js
#	pusher/src/Controller/IoSocketController.ts
2020-12-11 13:00:11 +01:00
David Négrier bf797085e6 Extracting FileController into a Uploader container 2020-12-09 21:29:29 +01:00
David Négrier a19edd4dc1 Fixing reconnection to server on back failure 2020-12-03 16:39:44 +01:00
kharhamel 1971d26dc0 FIX: couldn't access to an anonymous private map 2020-12-01 19:34:36 +01:00
David Négrier 4c1e566a6c Adding a Pusher container as a middleware/dispatcher between front and back 2020-11-26 17:53:30 +01:00
kharhamel 8d8b879ed6 FIX: the game now uses the url hash to choose the start layer 2020-11-24 14:43:21 +01:00
kharhamel 09d6d22a5d FIX: rewrote the way scene exits are triggered 2020-11-24 14:43:21 +01:00
Gregoire Parant fd3b8dda2c Fix report button on anonymous connection 2020-11-22 12:40:03 +01:00
kharhamel 9b64a970b5 FIX: remove the ping and pong overrides server side in favor of and idleTimeout and added a manual ping client side 2020-11-10 18:26:46 +01:00
Gregoire Parant 1df4cb3e17 Red circle when have 4 users during webrtc meet 2020-10-21 16:07:42 +02:00
David Négrier 9ec5dc093c Improving benchmark 2020-10-21 14:55:18 +02:00
David Négrier 78a4bf3189 Adding custom character textures 2020-10-20 17:42:36 +02:00
David Négrier a3816cd725
Merge pull request #346 from thecodingmachine/customUserStore
improved the local storage of the the selectcharacterScene
2020-10-20 17:38:54 +02:00
arp dff189b223 local storage of the custom layers 2020-10-20 17:25:08 +02:00
arp f5aa70ddc2 improved the local storage of the the selectcharacterScene 2020-10-20 13:44:57 +02:00