You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
TextFieldView subscription to user hub times out when target session is gone #1197
A TextFieldView component in the Settings area subscribes to mesh data (Name, Category, Icon fields) against a specific user's hub (sglauser). When that user hub is unreachable, the SubscribeRequest times out after 60 seconds and the error surfaces in the Blazor component as an unhandled TimeoutException.
Probable cause
The SubscribeRequest sent from the memex-portal pod to the target hub sglauser (through cache path gmIIqhF220CKKxqxgY_J7Q) received no response within the 60-second timeout. The error text states "The request may have been undeliverable or the target hub was not found."
Three occurrences at the same timestamp (Name, Category, Icon fields) suggest a transient condition — likely the user session had ended or the target hub was disconnected while TextFieldView still held active subscriptions for multiple fields. The component did not gracefully handle the subscription failure (or clean up subscriptions on disconnect).
Confidence: Moderate — the timeout mechanism and error propagation through RestoringObserver / MeshNodeStreamHandle.TypedContentObserver / ReplaySubject are clear; the exact trigger (user hub gone vs. network blip) is inferred from the tight time window.
Impact
Low. 3 occurrences at the same instant on a single pod (memex-portal-deployment-59479dc7d9-kmwvr), affecting user sglauser. The Settings area for that user would have failed to load the Name, Category and Icon fields. No recurrence beyond this single burst.
Where to look
MeshWeaver.Blazor.Components.TextFieldView — the component that initiates the subscription. Examine subscription lifecycle: does it unsubscribe when the component is torn down or when the target hub becomes unavailable?
MeshWeaver.Mesh.MeshNodeStreamHandle.TypedContentObserver — how subscription errors are relayed to the Blazor layer.
MeshWeaver.Messaging.AccessContextCaptureExtensions (line ~174 of AccessContextCaptureExtensions.cs) — the RestoringObserver that wraps error delivery with async context restoration.
Activity