v2.0.27
What's changed
Fixes critical regressions introduced by PR #7 (streaming JSON parser for Overkiz device import):
Bug fixes
- Silent empty device list on parse error — when the streaming JSON parser encountered an error (e.g. a field exceeding the 256-byte buffer), the error was not propagated and the import returned an empty success response instead of an error message
- HTTP non-200 responses treated as success — a 401/403/500 from the Overkiz API returned
ESP_OKto the caller becauseerrheld the TCP open result, not the HTTP status; the UI silently showed zero importable devices fetch_headers()failure not detected — a TLS or network error during response header reception was ignored;errremainedESP_OKand the same silent-empty-success path was taken- HTTP handler returned non-
ESP_OKafter sending response — caused the httpd framework to abort the connection after the error JSON was already flushed, potentially corrupting the response or breaking keep-alive JsonPathHandlerdangling reference — the returned closure captured the callback parameter by reference; changed to capture by value to avoid undefined behaviourJsonPath::startsWithnull dereference — callingstartsWithon a root-level path (JsonDoc,JsonObject,JsonArray) whoseparentisnullptrwould crash; added the same null guard present inendsWithandcontainsJSON_PARSER_BUFFER_MAX_LENGTHraised 256 → 512 bytes — any string field in the Overkiz response longer than 255 bytes (e.g. in device definition command descriptors) would abort the entire import- Session cookie removed from log —
overkiz_getwas logging the full JSESSIONID value at INFO level