When a log entry contains UTF-8 character, it's not published.
The suspects are our TCL code (write JSON) and JsonMapper (read JSON), but this last library can handle UTF-8 in rNOTIF code.
Bogus log entry
[Ysul] Manual port upgrade to nano 4.2 — "Tax the rich, pay the teachers"
Replacing the UTF-8 character — by the ASCII character - works fine.
Client error stacktrace
18:29:04 <Wearg> [DEBUG] HTTP 500 18:29:04 <Wearg> while executing 18:29:04 <Wearg> "::rest::_call {} $headers $url $query $body $error_body" 18:29:04 <Wearg> (procedure "rest::simple" line 44) 18:29:04 <Wearg> invoked from within 18:29:04 <Wearg> "rest::simple https://api.nasqueron.org/servers-log/ {} { 18:29:04 <Wearg> method PUT 18:29:04 <Wearg> content-type application/json 18:29:04 <Wearg> format json 18:29:04 <Wearg> } $request" 18:29:04 <Wearg> (procedure "add_to_servers_log" line 10) 18:29:04 <Wearg> invoked from within 18:29:04 <Wearg> "add_to_servers_log $emitter "$network $source" $component $entry" 18:29:04 <Wearg> (procedure "handle_send_to_servers_log" line 6) 18:29:04 <Wearg> invoked from within 18:29:04 <Wearg> "handle_send_to_servers_log [resolve_nick $nick] $chan $text $callback" 18:29:04 <Wearg> (procedure "pubm:log" line 14) 18:29:04 <Wearg> invoked from within 18:29:04 <Wearg> "pubm:log $_pubm1 $_pubm2 $_pubm3 $_pubm4 $_pubm5"
Server error stacktrace
PHP Fatal error: Uncaught InvalidArgumentException: JsonMapper::map() requires first argument to be an object, NULL given. in /srv/api/servers-log/vendor/netresearch/jsonmapper/src/JsonMapper.php:126 Stack trace: #0 /srv/api/servers-log/src/LogEntry.php(43): JsonMapper->map(NULL, Object(Nasqueron\Api\ServersLog\LogEntry)) #1 /srv/api/servers-log/src/Service.php(42): Nasqueron\Api\ServersLog\LogEntry::fromJSON(NULL) #2 /srv/api/servers-log/src/Service.php(33): Nasqueron\Api\ServersLog\Service->put(NULL) #3 /srv/api/servers-log/src/public/index.php(19): Nasqueron\Api\ServersLog\Service->handle() #4 {main} thrown in /srv/api/servers-log/vendor/netresearch/jsonmapper/src/JsonMapper.php on line 126