00595c2211b785d1003e6737b93affb72e949a4e
The transcript beside the spoken reply read "на+04.08.2026+ничего+нет." X-Reply-Text was written with url.QueryEscape, which is form encoding and writes a space as "+", and static/app.js reads it with decodeURIComponent, which only knows "%20". Every space in a spoken reply arrived as a plus. Fixed on the Go side rather than by replacing plus with space in the client: the encoding is a property of the header, and a client that has to know which flavour it got is a client that will get it wrong again. Escaping in the client's own dialect also keeps a plus the speaker actually said — "2+2" — from becoming a space. PathEscape writes %0A for a newline too, so a two-line reply stays a legal header value instead of a truncated one. The test round-trips through a stand-in for decodeURIComponent rather than checking the encoder alone, because QueryEscape passes any assertion that only looks at what went in. Cosmetic and log-only. The audio was never affected. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011x5DgnExQ5XZy8TZPs5bot
Merge pull request 'Kuma: a fact per monitor, so she can name the service that is down' (#147) from task/444-kuma-a-fact-per-monitor-so-she-can-name into master
Description
No description provided
Languages
Go
97.1%
HTML
0.9%
Shell
0.6%
CSS
0.5%
Makefile
0.3%
Other
0.6%