Repository navigation
Conversation
dmytrotkk
requested review from
a team,
badrogger and
kladkogex
as code owners
November 13, 2026 11:02
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
No Telegram message has been delivered since skale-admin moved to python-telegram-bot 22 (merged 2025-10-06; first stable release 3.3.0, which reached validators with SKALE 5.0 in July 2026):
Bot.send_messageis async and the celery task never awaits it.In node-cli:
TG_API_KEYandTG_CHAT_IDset,compose_upalso started theceleryservice. That worker's only task is the Telegram delivery, so it did no useful work.None. With empty values, admin still enqueues, no worker runs, and the tasks pile up in redis.What changed
node_cli/utils/docker_utils.py: removed thedocker compose up -d celerystep fromcompose_up, theNOTIFICATION_COMPOSE_SERVICESconstant, and thesettingsparameter ofcompose_up, which only fed that step.node_cli/operations/base.pyandnode_cli/operations/fair.py: callers no longer passsettingstocompose_up.TG_API_KEYandTG_CHAT_IDfrom the optional variables.tests/utils/api_auth_test.py: updated the twocompose_upcalls.redisstays fornode_cli/fair/record/redis_record.py.Compatibility
TG_API_KEYandTG_CHAT_IDare now ignored. Thetg_api_keyandtg_chat_idfields stay in skale-core settings until a skale.py release can drop them safely, so existing env files andnode.tomlfiles that set them still load.docker compose up -d celery, which fails withno such service: celeryonce the compose file drops the service.docker compose downwith the old compose file before it replaces the file, so an existingcelerycontainer is removed.Verification
ruff check(0.17.3) passes, andruff format --checkpasses on every edited file.scripts/run_tests.shran in the repo's Docker image against a docker-in-docker daemon on a private network, for develop and for this branch. Both give 283 passed and 8 failed, and the same 8 tests fail on both. They depend on the host: root user, nodockergroup or CLI, no btrfs ortest-disk, no outside network.tests/utils/api_auth_test.pypasses.run_cmdmocked,compose_upwas called for active and passive SKALE, active fair (normal and boot) and passive fair, with the TG settings set and unset. The commands match develop, except that develop also runsdocker compose up -d celeryfor active SKALE with both TG settings set.scripts/build.shbuilds theskaleandfairbinaries without network access, and both run and print their help and version.git grep -I -ifor celery, telegram, tg_ and notif finds nothing outside the LICENSE text and thetg_*keys kept intests/fixtures/settings.py.Part of skalenetwork/skale-node#891