https://gitlab.synchro.net/main/sbbs/-/commit/850de49a4c13adc69c000667
Modified Files:
.claude/skills/javascript/SKILL.md
Log Message:
javascript skill: a modified header must be read unexpanded
put_msg_header() refuses a header fetched with field expansion, and the
error it gives -- "Message header has 'expanded fields'" -- describes
the header rather than the call that produced it, so it reads as "this
message cannot be rewritten" instead of "your read was wrong". Since
expansion is the default, the obvious spelling of a read-modify-write
fails and the fix is not in the failing call.
Documents the expand argument on get_msg_header(), notes that the same
applies to headers taken from get_all_msg_headers(), and says to leave expansion on for read-only callers -- it is what resolves the fields
they want. Also points at setting the field at save_msg() time, which
avoids the round trip where the original write is yours.
Sits with the sibling traps the section already carries: remove_msg()
silently returning false when handed a header object, and the lazy-field gotcha. All three are calls that fail for a reason the symptom points
away from.
Co-Authored-By: Claude Opus 5 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net