Skip to content

Conversation

@ymmot239
Copy link
Contributor

Created timeouts and rollbacks for robots.
Hopefully allows robots to fail and retry commands. Robots should only get repeat commands when they timeout.
Groups of commands can fail their component robots take too long to complete.
Will pause and rollback the game and robot positions on timeout.

added pause dialogs and messages to handle the client-side pause notification
Added a notification dialog to give the user information
eg. game has been unpaused, puzzle info, line changes, etc.
added various gates to robot movement based on if the game is paused.
Allowed pausing/unpausing through an api call
added a stop for promises in progress
also added some hotfixes for pause
saved game state as well as robot positions in save files
allowed pause to rollback the robot positions.
Also allowed saveGame to load from a saved positions, so hopefully less errors
Forced clients to be paused even on join or reload.
Added timeouts to command groups.
Will throw an error when a command times out.
Todo: handle the error, implement a retry policy, find which robot command timed out
Added back some functions that were removed during a merge from main.
Also removed some unused functions in executor.
Fixed the bug with executors not running all the commands
Also cleaned up the paused api being sent to the clients.
Added the ability for sequential and parallel groups to timeout and retry.
Will undo the move and pause the game if a timeout makes it up to the game managers.

Todo: add timeouts & retries to individual movement commands
Made the retry code a function and applied it to all commands.
Now includes what command type and which robot caused the error.
Added check to command executions to prevent robots from being sent repeat commands.
Fixed merge conflicts with main.
Did bugfix for parallel command groups and save game on first error.
@ymmot239 ymmot239 linked an issue Oct 14, 2025 that may be closed by this pull request
forgot to do it earlier
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.

Per-move execution timeout with safe cancel/rollback

1 participant