You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"lone leading surrogate in hex escape" (HTTP 400) could brick a chat session. The ranked
vault-search snippet was sliced at fixed character offsets (body.slice(at-60, at+120)), which
could cut through a surrogate pair (e.g. an emoji in a note), leaving a half-character. That
broken snippet got saved into the session as a tool result, so every later message re-sent it
and the provider rejected the whole request. Two-part fix: the snippet is now surrogate-safe, and
a stripLoneSurrogates pass cleans every outgoing message (system/user/assistant/tool) at the
API boundary — so any corrupted text (truncated emoji, bad paste, a poisoned note) can no longer
400 the request. Valid emoji and characters are preserved.