← Актуальні помилки SDK Bundle
docs: rewrite JsonRpcBundle docs, add SDK docs, move them under docs/api
uk/docs/api/sdk/bundle/known_issues/open.md
new file +25
−0
Актуальні помилки SDK Bundle
Відомі помилки й нестиковки поточної версії ufo-tech/json-rpc-sdk-bundle (4.0.0). Помилки самого генератора й базових класів — у Client SDK. Виправлені — на сторінці Виправлені помилки.
<include>(.issues/compiler-silent-errors.md)
<include>(.issues/generate-reports-success.md)
<include>(.issues/empty-token-header.md)
<include>(.issues/namespace-default-mismatch.md)
<include>(.issues/undeclared-dependencies.md)
<include>(.issues/readme-outdated.md)
uk/docs/api/sdk/bundle/known_issues/.issues/compiler-silent-errors.md
new file +11
−0
Компілятор мовчки пропускає класи поза налаштованими постачальниками
Зачеплені версії: 4.0.0 (поточна). Перевірено за кодом тегу 4.0.0.
Симптом. Згенерований клас працює без токена (сервер відповідає -32401) і без обробників відповіді з контейнера, хоча помилок під час збирання контейнера немає.
Причина. SdkCompiler шукає постачальника за простором імен класу, а будь-яку помилку пошуку перехоплює catch (Throwable) { continue; }. Так стається, коли клас згенеровано ufo:sdk:make для постачальника, якого немає у vendors, або простір імен не збігається з namespace + назва постачальника.
Обхідний шлях. Генеруйте лише постачальників з конфігурації (ufo:sdk:generate) і не змінюйте namespace без перегенерації.
uk/docs/api/sdk/bundle/known_issues/.issues/generate-reports-success.md
new file +11
−0
ufo:sdk:generate повідомляє про успіх, коли генерація не вдалась
Зачеплені версії: 4.0.0 (поточна). Перевірено за кодом тегу 4.0.0.
Симптом. Команда пише «Generate SDK is complete» і завершується з кодом 0, навіть якщо ufo:sdk:make для постачальника впав (сервер недоступний, помилка документації) або назву з --vendor не знайдено в конфігурації (тоді не генерується нічого).
Причина. Код виходу дочірньої команди ігнорується; для невідомого --vendor список постачальників порожній.
Обхідний шлях. У CI запускайте ufo:sdk:make для кожного постачальника окремо або перевіряйте вивід на повідомлення про помилки.
uk/docs/api/sdk/bundle/known_issues/.issues/empty-token-header.md
new file +11
−0
Порожній токен з оточення все одно надсилається
Зачеплені версії: 4.0.0 (поточна). Перевірено за кодом тегу 4.0.0.
Симптом. Якщо змінна оточення з токеном порожня (як VENDOR_1_API_TOKEN= з рецепта), кожен запит містить заголовок токена з порожнім значенням.
Причина. Компілятор перевіряє isset(), а порожній рядок — задане значення.
Обхідний шлях. Прибирайте token_key / token з конфігурації постачальника, якщо токен не потрібен.
uk/docs/api/sdk/bundle/known_issues/.issues/namespace-default-mismatch.md
new file +7
−0
Різний простір імен за замовчуванням у конфігурації і рецепті
Зачеплені версії: 4.0.0 (поточна). Нестиковка; перевірено за кодом тегу 4.0.0.
Значення за замовчуванням namespace — App\Sdk, а файл, який створює рецепт Flex, задає App\SDK. На файлових системах з урахуванням регістру це різні каталоги (src/Sdk і src/SDK). Оберіть одне написання й тримайтеся його.
uk/docs/api/sdk/bundle/known_issues/.issues/undeclared-dependencies.md
new file +7
−0
Бандл використовує незадекларовані залежності
Зачеплені версії: 4.0.0 (поточна). Перевірено за composer.json і кодом тегу 4.0.0.
Бандл напряму використовує класи symfony/maker-bundle і ufo-tech/rpc-objects, але не вказує їх у require — вони приходять транзитивно через Client SDK. Підтримка Symfony 8 залежить від того, чи сумісна встановлена версія symfony/maker-bundle з Symfony 8.
uk/docs/api/sdk/bundle/known_issues/.issues/readme-outdated.md
new file +11
−0
README пакета застарів
Зачеплені версії: 4.0.0 (поточна). Нестиковка документації, на роботу не впливає.
- Указано «Symfony v.6.*», а 4.0 потребує Symfony ^7.3 | ^8.0.
- Команда встановлення з помилкою:
json-prc-sdk-bundleзамістьjson-rpc-sdk-bundle; у прикладіbundles.php—,,. - Маска «лише синхронні» —
#Command.run; правильно&Command.run. - Приклад згенерованого класу
PingProcedureі контролера зSymfony\Component\Routing\Annotation\Route— зі старих версій; зараз класи називаються<Назва>SDK,pingне генерується. - Не описано асинхронні виклики,
async_secret, resolver-и транспорту,sdk_config.yaml.