Block a user
The handler drop counter is written atomically but read without synchronisation, and the WHOIS fetcher pointer is set after the server starts serving
sneak/routewatch#139 makes the drop count an atomic.Uint64 read with Load, and sets the WHOIS fetcher before the HTTP server starts. The test the definition of done…
Read the drop counter atomically and set the WHOIS fetcher before serving (closes #115)
The calldata decoder names tokens from the active network's tokens, not the transaction's
Plan: one PR to next, in decodeCalldata() in src/popup/views/approval.js. The tracked tokens it looks a token up in are those of the network whose chain id it is given: state.trackedTokens…
TransactionDetail reads a transaction's details from the active network's Blockscout
fix: TransactionDetail reads a transaction from the Blockscout of the network it was sent on (closes #623)
fix: TransactionDetail reads a transaction from the Blockscout of the network it was sent on (closes #623)
Review: PASS
Model: opus-5-5
HEAD requests answer 405 on every route, and a 405 on the JSON routes says "Internal server error"
Answer HEAD requests and give 405 a plain message (closes #111)
An announcement whose path gives no origin leaves the peer's old route live and cancels a withdrawal in the same batch
Built in sneak/routewatch#138: an announcement whose AS path is empty or ends in AS 0 now deletes the peer's route for the prefix, as a withdrawal does, so it neither…
Handle an announcement without an origin like a replacement (closes #113)