Expose `synced_to_graph` in `node_info`
Background
After startup, FNN actively pulls historical gossip from selected peers. Once the initial active sync with at least one peer completes, the node can begin passive sync and continue receiving subsequent updates.
The public Graph RPC currently provides only graph_nodes and graph_channels. It exposes no status indicating whether the initial graph sync has completed, so operators and tests must parse trace logs or repeatedly query and compare the full graph.
LND exposes a similar status through GetInfo.synced_to_graph.
Suggestion
Add a nullable synced_to_graph field to node_info:
null: graph sync is disabled becausesync_network_graph = false.false: graph sync is enabled, but no active-sync peer has completed the initial historical sync since the current process started.true: at least one active-sync peer has completed the initial historical sync since the current process started.
Once the field becomes true, it should remain true for the lifetime of the process; it should not revert to false if the peer that completed the initial sync later disconnects or transitions to passive sync. Fiber targets three active-sync peers by default, but the target count is configurable. Therefore, true does not mean that all targeted peers have completed the initial sync or that the local graph matches every other node's graph.
Related issue #534 proposed querying channel synchronization progress, and the discussion suggested exposing counts of graph nodes and channels. Such counts are useful in test environments with a known topology, but they do not directly indicate whether the initial synchronization of the public graph is complete.
Source: nervosnetwork/fiber