fix(adminui): _canRebirth is captured at browse-open, so a reaped session still draws Request-rebirth #510

Open
opened 2026-07-27 13:50:30 -04:00 by dohertj2 · 0 comments
Owner

RawBrowseModal.razor:377 sets _canRebirth = BrowserService.CanRequestRebirth(_token) once, when the
browse session is established. Browse sessions are reaped for idleness after ~2 minutes. A modal left open past
the reap therefore still renders the Request rebirth… button (RawBrowseModal.razor:102), and clicking it
fails against a token that no longer resolves.

Not silent — the error is surfaced to the operator, not swallowed, and reopening the browser fixes it. So
this is a stale-affordance defect: the UI offers an action it can no longer perform.

Fix options, in increasing order of effort:

  1. Re-evaluate CanRequestRebirth(_token) at click time and, on a dead token, re-establish the session (or
    tell the operator to reopen) instead of erroring.
  2. Have the session-reap path notify open modals so the button disappears when the capability does.

Option 1 alone closes the operator-visible symptom.

Acceptance. With a browse modal open and idle past the reap window, the rebirth affordance either works
(session re-established) or is no longer offered — it never presents and then errors.

`RawBrowseModal.razor:377` sets `_canRebirth = BrowserService.CanRequestRebirth(_token)` **once**, when the browse session is established. Browse sessions are reaped for idleness after ~2 minutes. A modal left open past the reap therefore still renders the *Request rebirth…* button (`RawBrowseModal.razor:102`), and clicking it fails against a token that no longer resolves. **Not silent** — the error is surfaced to the operator, not swallowed, and reopening the browser fixes it. So this is a stale-affordance defect: the UI offers an action it can no longer perform. **Fix options,** in increasing order of effort: 1. Re-evaluate `CanRequestRebirth(_token)` at click time and, on a dead token, re-establish the session (or tell the operator to reopen) instead of erroring. 2. Have the session-reap path notify open modals so the button disappears when the capability does. Option 1 alone closes the operator-visible symptom. **Acceptance.** With a browse modal open and idle past the reap window, the rebirth affordance either works (session re-established) or is no longer offered — it never presents and then errors.
dohertj2 added the driver/mqtt label 2026-07-27 13:50:30 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#510