Skip to content

fix: frontend UI fixes and session handling#483

Merged
srperens merged 5 commits intomainfrom
fix/frontend-fixes
Apr 10, 2026
Merged

fix: frontend UI fixes and session handling#483
srperens merged 5 commits intomainfrom
fix/frontend-fixes

Conversation

@srperens
Copy link
Copy Markdown
Collaborator

Summary

  • Session expiry handling: Refresh session cookie on every request (always_save), detect 401 responses and trigger re-authentication (WASM reloads page, native resets state)
  • Movable flow properties window: Replace fixed anchor with pivot + default_pos so the window can be repositioned
  • Deferred graph selection: Avoid egui two-pass ID instability by applying selection changes at the start of each frame via pending_* fields
  • Probe error visibility: Surface probe activation errors in the UI instead of silent log
  • Stable property inspector IDs: Use fixed push_id("selected_inspector") instead of element-dependent IDs

Test plan

  • Open a flow and click elements/blocks/links — selection should work without flicker or panics
  • Open flow properties window and drag it around
  • Let the session expire (or simulate 401) — should show login form
  • Activate a probe on a stopped flow — error should appear in UI

🤖 Generated with Claude Code

Per Enstedt and others added 5 commits April 10, 2026 09:50
Without always_save, the session cookie Max-Age and server-side expiry
were only set once at login and never renewed on subsequent requests,
causing OnInactivity to behave like a fixed-time expiry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace .anchor(CENTER_CENTER) with .pivot() + .default_pos() so the
window opens centered but can be dragged freely by the user.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previously, 401 responses from background API calls were silently
ignored, leaving the user stuck without a way to re-authenticate.

Now the frontend detects 401 in key API paths (flows, elements, blocks,
auth status) and reloads the page to show the login form.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Selection changes in the graph editor now go through pending_selected
fields that are applied at the start of the next frame, before any
rendering. This ensures both egui layout passes see identical widget
IDs, eliminating "Widget rect changed id between passes" warnings.

Also stabilize properties panel IDs: use fixed push_id and id_salt
values so the ScrollArea IDs remain the same regardless of whether
an element or block is selected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@srperens srperens merged commit 435ed47 into main Apr 10, 2026
7 checks passed
@srperens srperens deleted the fix/frontend-fixes branch April 10, 2026 10:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant