X-File-Name is an HTTP header, so raw en-dashes/emoji blow up fetch() before the request leaves the browser. Percent-encode on the client and rawurldecode on the server. Co-authored-by: Cursor <cursoragent@cursor.com>