fad7bd9ba3noui: Remove always empty caption while formatting (MarcoFalke)fa8ebeb332refactor: [gui] Document that the title is always empty for node message (MarcoFalke)fafe71b743refactor: Remove empty caption from ThreadSafeMessageBox (MarcoFalke)fa8d0088e7refactor: Remove empty caption from ThreadSafeQuestion (MarcoFalke)fa0195499crefactor: [gui] Use lambdas over std::bind (MarcoFalke)eeee1e341frefactor: Remove trailing semicolon after ADD_SIGNALS_DECL_WRAPPER (MarcoFalke) Pull request description: Currently, the user interface (noui, gui) has a caption for each message. However, the caption has many issues: * It is always hard-coded to the empty string. * This is confusing and tedious when reading or maintaining the code. * It is redundant, because `noui` will ignore the caption and set the logging prefix (error, warning, info) based on the `style`. * The gui does prefer to set the title based on the caption, but since it the caption is always empty, the fallback will always be used. Fix all issues by removing it. ACKs for top commit: hebasto: ACKfad7bd9ba3, I have reviewed the code and it looks OK. Tested on Ubuntu 25.10. sedited: ACKfad7bd9ba3Tree-SHA512: 58ef538b9b3e1cfdcf2955f6de9b8cee335edbf6339723cb693cb4d584817904c962dac5199ee44d7e2860a5332dec1a6abf47e621eb5cf919aa1cdae271b55f
Internal c++ interfaces
The following interfaces are defined here:
-
Chain— used by wallet to access blockchain and mempool state. Added in #14437, #14711, #15288, and #10973. -
ChainClient— used by node to start & stopChainclients. Added in #14437. -
Node— used by GUI to start & stop bitcoin node. Added in #10244. -
Handler— returned byhandleEventmethods on interfaces above and used to manage lifetimes of event handlers. -
Init— used by multiprocess code to access interfaces above on startup. Added in #19160. -
Ipc— used by multiprocess code to accessInitinterface across processes. Added in #19160.
The interfaces above define boundaries between major components of bitcoin code (node, wallet, and gui), making it possible for them to run in different processes, and be tested, developed, and understood independently. These interfaces are not currently designed to be stable or to be used externally.