fix(rust): protocol 13 — a configuration save that settles after its reload (F9, D179) #20
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/protocol-13-config-reload"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The website half of protocol 13's first piece (
PLAN_FIXES.mdF9, D179; spec docs#286 §19.3). Pairs with Rust-Plugins#16 and Rust-Link's PR.Server
rust_config_writesgainswrite_id,settle_by,settled_at,log_tailandrestored, plus an index on(server_id, write_id). All areALTER … IF NOT EXISTSbelow the CREATE. There's a new outcome,reloading.pendingreport is recordedreloadingwith the plugin'swriteId.settle_byis two ceilings plus 20 s (80 s at 30 s), computed on the database's clock. The response is{ changed, pending: true, write: { id, writeId }, report }.config.outcomesettles the row by(server_id, write_id)only while it's stillreloading. A replayed frame moves nothing, and a late one still lands.appliedorrolled-back, plusrestored, the reason and the log tail.GET /admin/rust/config/:serverId/writes/:writeId(admin). A row pastsettle_byreads aslost; that's computed in the SELECT, so the stored value staysreloading.config.outcomeis a staff kind, because it carries the server's log tail. The classification test lists it.PROTOCOL_VERSIONis 13, and the swagger fragment is regenerated (44 paths).Page (
ModConfig.jsx)busyotherwise.losttells the admin to re-read.Checks
Server: 391/391 tests pass;
check:swagger,check:importsandcheck:engagementpass. Client: the build works, 56/56 tests pass, andcheck:externalspasses. Not walked yet. The rig walk is PLAYER_WALK.md configuration steps 2, 2a, 2b and 4.🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY