diff --git a/lightningd/gossip_control.c b/lightningd/gossip_control.c index 67be0db43..46461e394 100644 --- a/lightningd/gossip_control.c +++ b/lightningd/gossip_control.c @@ -191,7 +191,7 @@ static void gossip_topology_synced(struct chain_topology *topo, void *unused) * message */ void gossip_init(struct lightningd *ld, int connectd_fd) { - u8 *msg; + u8 *msg, *node_featurebits; int hsmfd; hsmfd = hsm_get_global_fd(ld, HSM_CAP_SIGN_GOSSIP); @@ -206,11 +206,16 @@ void gossip_init(struct lightningd *ld, int connectd_fd) topology_add_sync_waiter(ld->gossip, ld->topology, gossip_topology_synced, NULL); + node_featurebits = + featurebits_or(tmpctx, take(get_offered_nodefeatures(tmpctx)), + take(plugins_collect_featurebits( + tmpctx, ld->plugins, PLUGIN_FEATURES_NODE))); + msg = towire_gossipctl_init( tmpctx, chainparams, &ld->id, - get_offered_nodefeatures(tmpctx), + node_featurebits, ld->rgb, ld->alias, ld->announcable, diff --git a/tests/test_plugin.py b/tests/test_plugin.py index 5b6710641..d1b8e30a3 100644 --- a/tests/test_plugin.py +++ b/tests/test_plugin.py @@ -826,7 +826,6 @@ def test_libplugin(node_factory): assert l1.rpc.call("testrpc") == l1.rpc.getinfo() -@pytest.mark.xfail(strict=True) @unittest.skipIf(not DEVELOPER, "needs LIGHTNINGD_DEV_LOG_IO") def test_plugin_feature_announce(node_factory): """Check that features registered by plugins show up in messages.