Skip to content

fix(ton-trading-bot): обновление плагина не зависает — синхронизация версии (#186)#187

Merged
xlabtg merged 3 commits into
xlabtg:mainfrom
konard:issue-186-9e1b46ef4560
Jun 14, 2026
Merged

fix(ton-trading-bot): обновление плагина не зависает — синхронизация версии (#186)#187
xlabtg merged 3 commits into
xlabtg:mainfrom
konard:issue-186-9e1b46ef4560

Conversation

@konard

@konard konard commented Jun 14, 2026

Copy link
Copy Markdown

Проблема

Issue #186: в веб-интерфейсе агента у плагина ton-trading-bot показывается доступное обновление, но при нажатии кнопки «Обновить» плагин не обновляется, и кнопка появляется снова.

Корневая причина

Версия плагина дублируется в двух местах:

  • manifest.json → поле version (каталог обновлений)
  • index.jsexport const manifest.version (рантайм-объект, который хост teleton читает как установленную версию)

Исторически их всегда держали синхронными. В PR #183 (#182) подняли только manifest.json: 2.3.0 → 2.4.0, а index.js остался на 2.3.0.

В результате:

  • каталог обновлений видит доступную версию 2.4.0 (из manifest.json) → показывает кнопку «Обновить»;
  • после обновления загруженный код по-прежнему сообщает установленную версию 2.3.0 (из index.js);
  • 2.3.0 ≠ 2.4.0 → хост считает плагин устаревшим, и кнопка «Обновить» появляется снова. Обновление никогда не «закрепляется».

Исправление

  1. Синхронизированы версии в index.js и manifest.json и подняты до 2.4.1 — это чистый релиз, чтобы застрявшие на сломанном состоянии пользователи получили рабочее обновление, которое наконец совпадёт с установленной версией и кнопка пропадёт.
  2. Регрессионный тест (tests/index.test.js): версия из index.js обязана совпадать с версией из manifest.json.
  3. Общая CI-проверка (scripts/validate-plugins.mjs): если index.js экспортирует manifest с version, она должна равняться manifest.json.version. Теперь рассинхрон версий ловится в CI для любого плагина и не повторится.

Воспроизведение и проверка

Откат версии в index.js обратно на 2.3.0 (исходное сломанное состояние):

=== validator на рассинхроне ===
[ERROR] ton-trading-bot: index.js manifest.version "2.3.0" does not match manifest.json version "2.4.1"
=== тесты на рассинхроне ===
# pass 188
# fail 1

После исправления (версии синхронны = 2.4.1):

  • node --test plugins/ton-trading-bot/tests/index.test.js189/189 pass
  • node scripts/validate-plugins.mjston-trading-bot: 42 tool(s) validated (без ошибок версии)
  • eslint → 0 ошибок (только унаследованные warnings)
  • tsc --noEmit → без ошибок

Closes #186

konard added 2 commits June 14, 2026 12:12
Adding .gitkeep for PR creation (default mode).
This file will be removed when the task is complete.

Issue: xlabtg#186
…ие не зависало (xlabtg#186)

Корневая причина: версия плагина дублируется в двух местах —
`manifest.json` ("version") и рантайм-объекте `export const manifest`
в `index.js` ("version"). В PR xlabtg#183 подняли только `manifest.json`
(2.3.0 → 2.4.0), а `index.js` остался на 2.3.0.

Хост teleton сообщает установленную версию из рантайм-манифеста
(index.js = 2.3.0), а каталог обновлений строится из manifest.json
(2.4.0). После обновления код всё равно отдаёт 2.3.0 ≠ 2.4.0, поэтому
кнопка «Обновить» появляется снова и обновление как будто не применяется.

Исправления:
- синхронизированы обе версии и подняты до 2.4.1 — чистый релиз, чтобы
  застрявшие пользователи получили рабочее обновление, которое «закрепится»;
- добавлен регрессионный тест: версия в index.js == версия в manifest.json;
- добавлена общая проверка в scripts/validate-plugins.mjs — рассинхрон
  версий теперь ловится в CI для любого плагина.
@konard konard changed the title [WIP] The plugin is not updated after the update. fix(ton-trading-bot): обновление плагина не зависает — синхронизация версии (#186) Jun 14, 2026
@konard konard marked this pull request as ready for review June 14, 2026 12:16
@konard

konard commented Jun 14, 2026

Copy link
Copy Markdown
Author

Working session summary

Все ключевые CI-проверки прошли (Build Runtime, Build SDK, Lint, Test, TypeScript, deploy — pass; CodeQL Analyze ещё выполняется, к коду не относится). PR готов к ревью.

Итог

Issue #186: кнопка «Обновить» у плагина ton-trading-bot появляется снова после нажатия — плагин будто не обновляется.

Корневая причина: версия плагина дублируется в двух местах — manifest.json (каталог обновлений) и export const manifest.version в index.js (рантайм-версия, которую читает хост). В PR #183 подняли только manifest.json (2.3.0 → 2.4.0), а index.js остался на 2.3.0. Хост сравнивает доступную 2.4.0 с установленной 2.3.0 → всегда «доступно обновление», и после обновления код всё равно отдаёт 2.3.0, поэтому кнопка возвращается.

Что сделано:

  • Синхронизированы обе версии и подняты до 2.4.1 — чистый релиз, который наконец совпадёт у застрявших пользователей и уберёт кнопку.
  • Добавлен регрессионный тест: версия в index.js == версия в manifest.json (падает на сломанном состоянии).
  • Добавлена общая проверка в scripts/validate-plugins.mjs — рассинхрон версий теперь ловится в CI для любого плагина, чтобы баг не повторился.

Проверено: тест и валидатор падают при искусственном откате версии на 2.3.0, проходят (189/189) после фикса. Lint/tsc — чисто.

PR: #187


This summary was automatically extracted from the AI working session output.

@konard

konard commented Jun 14, 2026

Copy link
Copy Markdown
Author

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $1.753198
  • Calculated by Anthropic: $2.069525
  • Difference: $0.316327 (+18.04%)

📊 Context and tokens usage:

  • 60.2K / 1M (6%) input tokens, 13.8K / 128K (11%) output tokens

Total: (3.6K new + 84.4K cache writes + 1.7M cache reads) input tokens, 13.8K output tokens, $1.753198 cost

🤖 Models used:

  • Tool: Anthropic Claude Code
  • Requested: opus
  • Model: Claude Opus 4.8 (claude-opus-4-8)

📎 Log file uploaded as Gist (1620KB)


Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard

konard commented Jun 14, 2026

Copy link
Copy Markdown
Author

✅ Ready to merge

This pull request is now ready to be merged:

  • All CI checks have passed
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

@xlabtg xlabtg merged commit 9ebeda4 into xlabtg:main Jun 14, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The plugin is not updated after the update.

2 participants