Identities for entities did.bot

fix(serve): end a getBlob body that reads slower than a minimum rate #2596

Merged permadeath.com
targeting main
Merged opened by and assigned to permadeath.com
targeting main

A getBlob body now has a whole-body deadline alongside its per-chunk stall timer. It gets blob_send_timeout_secs plus its declared length at [capacity] blob_send_min_bytes_per_sec (default 32 KiB a second, range 4 KiB to 1 MiB a second), then ends short and gives back its read permit and its address's turn. Before, the stall timer restarted on every 64 KiB chunk, so a client taking one chunk every 29 s held its permit for about 39 minutes on a 5 MiB blob. At the default, that blob has 190 s, and holding all 32 reads now costs a reader about 1 MiB a second.

The new test fails on main: a reader taking a chunk every 400 ms, inside a one-second stall timer, gets the whole 2 MiB blob. On this branch its body ends at the deadline and its address can read again, while a reader on another address gets the whole blob at once.

No deploy window is needed: this is an ordinary release with no data layout change, and rolling back is safe.

Closes https://tangled.org/permadeath.com/didbot/issues/243

🤖 Generated with Claude Code

This pull request has no versions submitted yet.