05646718a9
This commit increases idle timeout for websocket connection Issue: after 5 minutes of inactive tab (hidden tab) in Chrome, WorkAdventure was disconnected. I believe Google was going in "intensive throttling" mode (see https://developer.chrome.com/blog/timer-throttling-in-chrome-88/#intensive-throttling) This means setTimeouts are run only once per minute. And I believe the "keep alive" must be implemented with a "setTimeout" (one way or another even if I can't find a trace of this in the code). This would mean that the browser would send keep alive requests only once per minute. But the pusher is configured to shut the connection after 30 seconds of idle activity. Therefore, the pusher disconnects inactive Chrome tabs. By raising the Pusher idle timer to 2 minutes, we give a chance to Chrome to send a ping to the server in time (since Chrome won't send more than 1 ping per minute). |
||
---|---|---|
.github/workflows | ||
.husky | ||
back | ||
benchmark | ||
contrib/docker | ||
docs | ||
front | ||
maps | ||
messages | ||
pusher | ||
uploader | ||
.dockerignore | ||
.env.template | ||
.gitignore | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
deeployer.libsonnet | ||
docker-compose.single-domain.yaml | ||
docker-compose.yaml | ||
package-lock.json | ||
package.json | ||
README-INTRO.jpg | ||
README.md | ||
SECURITY.md | ||
Vagrantfile.template | ||
yarn.lock |
Demo here : https://workadventu.re/.
Work Adventure
Work Adventure is a web-based collaborative workspace for small to medium teams (2-100 people) presented in the form of a 16-bit video game.
In Work Adventure, you can move around your office and talk to your colleagues (using a video-chat feature that is triggered when you move next to a colleague).
Setting up a development environment
Install Docker.
Run:
docker-compose up -d
The environment will start.
You should now be able to browse to http://play.workadventure.localhost/ and see the application. You can view the dashboard at http://workadventure.localhost:8080/
Note: on some OSes, you will need to add this line to your /etc/hosts
file:
/etc/hosts
127.0.0.1 workadventure.localhost
Note: If on the first run you get a page with "network error". Try to docker-compose stop
, then docker-compose start
.
Note 2: If you are still getting "network error". Make sure you are authorizing the self-signed certificate by entering https://pusher.workadventure.testing and accepting them.
MacOS developers, your environment with Vagrant
If you are using MacOS, you can increase Docker performance using Vagrant. If you want more explanations, you can read this medium article.
Prerequisites
- VirtualBox* 5.x Latest version https://www.virtualbox.org/wiki/Downloads
- Vagrant 2.2.7 Latest version https://www.vagrantup.com/downloads.html
First steps
Create a config file Vagrantfile
from Vagrantfile.template
cp Vagrantfile.template Vagrantfile
In Vagrantfile
, update VM_HOST_PATH
with the local project path of your machine.
#VM_HOST_PATH# => your local machine path to the project
(run pwd
and copy the path in this variable)
To start your VM Vagrant, run:
Vagrant up
To connect to your VM, run:
Vagrant ssh
To start project environment, run
docker-compose up
You environment runs in you VM Vagrant. When you want stop your VM, you can run:
Vagrant halt
If you want to destroy, you can run
Vagrant destroy
Available commands
Vagrant up
: start your VM Vagrant.Vagrant reload
: reload your VM Vagrant when you change Vagrantfile.Vagrant ssh
: connect on your VM Vagrant.Vagrant halt
: stop your VM Vagrant.Vagrant destroy
: delete your VM Vagrant.
Setting up a production environment
The way you set up your production environment will highly depend on your servers.
We provide a production ready docker-compose
file that you can use as a good starting point in the contrib/docker directory.