mirror of
https://github.com/logos-blockchain/logos-blockchain-ui.git
synced 2026-05-17 15:29:29 +00:00
BlockchainBackend's constructor called LogosAPIClient::requestObject()
for liblogos_blockchain_module while running inside initLogos(). ui-host
invokes initLogos() synchronously (Qt::DirectConnection) and only
signals READY after it returns, but requestObject() blocks for its full
20s timeout when the backend node module isn't running yet — the normal
case, since the node is started from this UI. ui-host therefore missed
its readiness deadline, the host killed the process, and the whole view
failed to load ("Failed to load UI plugin").
Defer the newBlock subscription to subscribeToBlockEvents(), invoked
after a successful startBlockchain(), so initLogos() returns immediately
and the QML view loads whether or not the node is running yet. Also stop
forcing ErrorSubscribeFailed at construction.
Add tests/ui-tests.mjs: a hermetic integration test
(nix build .#integration-test) that loads the module in
logos-standalone-app and asserts the config view renders, guarding
against this regression.
https://claude.ai/code/session_01LJrxZLLrdQZXakNMCEyExE