diff --git a/Dockerfile b/Dockerfile index ef9ca74..c7cc736 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,13 @@ -# Use the official lightweight Node.js 12 image. -# https://hub.docker.com/_/node FROM node:14-slim -# Create and change to the app directory. WORKDIR /usr/src/app -# Copy application dependency manifests to the container image. -# A wildcard is used to ensure both package.json AND package-lock.json are copied. -# Copying this separately prevents re-running npm install on every code change. COPY package*.json ./ -# Install production dependencies. RUN npm install --only=production -# Copy local code to the container image. COPY . ./ -# Run the web service on container startup. -CMD [ "npm", "start" ] +ENV NODE_ENV production + +ENTRYPOINT ["node", "index.js", "--", "loglevel=debug" ] diff --git a/client/src/modules/game_state/states/InProgress.js b/client/src/modules/game_state/states/InProgress.js index 581a32d..9d7d928 100644 --- a/client/src/modules/game_state/states/InProgress.js +++ b/client/src/modules/game_state/states/InProgress.js @@ -52,7 +52,7 @@ export class InProgress { ); setTimeout(() => { if (this.socket.hasListeners(globals.EVENT_IDS.GET_TIME_REMAINING)) { - document.getElementById('game-timer').innerText = 'could not retrieve'; + document.getElementById('game-timer').innerText = 'Timer not found.'; document.getElementById('game-timer').classList.add('timer-error'); } }, 15000); diff --git a/client/src/modules/page_handlers/gameHandler.js b/client/src/modules/page_handlers/gameHandler.js index 1dcf371..87fa9e6 100644 --- a/client/src/modules/page_handlers/gameHandler.js +++ b/client/src/modules/page_handlers/gameHandler.js @@ -20,6 +20,10 @@ export const gameHandler = async (socket, XHRUtility, window, gameDOM) => { stateBucket.environment = response.content; socket.on('connect', function () { + if (stateBucket.timerWorker) { + stateBucket.timerWorker.terminate(); + stateBucket.timerWorker = null; + } SharedStateUtil.syncWithGame( stateBucket, socket,