Files
api/zap
zeekayandHanzo Dev ecb87b5eb5 zap: an error the wire has no word for must not read as success
ErrorUnspecified is the zero value and carries "the call succeeded" — a reply
holding it is read as a good answer and its fields are trusted. The only other
codes name a closed database and a missing key, so every other failure had
nowhere to go and was reported as the zero. A caller then took a zero-valued
block as a real one.

ErrorInternal gives those failures a word. Appending is safe in both
directions: errorFromZAP's default arm turns an unknown code into an error, so
a reader that predates this still sees a failure rather than a success.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-15 22:40:11 -07:00
..