Filtering by Node
The node filter dropdown scopes the Logs tab to display only entries from a specific node. It pairs with the level filter — both can be active simultaneously. This is the Logs tab equivalent of subscribeToNodeStream().
Using the Node Filter
- Click the "Filter by node" dropdown in the Logs tab toolbar.
- Select a node from the list. Nodes are listed in execution order and include the node's display name and type.
- The log stream immediately filters to show only entries from the selected node.
- Select "All nodes" from the top of the list to clear the node filter.
Node Filter Dropdown Population
The dropdown is populated from flowObserverPanelStore.nodeStatuses. Only nodes that have at least started executing appear in the list — pending nodes are excluded to avoid clutter. The list updates dynamically as new nodes start.
Combined Filter Example
To see only error-level logs from the "Send Email" node:
- Select Error from the level chips.
- Select Send Email from the node filter dropdown.
- The stream shows only entries where
level === 'error' && nodeId === 'send-email-node-id'.
// Combined level + node filter
const visibleLogs = logs.filter(entry =>
(selectedLevels.size === 0 || selectedLevels.has(entry.level)) &&
(!selectedNodeId || entry.nodeId === selectedNodeId)
);
Node Filter vs subscribeToNodeStream
The node filter operates on the already-buffered log entries in flowObserverPanelStore.logs. It does not affect which events are received from SignalR — all logs are still buffered. The filter is purely a display-time operation, so you can switch the node filter freely without missing any logs.