scroll.server/crates
WiseDev 4239680f53 stop the integer square root from spinning forever
newton's method in integers can settle into a two-value cycle rather
than a fixed point, and the loop guard was "the value changed", which
such a cycle satisfies for ever. it ran under the session lock inside a
spawned task, so the worker never reached a yield point and the runtime
could not shut down - which is why ctrl-c printed "shutdown requested"
and then hung.

the guard is now "stopped decreasing", which is the converging form.
checked against the exact integer square root across the small range and
the boundaries, including the 46340 saturation edge and INT_MAX.
2026-08-23 14:07:03 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service keep the path instead of finding it again every tick 2026-08-23 14:03:26 +03:00
gateway switch the battle to type 0 and drive it from the server 2026-08-23 13:51:01 +03:00
logic stop the integer square root from spinning forever 2026-08-23 14:07:03 +03:00
logic-derive move all crates into crates/, glob members 2026-08-23 08:15:45 +03:00
scroll-server supervised mode: run the services as child processes 2026-08-23 09:46:59 +03:00
service-rpc switch the battle to type 0 and drive it from the server 2026-08-23 13:51:01 +03:00
storage fix chest shop prices and gate the free chest 2026-08-23 09:02:49 +03:00
titan compare the server checksum against the client's 2026-08-23 13:44:51 +03:00
titan-derive build and send the battle sector state 2026-08-23 10:24:20 +03:00