Commit Graph

116 Commits

Author SHA1 Message Date
CEC f00a2c19f7 Merge branch 'develop' of github.com:thecodingmachine/workadventure into codeAPI 2022-04-12 17:17:48 +02:00
Alexis Faizeau d1e8243c47 Zod EVERYWHERE (#2027)
* Zod EVERYWHERE

* Add no-unused-vars rule to eslint in front

* Add no-unused-vars rule to eslint in pusher

* Add no-unused-vars rule to eslint in back

* Remove unused PlayerTexture guards

* Fix data providing on room connection

Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re>
2022-04-12 14:21:19 +02:00
CEC d972b3a2e6 Fix prettier for the front 2022-04-12 11:22:58 +02:00
CEC 748baa9bbc Refactoring Error Screen 2022-04-12 10:23:36 +02:00
Piotr Hanusiak 02f06a913b Availability indicator (#2044)
* status indicators changing properly

* away status wip

* updating away status on connection

* remove obsolete logs

* fix typecheck

* minor adjustments

* darker outline

* Trying darker outline

* Apply suggestions from code review

* Update pusher/src/Model/Zone.ts

* Making the dot smaller

* Marking onleavezone as deprecated

Co-authored-by: Piotr 'pwh' Hanusiak <p.hanusiak@workadventu.re>
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>
2022-04-07 14:23:53 +02:00
Piotr Hanusiak 7e84ac5454 Global voice-indicators (#2020)
* make use of well known types for PlayerDetailsUpdated message

* show voice-chat indicator of people from other groups too

* cleanup

* check for outline value

* do not send outline color if undefined

* revert removing LocalVolumeStore

* use auto-generated type instead

Co-authored-by: Piotr 'pwh' Hanusiak <p.hanusiak@workadventu.re>
2022-04-04 13:47:23 +02:00
Piotr 'pwh' Hanusiak 82dffff5a7 make use of proto well knows types 2022-03-28 17:08:12 +02:00
Piotr 'pwh' Hanusiak b95d5f1d10 merged develop 2022-03-28 13:16:29 +02:00
Alexis Faizeau 87412c3400 Add more checking on woka details 2022-03-23 10:51:52 +01:00
Alexis Faizeau 9c99d760f7 Close socket connection on not authorized woka 2022-03-18 11:49:41 +01:00
David Négrier 6540f15c5b Refactoring Woka management (#1810)
* Wrap websockets with HyperExpress

* Add endpoints on pusher to resolve wokas

* getting textures urls from pusher

* Adding OpenAPI documentation for the pusher.

The pusher now exposes a "/openapi" endpoint and a "/swagger-ui/" endpoint.

* revert FRONT_URL

* playerTextures metadata is being loaded via Phaser.Loader

* fetch textures every time character or customize scene is open

* Heavy changes: refactoring the pusher to always send the textures (and the front to accept them)

* Sending character layer details to admin

* Cleaning commented code

* Fixing regex

* Fix woka endpoints on pusher

* Change error wording on pusher

* Working on integration of the woka-list with the new admin endpoint.

* Switching from "name" to "id" in texture object + using zod for woka/list validation

* Add position on default woka data

* Remove async on pusher option method

* Fix woka list url

* add options for /register

* Fxiing loading the Woka list

* Actually returning something in logout-callback

* Copying messages to back too

* remove customize button if no body parts are available (#1952)

* remove customize button if no body parts are available

* remove unused position field from PlayerTexturesCollection interface

* removed unused label field

* fix LocalUser test

* little PlayerTextures class refactor

* Fixing linting

* Fixing missing Openapi packages in prod

* Fixing back build

Co-authored-by: Hanusiak Piotr <piotr@ltmp.co>
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>

* Add returns on pusher endpoints

Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re>
Co-authored-by: Hanusiak Piotr <piotr@ltmp.co>
Co-authored-by: Piotr Hanusiak <wacneg@gmail.com>
2022-03-11 17:02:58 +01:00
Hanusiak Piotr 5a8cba24fa much cleaner approach to group lock update 2022-03-10 12:20:53 +01:00
Hanusiak Piotr a0535ed4a8 Updating GroupDescriptors on LockGroupMessage 2022-03-03 12:22:16 +01:00
Hanusiak Piotr ef22d4ba20 listening to lockGroupMessage on front 2022-03-02 10:44:26 +01:00
Hanusiak Piotr d43c8d181a sending info about group lock state. wip 2022-03-01 11:36:45 +01:00
Hanusiak Piotr 724dbc8efa send group userIds to players 2022-02-28 13:47:08 +01:00
Hanusiak Piotr 8d8857011e removed unused imports 2022-02-23 14:40:19 +01:00
David Négrier ab0f5e9837 Stopping sending literal errors
Errors now must be of "Error" type.
Rule added in eslint.
2022-01-06 10:52:06 +01:00
David Négrier 24baf5664c All promises are now handled 2022-01-04 17:06:29 +01:00
David Négrier 6bd9a998f9 Removing unused messages 2022-01-03 16:26:52 +01:00
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 d37165219c Migrating followStates and followRoles from a const object to a type restricted to only the string values allowed.
This allows for more secure code (compilation checks) and simpler code too (we can pass strings instead of const values)
2021-12-24 15:49:25 +01:00
David Négrier 524339a3a0 Adding hightlight to player names when they follow each others 2021-12-23 18:07:51 +01:00
David Négrier 368a115b4c Merge branch 'develop' of github.com:thecodingmachine/workadventure into feat/follow-woka 2021-12-23 16:04:59 +01:00
David Négrier 35463930a0 Sending color outline on connect 2021-12-23 10:22:19 +01:00
David Négrier 482ba9690a Sharing outline color changes in real time 2021-12-22 18:34:36 +01:00
PizZaKatZe a481376633 Clean up remaining debug log messages 2021-12-15 20:11:47 +01:00
PizZaKatZe d3297a448e Add setting that ignores follow invites 2021-12-15 19:47:14 +01:00
PizZaKatZe e3e7fba539 Rename InteractMenu/-Store => FollowMenu/-Store 2021-12-15 18:50:59 +01:00
PizZaKatZe 2bd71790b5 Use user IDs instead of names 2021-12-15 18:42:24 +01:00
PizZaKatZe 7bff782f7f Improve follow abort message; avoid having to change it in backend 2021-12-15 18:42:24 +01:00
PizZaKatZe 0a410d289d Implement follow request / confirmation UI 2021-12-15 18:42:22 +01:00
PizZaKatZe 1fca99c0d1 Send follow me request to all players 2021-12-15 18:41:36 +01:00
David Négrier 8a96ff8ee4 Merge pull request #1614 from ValdoTR/user-room-token
Added the user-room token created from admin when we access a room
2021-12-13 17:50:49 +01:00
David Négrier d7875c2c68 Adding missing handler for error message in front + removing 2 useless classes in ServerToClientMessage 2021-12-06 18:00:17 +01:00
Valdo Romao dd79f7d0f4 Added the user-room token created from admin when we access a room 2021-12-01 15:50:14 +00:00
grégoire parant d2b8d7dc04 Active authentication Oauth (#1377)
* Active authentication Oauth

 - Google authentication
 - GitHub authentication
 - Linkedin authentication

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Finish connexion et get user info connexion

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Fix lint error

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Change the expires token for 30 days

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Update connexion stratgey

 - Set last room when it will be created and not when connexion is openned
 - Add '/login' end point permit to logout and open iframe to log user
 - Add logout feature permit to logout in front

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Implement logout and revoke token with hydra

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Fix pull develop conflict

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Profile url (#1399)

* Create function that permit to get profile URL

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Continue profil user

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Add menu and logout button

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Update last room use

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Profile callback permit to get url profile setting from admin

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Finish profile show

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Delete profileUrl will be not use today

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Correct lint

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Update size of iframe

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Delete console log

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Update feedback ARP

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-09-05 18:17:49 +02:00
Gregoire Parant 14b4229019 Merge branch 'develop' into GlobalMessageToWorld
# Conflicts:
#	CHANGELOG.md
#	front/src/Api/Events/IframeEvent.ts
#	front/src/Components/App.svelte
#	pusher/src/Services/SocketManager.ts
2021-08-02 23:07:39 +02:00
kharhamel 9c803a69ff FEATURE: users can now login via an openID client 2021-07-30 15:43:46 +02:00
kharhamel 41ac51f291 FEATURE: improved the room capacity warning visuals 2021-07-29 18:27:53 +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
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 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