Repository navigation
Fix nanite clouds freezing over capacity, public chamber cloud changes and rule cleanup - #530
Merged
Merged
Conversation
…onsole reorder programs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes three nanite cloud bugs players hit on the live server.
Clouds over capacity no longer freeze
When a cloud's programs added up to more than a host's neural capacity, the host refused the whole update: no new programs, no settings changes and no removals. Nanites looked like they had stopped updating, and programs couldn't be uninstalled.
Now removals and settings changes always apply. New programs are added in cloud order, and any that don't fit the host are skipped (the host still gets "Nanite update refused."). Once there is room, the skipped program syncs on the next update. Load never goes over capacity.
The cloud console's backup header now shows the backup's total load.
Seeing what installed
Public nanite chambers change your cloud again
Changing cloud at a public chamber crashed on a logging call before the cloud ID was set, so it silently did nothing for anyone who already had nanites. It now sets the cloud.
Programs with rules delete cleanly
Rules and their program kept each other alive, so deleting a program that had rules caused a hard delete. Programs now delete their rules, and reprogramming a program no longer leaves its old rules behind.
Tests
New unit tests cover an over-capacity sync still applying removals, partial syncs that skip programs that don't fit, the public chamber cloud change and rule cleanup, plus cloud order deciding what installs and the "Not installed" list. The existing capacity sync test now expects partial syncs.
Not playtested yet.