Skip to content

fix/UI state persistence across tab switches - #180

Merged
lightningpixel merged 4 commits into
lightningpixel:devfrom
iammojogo-sudo:ui-communication-fixes
Aug 18, 2026
Merged

fix/UI state persistence across tab switches#180
lightningpixel merged 4 commits into
lightningpixel:devfrom
iammojogo-sudo:ui-communication-fixes

Conversation

@iammojogo-sudo

@iammojogo-sudoiammojogo-sudo commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Fixes UI state being lost when switching between tabs.

  • Models page: GitHub extension install progress now persists when
    navigating away and back, instead of disappearing mid-install.
  • Workflows/Generate: node parameter edits stay in sync across the
    Workspace and Generate views, and aren't dropped when switching
    tabs before the autosave completes.

Four files changed: api/routers/generation.py, ModelsPage.tsx, WorkflowsPage.tsx, WorkflowPanel.tsx.
No changes to node input handling or anything extension-facing.

@iammojogo-sudo
iammojogo-sudo changed the base branch from main to devJune 10, 2026 15:59
@iammojogo-sudo
iammojogo-sudo marked this pull request as draft June 23, 2026 16:50
@iammojogo-sudo
iammojogo-sudoforce-pushed the ui-communication-fixes branch from 4b97015 to a402f0eCompareJune 23, 2026 17:00
@iammojogo-sudo
iammojogo-sudo marked this pull request as ready for review June 23, 2026 17:01
@iammojogo-sudo
iammojogo-sudoforce-pushed the ui-communication-fixes branch from a402f0e to 1358ca7CompareJune 24, 2026 18:17
@iammojogo-sudoiammojogo-sudo changed the title UI state persistence across tab switchesfix/UI state persistence across tab switchesJun 24, 2026
iammojogo-sudoand others added 3 commits August 1, 2026 15:52
…xel#180
The new sync effects referenced identifiers that do not exist, so both
editors crashed as soon as an external save bumped updatedAt:
- WorkflowPanel: setEdges was never destructured from useEdgesState
- WorkflowsPage: setName has no counterpart in WorkflowCanvasInner
(renaming is handled at page level via renameTarget/handleRename)
Also:
- WorkflowsPage kept the debounce cleanup despite the comment claiming
otherwise, so switching tabs within 500 ms dropped the edit. The
pending save is now flushed on unmount instead of cancelled.
- The saved-at claim is rolled back when the write fails, so a failed
save no longer replaces the canvas with the last persisted version.
- handleGenerate / handleRun now claim their own save and drop the
pending debounce, instead of triggering a resync + redundant write
that could clobber input typed during the IPC round-trip.
- Restore the monotonic progress guard in generation.py: the loading
phase walks the bar to 7 on a background thread and extensions then
report their own 0-100 scale, so an unguarded assignment yanked the
bar backwards.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Keeps the raw line as emitted by the extension, as before lightningpixel#180.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@lightningpixel
lightningpixel merged commit 2d117ed into lightningpixel:devAug 18, 2026
@iammojogo-sudo

Copy link
Copy Markdown
ContributorAuthor

Cheers my friend! I hope that update is helpful for others :)

Sign up for freeto 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.

2 participants

@iammojogo-sudo@lightningpixel