Skip to content

feat(ui): unify model and backend lifecycle - #11548

Merged
mudler merged 6 commits into
masterfrom
feat/ui-canonical-models-backends
Aug 16, 2026
Merged

feat(ui): unify model and backend lifecycle#11548
mudler merged 6 commits into
masterfrom
feat/ui-canonical-models-backends

Conversation

@localai-bot

Copy link
Copy Markdown
Collaborator

Why

Models had separate gallery and Host management surfaces, while Backends used a nested Host view for installed binaries. The duplication made it unclear where a resource lived and added navigation depth around common lifecycle actions.

This change gives each resource one canonical page. Discovery stays approachable, while installed and runtime controls remain available in context.

What changed

  • /app/models now owns Explore and Installed views with URL-backed search, state, and selection.
  • /app/backends now owns Catalog and Installed views while preserving variants, development builds, and target-node scope.
  • Explore presents capability-aware Open and Manage installation actions. Destructive model controls remain in Installed.
  • Operate Overview now shows host capacity from its shared summary poller. The nested Host destination and obsolete Manage implementation are removed.
  • /app/manage remains compatible through replace redirects that preserve legacy model and backend query state.
  • Narrow list/detail views restore focus to the originating row when users return from detail.
  • Internal links, localization, user documentation, and route regression coverage now follow the canonical pages.
  • Vite development mode binds to 0.0.0.0.
  • .impeccable.md records the approved capable, easy-to-use, and trustworthy UI direction; AGENTS.md indexes it.

Compatibility

This PR does not change the API. Existing /app/manage bookmarks continue to work through the compatibility redirect.

Verification

  • bash .sdd-run-ui-spec.sh449 passed, 4 skipped, 0 failed
  • npm run build — passed
  • npm run lint:inline-styles — passed at the 520 baseline
  • ESLint on every changed JavaScript and JSX file — passed
  • Locale JSON validation — passed
  • git diff --check origin/master...HEAD — passed

Repository-wide npm run lint still reports six pre-existing errors in unchanged e2e/coverage-fixtures.js and src/pages/Chat.jsx. This branch adds no lint errors.

mudler added 6 commits August 16, 2026 06:38
Models now owns catalog exploration and installed runtime controls under one canonical route. URL-owned state keeps lifecycle context recoverable through links and browser history.

Assisted-by: Codex:gpt-5 Playwright
Backends split discovery from backend-binary management. The canonical
page now keeps both lifecycle views under one URL-backed shell while it
preserves target-node placement.

Assisted-by: Codex:gpt-5 Playwright
Installed models lost distributed refreshes and kept a deleted selection. Backend searches also stopped tracking URL changes, while batch upgrades stopped after their first error.

Preserve background refreshes and finish each requested batch action. Drive catalog results from URL-backed state without losing full metadata.

Assisted-by: Codex:gpt-5 [Playwright]
Replace Host navigation with canonical Models and Backends lifecycle routes, preserve legacy management URLs, and surface shared host capacity on the Operate overview.

Assisted-by: Codex:gpt-5 [Playwright]
Finish the responsive list-to-detail behavior, remove the retired Host implementation, and keep Explore focused on discovery while Installed owns destructive actions. Update regression coverage, localization, documentation, and development binding for the canonical resource pages.

Assisted-by: Codex:gpt-5 [Playwright]
Record the approved users, brand character, and design principles so
future interface work uses the same product direction. Index the context
from the repository's agent instructions.

Assisted-by: Codex:gpt-5
@mudler
mudler merged commit 0aaff91 into master Aug 16, 2026
60 of 71 checks passed
@mudler
mudler deleted the feat/ui-canonical-models-backends branch August 16, 2026 09:57
@localai-bot localai-bot added the enhancement New feature or request label Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants