The desktop parser measured MAX_CONTENT_BYTES against content.trim(),
while the Rust producer bounds the complete serialized output. A valid
sentinel padded with leading/trailing whitespace could exceed the frozen
4096-byte boundary and still parse — signed relay content bypassing the
symmetric total-content limit up to the relay's generic ceiling. Gate the
raw content before trimming so the parser bound matches producer output
byte-for-byte; keep trimming afterward for ordinary small whitespace.
Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>