Skip to content

fix(gui3): resolve 4 bugs from owner feedback - #2586

Merged
fl0rianr merged 1 commit into
kpoin/ui-testingfrom
kpoin/gui3-bug-fixes
Jul 7, 2026
Merged

fl0rianr merged 1 commit into
kpoin/ui-testingfrom
kpoin/gui3-bug-fixes

Conversation

@kpoineal

@kpoineal kpoineal commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

Fixes 4 bugs reported by Jeremy:

Fixes #2560, #2561, #2562, #2567

@github-actions github-actions Bot added web ui bug Something isn't working labels Jul 7, 2026

@fl0rianr fl0rianr left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this fixes parts of the reported GUI3 issues, but I would adjust a few things before merging:

  1. detectDefaultBaseUrl() currently trusts any window.location.port. In the prototype dev setup, webpack serve runs on port 8080 and there is no /api proxy, so the default becomes http://localhost:8080 and API calls would hit the UI dev server instead of lemond. This should only use same-origin when we know the UI is actually served by lemond, or it should fall back to the known Lemonade API default / host-provided apiUrl.

  2. The PR claims to fix UDP beacon discovery (#2561), but this does not implement beacon discovery. It only helps the “served by lemond” case and the mock apiUrl case. Either the issue/PR wording should be narrowed, or the actual discovery path needs to be implemented.

  3. The AutoOpt run action is fine by me but not enough to close the issue, yet - or open another one for a least one useful autorun scenario to perform (to show of capability)

  4. The per-run delete button is only visible on hover. That is weak for mobile/touch and keyboard accessibility. Please also reveal it on :focus-within, or make it persistently visible / move it into a compact action menu.

The model filtering and Dashboard reconnect polling changes look reasonable.

- Auto-discovery: derive default base URL from window.location.origin
  when served by lemond, and read mock API's apiUrl field as fallback.
  Fixes #2561.

- Dashboard port: listen for connection status changes and resume
  polling when connection is re-established after failures. Fixes #2562.

- Models filtering: hide models with suggested:false unless they are
  downloaded or currently loaded. Fixes #2560.

- AutoOpt rail: add Run Optimizer button and per-run Delete action
  so the panel is actually usable. Fixes #2567.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kpoineal
kpoineal force-pushed the kpoin/gui3-bug-fixes branch from 7bbaa72 to 93d17d3 Compare July 7, 2026 18:56

@kpoineal kpoineal left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @fl0rianr — addressed points 1 and 4:

  1. Fixed: \detectDefaultBaseUrl()\ now only uses same-origin when it detects the lemond shim (\window.api.getServerPort) or the /app\ path prefix. Dev servers on arbitrary ports fall through to the 13305 default.

  2. Acknowledged: You're right — this doesn't implement real UDP beacon. That's not possible from a browser context. Narrowing #2561 to what we actually fixed (auto-connect when served by lemond + apiUrl fallback). True beacon discovery would need a server-side endpoint.

  3. Agreed: The AutoOpt action is a UI scaffold. I'll open a follow-up issue for implementing a real optimization run (e.g. benchmark current backend params → suggest improvements).

  4. Fixed: Delete button now also reveals on :focus-within\ and direct :focus, making it keyboard/touch accessible.

@fl0rianr fl0rianr left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM now

@fl0rianr
fl0rianr merged commit b9747d7 into kpoin/ui-testing Jul 7, 2026
23 of 24 checks passed
@fl0rianr
fl0rianr deleted the kpoin/gui3-bug-fixes branch July 7, 2026 19:02
@fl0rianr

fl0rianr commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

3. Agreed: The AutoOpt action is a UI scaffold. I'll open a follow-up issue for implementing a real optimization run (e.g. benchmark current backend params → suggest improvements).

#2613 I created one.

fl0rianr pushed a commit that referenced this pull request Jul 17, 2026
- Auto-discovery: derive default base URL from window.location.origin
  when served by lemond, and read mock API's apiUrl field as fallback.
  Fixes #2561.

- Dashboard port: listen for connection status changes and resume
  polling when connection is re-established after failures. Fixes #2562.

- Models filtering: hide models with suggested:false unless they are
  downloaded or currently loaded. Fixes #2560.

- AutoOpt rail: add Run Optimizer button and per-run Delete action
  so the panel is actually usable. Fixes #2567.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working web ui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants