Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 242 #1089

Merged
merged 2 commits into from
Jul 15, 2024
Merged

Update 242 #1089

merged 2 commits into from
Jul 15, 2024

Conversation

SpacialCircumstances
Copy link
Member

Metritutus and others added 2 commits July 15, 2024 21:08
…ion of v17, and updated the relevant @types NPM packages.

* Added @types/connect-mongodb-session dev dependency to server.
* Fixed tooltip typos in Create.vue and GameSettings.vue that incorrectly referred to "banking technology" instead of "specialist" technology for the Specialist Token Reward setting.
* Updated tick() method in GameTickService to call buyScheduledInfrastructure() before the tick is incremented to ensure that the bulk purchase event is shown for the tick it was scheduled on, rather than the tick after.
* Updated all controllers to ensure that next() is always called.
* Added singleRoute() method and updated all controllers to use it.  Prevents requests from falling through to other routes if the last route handler in the request calls next().
* Concurrent request fix:
    - Added Mutex class.
    - Added GameMutexService class.
    - Added GamePlayerMutexService class.
    - Added PlayerMutexMiddleware class.
    - Added MutexLock, GameMutexLock and PlayerMutexLock classes.
    - Updated all request routes relating to player actions to use new mutex functionality in order to restrict simultaneous player operations within a game.
    - Updated handleError middleware to ensure that if a mutex was in use for that request, it will be released.
    - gameTick service now uses mutexes to ensure the same game will process the same tick twice.
* Fixed keyHasNumberValue() method in helpers.js attempting to call .toString() on a potentially null or undefined value.
* Updated some areas to use Typescript typings.
* Fixed scheduled infrastructure purchases happening after the tick had been incremented (meaning that they would show in the event log as having happened on the tick after the one they were scheduled for).
* Added check to _gameLoseCheck() in GameTickService to check for defeated players whose slots are open where they shouldn't be (eg where the player no longer owns any stars and carriers, or no longer owns their capital in capital elimination).
* Updated ResetUsername.vue to update the username in local storage when a user changes their username.  This fixes the issue where, when updating your username, the old one would display in the UI until you had logged out and back in.
@SpacialCircumstances SpacialCircumstances merged commit ef69547 into master Jul 15, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants