Актуальні помилки SDK Bundle

← Актуальні помилки SDK Bundle

Ashterix

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

1 + # Актуальні помилки SDK Bundle
2 +
3 + Відомі помилки й нестиковки поточної версії `ufo-tech/json-rpc-sdk-bundle` (4.0.0). Помилки самого генератора й базових класів — у [Client SDK](/docs/api/sdk/client/known_issues/open). Виправлені — на сторінці [Виправлені помилки](/docs/api/sdk/bundle/known_issues/fixed).
4 +
5 + <include>(.issues/compiler-silent-errors.md)
6 +
7 + ---
8 +
9 + <include>(.issues/generate-reports-success.md)
10 +
11 + ---
12 +
13 + <include>(.issues/empty-token-header.md)
14 +
15 + ---
16 +
17 + <include>(.issues/namespace-default-mismatch.md)
18 +
19 + ---
20 +
21 + <include>(.issues/undeclared-dependencies.md)
22 +
23 + ---
24 +
25 + <include>(.issues/readme-outdated.md)

uk/docs/api/sdk/bundle/known_issues/.issues/compiler-silent-errors.md new file +11 −0

1 + ### Компілятор мовчки пропускає класи поза налаштованими постачальниками
2 +
3 + :::warning subtitle="Актуальна"
4 + Зачеплені версії: 4.0.0 (поточна). Перевірено за кодом тегу 4.0.0.
5 + :::
6 +
7 + **Симптом.** Згенерований клас працює без токена (сервер відповідає `-32401`) і без обробників відповіді з контейнера, хоча помилок під час збирання контейнера немає.
8 +
9 + **Причина.** `SdkCompiler` шукає постачальника за простором імен класу, а будь-яку помилку пошуку перехоплює `catch (Throwable) { continue; }`. Так стається, коли клас згенеровано `ufo:sdk:make` для постачальника, якого немає у `vendors`, або простір імен не збігається з `namespace` + назва постачальника.
10 +
11 + **Обхідний шлях.** Генеруйте лише постачальників з конфігурації (`ufo:sdk:generate`) і не змінюйте `namespace` без перегенерації.

uk/docs/api/sdk/bundle/known_issues/.issues/generate-reports-success.md new file +11 −0

1 + ### `ufo:sdk:generate` повідомляє про успіх, коли генерація не вдалась
2 +
3 + :::warning subtitle="Актуальна"
4 + Зачеплені версії: 4.0.0 (поточна). Перевірено за кодом тегу 4.0.0.
5 + :::
6 +
7 + **Симптом.** Команда пише «Generate SDK is complete» і завершується з кодом 0, навіть якщо `ufo:sdk:make` для постачальника впав (сервер недоступний, помилка документації) або назву з `--vendor` не знайдено в конфігурації (тоді не генерується нічого).
8 +
9 + **Причина.** Код виходу дочірньої команди ігнорується; для невідомого `--vendor` список постачальників порожній.
10 +
11 + **Обхідний шлях.** У CI запускайте `ufo:sdk:make` для кожного постачальника окремо або перевіряйте вивід на повідомлення про помилки.

uk/docs/api/sdk/bundle/known_issues/.issues/empty-token-header.md new file +11 −0

1 + ### Порожній токен з оточення все одно надсилається
2 +
3 + :::warning subtitle="Актуальна"
4 + Зачеплені версії: 4.0.0 (поточна). Перевірено за кодом тегу 4.0.0.
5 + :::
6 +
7 + **Симптом.** Якщо змінна оточення з токеном порожня (як `VENDOR_1_API_TOKEN=` з рецепта), кожен запит містить заголовок токена з порожнім значенням.
8 +
9 + **Причина.** Компілятор перевіряє `isset()`, а порожній рядок — задане значення.
10 +
11 + **Обхідний шлях.** Прибирайте `token_key` / `token` з конфігурації постачальника, якщо токен не потрібен.

uk/docs/api/sdk/bundle/known_issues/.issues/namespace-default-mismatch.md new file +7 −0

1 + ### Різний простір імен за замовчуванням у конфігурації і рецепті
2 +
3 + :::warning subtitle="Актуальна"
4 + Зачеплені версії: 4.0.0 (поточна). Нестиковка; перевірено за кодом тегу 4.0.0.
5 + :::
6 +
7 + Значення за замовчуванням `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

1 + ### Бандл використовує незадекларовані залежності
2 +
3 + :::warning subtitle="Актуальна"
4 + Зачеплені версії: 4.0.0 (поточна). Перевірено за `composer.json` і кодом тегу 4.0.0.
5 + :::
6 +
7 + Бандл напряму використовує класи `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

1 + ### README пакета застарів
2 +
3 + :::warning subtitle="Актуальна"
4 + Зачеплені версії: 4.0.0 (поточна). Нестиковка документації, на роботу не впливає.
5 + :::
6 +
7 + * Указано «Symfony v.6.*», а 4.0 потребує Symfony ^7.3 | ^8.0.
8 + * Команда встановлення з помилкою: `json-prc-sdk-bundle` замість `json-rpc-sdk-bundle`; у прикладі `bundles.php` — `,,`.
9 + * Маска «лише синхронні» — `#Command.run`; правильно `&Command.run`.
10 + * Приклад згенерованого класу `PingProcedure` і контролера з `Symfony\Component\Routing\Annotation\Route` — зі старих версій; зараз класи називаються `<Назва>SDK`, `ping` не генерується.
11 + * Не описано асинхронні виклики, `async_secret`, resolver-и транспорту, `sdk_config.yaml`.