• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Chia-Network / chia-blockchain / 35020741062
90%

Build:
DEFAULT BRANCH: main
Ran 15 Sep 2026 11:39PM UTC
Jobs 1
Files 940
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Sep 2026 08:37PM UTC coverage: 90.206% (+0.03%) from 90.175%
35020741062

push

github

web-flow
Answer requests for services that are not connected to the daemon instead of dropping them (#21393)

* Answer requests for services that are not connected to the daemon

WebSocketServer.handle_message returned None for a message whose
destination had no registered connection, so the sender never heard
anything: a GUI request for a service that was still starting, or whose
session the daemon had just closed after missed heartbeats, sat until the
client's own timeout (ten minutes in the GUI) with nothing to show why.

Reply to such requests with {"success": False, "error": "<service> is
not connected to the daemon"} addressed to the sender. Replies routed to
a client that has gone (ack messages) and state change broadcasts to
wallet_ui while no UI is connected still get no answer: nothing waits
for those, and answering every broadcast on a headless node would only
make noise.

The GUI already copes with the answer: its service start-up wait pings
the service through the daemon and retries after a second on any
failure, so start-up is unchanged, and an ordinary request now fails
immediately with a message instead of hanging.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TzNNe89x7dm2caSxLWXjZY

* Treat a service whose session was closed as not connected, and keep every broadcast silent

remove_connection() leaves an empty set behind under the service's name,
so `destination in self.connections` stayed true after the daemon closed
a session and the request was forwarded to no socket at all, which is
the very case the reply is for. Forward only when the destination has a
live socket.

Services broadcast state changes to metrics and unfinished_block_info as
well as to wallet_ui. Name the three in one place so a broadcast to any
subscriber that is not connected keeps getting no answer, instead of an
error back to the producing service on every event.

Co-Authored-By: Claude Fable 5.1 <noreply@anthro... (continued)

19903 of 24894 branches covered (79.95%)

Branch coverage included in aggregate %.

41 of 41 new or added lines in 2 files covered. (100.0%)

424 existing lines in 41 files now uncovered.

116871 of 126730 relevant lines covered (92.22%)

1.84 hits per line

Coverage Regressions

Lines Coverage ∆ File
116
70.21
0.32% chia/timelord/timelord.py
40
88.07
0.02% chia/data_layer/data_layer_wallet.py
30
92.97
0.09% chia/full_node/full_node_store.py
21
81.9
-0.15% chia/server/start_service.py
18
93.85
0.63% chia/data_layer/data_store.py
18
78.81
0.16% chia/util/config.py
18
74.23
0.27% chia/wallet/did_wallet/did_wallet_puzzles.py
13
88.97
0.72% chia/cmds/wallet_funcs.py
12
95.35
-0.09% chia/full_node/mempool_manager.py
11
64.71
0.0% chia/data_layer/start_data_layer.py
11
88.21
0.22% chia/wallet/did_wallet/did_wallet.py
10
62.86
0.0% chia/wallet/start_wallet.py
8
58.9
0.0% chia/full_node/start_full_node.py
8
94.3
0.28% chia/wallet/wallet.py
7
73.44
0.0% chia/farmer/start_farmer.py
7
72.41
0.0% chia/harvester/start_harvester.py
7
63.64
0.0% chia/introducer/start_introducer.py
7
72.73
0.0% chia/timelord/start_timelord.py
7
79.76
0.69% chia/wallet/util/merkle_utils.py
5
67.27
0.0% chia/seeder/start_crawler.py
5
67.19
0.0% chia/solver/start_solver.py
4
76.35
-1.41% chia/_tests/util/misc.py
4
92.31
0.31% chia/_tests/wallet/db_wallet/test_db_graftroot.py
4
91.35
-0.47% chia/wallet/transaction_record.py
3
84.08
-0.15% chia/full_node/full_node.py
3
80.74
-0.44% chia/server/server.py
3
97.08
0.03% chia/_tests/clvm/test_singletons.py
3
95.95
0.06% chia/_tests/wallet/nft_wallet/test_nft_puzzles.py
3
98.82
0.0% chia/util/errors.py
2
97.88
4.81% chia/data_layer/dl_wallet_store.py
2
99.4
0.0% chia/_tests/wallet/cat_wallet/test_cat_wallet.py
2
97.26
0.04% chia/_tests/wallet/nft_wallet/test_nft_lifecycle.py
2
99.59
0.0% chia/_tests/wallet/rpc/test_wallet_rpc.py
2
67.74
-1.94% chia/timelord/timelord_launcher.py
2
98.58
0.0% chia/wallet/plotnft_wallet/plotnft_wallet.py
1
99.39
-0.61% chia/pools/plotnft_drivers.py
1
84.29
0.0% chia/seeder/dns_server.py
1
98.36
-0.0% chia/_tests/blockchain/test_blockchain.py
1
99.28
0.01% chia/_tests/wallet/cat_wallet/test_offer_lifecycle.py
1
98.9
-0.01% chia/wallet/vc_wallet/vc_drivers.py
1
99.03
1.41% chia/wallet/wallet_puzzle_store.py
Jobs
ID Job ID Ran Files Coverage
1 35020741062.1 15 Sep 2026 11:39PM UTC 1880
90.21
GitHub Action Run
Source Files on build 35020741062
  • Tree
  • List 940
  • Changed 70
  • Source Changed 61
  • Coverage Changed 69
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35020741062
  • ba706d2a on github
  • Prev Build on main (#34908794371)
  • Next Build on main (#35122211688)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc