Skip to content

UI state persistence across tab switches#180

Open
iammojogo-sudo wants to merge 25 commits into
lightningpixel:devfrom
iammojogo-sudo:ui-communication-fixes
Open

UI state persistence across tab switches#180
iammojogo-sudo wants to merge 25 commits into
lightningpixel:devfrom
iammojogo-sudo:ui-communication-fixes

Conversation

@iammojogo-sudo

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.

Three files changed: ModelsPage.tsx, WorkflowsPage.tsx, WorkflowPanel.tsx.
No changes to node input handling or anything extension-facing.

lightningpixel and others added 24 commits May 11, 2026 09:33
Added links to Modly and Lightning Pixel on X for updates.
Added a sponsors section to acknowledge early supporters.
Added input path validation to prevent path traversal attacks.
Added autoCenter and resetToken props to MeshModel. Enhanced mesh centering logic and keyboard controls for gizmo modes.
Added auto-save functionality for workflow changes with debouncing. Updated component to re-sync nodes and edges from the store when workflow is saved.
Added GitHub extension install form and related functionality.
Fix missing newline at the end of WorkflowPanel.tsx
@iammojogo-sudo iammojogo-sudo changed the base branch from main to dev June 10, 2026 15:59
@iammojogo-sudo

Copy link
Copy Markdown
Contributor Author

Changed made. I believe it has transform gizmo code in there from local testing so I removed all of that because the transform gizmo is not merged yet. :)

@iammojogo-sudo

iammojogo-sudo commented Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

Quick question about the second conflit:

<<<<<<< ui-communication-fixes
        {/* Search bar */}
        <div className="flex items-center gap-2">
          <div className="flex-1 flex items-center gap-2.5 px-3.5 py-2.5 rounded-xl bg-zinc-800/60 border border-zinc-700/60 focus-within:border-zinc-500 focus-within:bg-zinc-800 transition-colors">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" className="text-zinc-500 shrink-0">
              <circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/>
            </svg>
            <input
              type="text"
              value={search}
              onChange={(e) => setSearch(e.target.value)}
              placeholder="Search extensions..."
              className="flex-1 bg-transparent text-sm text-zinc-200 placeholder-zinc-500 focus:outline-none"
            />
            {search && (
              <button onClick={() => setSearch('')} className="text-zinc-600 hover:text-zinc-400 transition-colors">
                <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5">
                  <line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/>
                </svg>
              </button>
            )}
            {allExtensions.length > 0 && (
              <span className="text-[11px] text-zinc-600 shrink-0">
                {search.trim() ? `${filteredExtensions.length} / ${allExtensions.length}` : `${allExtensions.length}`}
              </span>
            )}
          </div>
=======
        {/* Sort */}
        <div className="relative">
>>>>>>> dev

Question: What does the {/* Sort */} do for removing the current code and is that current code now fully removing or relocated elsewhere from other changes that are made? I just want to make sure nothing is lost. I appreciate it and no rush!

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.

4 participants