* Upgrading playwright to 1.21
Also, locking CI to install 1.21 (just like package.json is using).
This way, on the next Playwright release, CI will continue working.
* Running npx install playwright from the tests directory so that playwright can install the correct browsers
* 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>
* base front production image on official nginx
* build multi-platform docker images
* build message types outside docker
* set docker build context to path
* build message types before running e2e tests
* add build for arm/v7
* remove build for arm/v7
* increase yarn network timeout
* set front port to 80
* add git labels to images
https://github.com/docker/build-push-action/blob/master/UPGRADE.md#tags-with-ref-and-git-labels
* add images input
* Adding back commented code in the Dockerfile (the protobuf message building).
This way, when node-grpc supports ARM64, we can uncomment the code again.
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>
Co-authored-by: Lukas Hass @lukashass
The docker-compose build used in E2E tests was running builds sequentially.
This is an attempt to run the builds in parallel to optimize the E2E startup time.
Before this commit, the "Start WorkAdventure" step takes 7m11 on GitHub
Github Actions does not provide big enough VMs for E2E tests.
So we need to spin our own instances on AWS. But we cannot share the credentials with the forks for obvious security reasons.
We therefore need to completely disable E2E tests for forks :(
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.