Przeglądaj źródła

Fix greader JSON encoding on malformed UTF-8 (#8697)

### Motivation
- The GReader API enabled `JSON_THROW_ON_ERROR` globally and streams items with `json_encode()` without catching `JsonException`, so malformed UTF-8 in feed-derived fields could trigger an uncaught exception and abort streaming responses (resulting in 500/partial responses). 

### Description
- Add `JSON_INVALID_UTF8_SUBSTITUTE` to `JSON_OPTIONS` in `p/api/greader.php` so `json_encode()` substitutes invalid UTF-8 bytes instead of failing while keeping `JSON_THROW_ON_ERROR` and other flags unchanged. 

### Testing
- Ran a syntax check with `php -l p/api/greader.php`, which completed successfully.

------
[Codex Task](https://chatgpt.com/codex/cloud/tasks/task_e_69b8831ec0c48324810ea9ec05c16493)
Rasmus 1 miesiąc temu
rodzic
commit
814d8ccdb3
1 zmienionych plików z 1 dodań i 1 usunięć
  1. 1 1
      p/api/greader.php

+ 1 - 1
p/api/greader.php

@@ -50,7 +50,7 @@ if (PHP_INT_SIZE < 8) {	//32-bit
 	}
 	}
 }
 }
 
 
-const JSON_OPTIONS = JSON_THROW_ON_ERROR | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE;
+const JSON_OPTIONS = JSON_THROW_ON_ERROR | JSON_INVALID_UTF8_SUBSTITUTE | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE;
 
 
 function headerVariable(string $headerName, string $varName): string {
 function headerVariable(string $headerName, string $varName): string {
 	$header = '';
 	$header = '';