session file records how the source was reached

A session is named <host>_<port>.toml, which cannot say whether that source
was multicast or which interface it joined on, so a chooser row could not
reconnect to one. Both go in the top block: a bare key after a [[table]]
header belongs to that table, which is how the enabled key was lost once.
This commit is contained in:
Martino Ferrari committed 2026-10-04 00:04:52 +02:00
1 parent a066d48a3a
commit c604d62917
2 files changed
+15

No files matched your search

+6
View File
@@ -37,6 +37,12 @@ struct LayoutState {
/// identity here, because a CONFIG renumbers the channels.
std::vector<std::string> enabled;
/// How this source was reached, so the startup chooser can reconnect to it exactly. The file is
/// named `<host>_<port>.toml` and that name can say neither of these. Empty `multicast` is
/// unicast; empty `interface_addr` is the default route.
std::string multicast;
std::string interface_addr;
/// The derived channels, graphs and all: the editor's work is part of the session, not of the
/// process. A graph is stored as one string per node so the file stays in this store's TOML
/// subset (tables, string arrays, scalars) rather than growing a nested-table parser for it; see