Skip to content

a11y: Model preset update while loaded #2356

Description

@fl0rianr

Scope

Task

Allow users to change the preset of a loaded model without first unloading and reloading the model manually.

Currently, changing the preset requires unloading the model and loading it again. This should be replaced by a dedicated Update preset flow.

Expected behavior

Loaded model preset update

When a model is already loaded, the user should be able to change the preset as well.

Once a new preset is selected while the model is loaded, an Update preset button should appear next to the Unload button.

The user can then click Update preset to apply the selected preset to the loaded model.

Update preset mode

The Update preset mode is central and must support two types of preset changes:

Changes that do not require a reload

Preset changes that can be applied live should be updated directly.

Example:

  • system prompt changes

These changes should be applied without unloading or reloading the model.

Changes that require a reload

Preset changes that cannot be applied live should trigger a reload flow.

Examples may include larger runtime-affecting changes such as:

  • model parameters that require reinitialization
  • backend/runtime configuration changes
  • changes that cannot safely be applied to an already loaded model

In these cases, clicking Update preset should perform the required reload automatically, instead of requiring the user to manually unload and load the model again.

Lemonade tools support

The same Update preset mode must also be available through Lemonade tools.

When the user asks Lemonade to change the preset, for example:

change the preset

Lemonade should use the same update logic:

  • apply live-updateable preset changes directly
  • trigger a reload when the selected preset change requires it
  • avoid requiring the user to manually unload and reload the model

The tool flow must match the UI behavior so that preset updates behave consistently whether triggered by direct UI interaction or through Lemonade tools.

Acceptance criteria

  • A loaded model no longer has to be manually unloaded and reloaded just to change its preset

  • Selecting a different preset while the model is loaded enables an Update preset button

  • The Update preset button appears next to the Unload button

  • Clicking Update preset applies preset changes that do not require a reload directly

  • System prompt changes are applied without reloading the model

  • Clicking Update preset triggers a reload when the selected preset change requires it

  • Reload-requiring preset changes are handled automatically without forcing the user to manually unload and load the model

  • The same update preset mode is exposed through Lemonade tools

  • Lemonade tool requests such as “change the preset” use the same update logic as the UI

  • UI-triggered and tool-triggered preset updates behave consistently

  • Programmatic semantics verified for screen readers:

    • roles
    • accessible names
    • states
  • Keyboard operability verified where applicable

  • Playwright/axe-core a11y tests cover the change

  • All tests pass with npm test

  • Progress and challenges recorded as comments on this issue

  • PR opened against kpoin/ui-testing

Tracked by Squad. Assigned: @squad:mattingly (UI/Frontend), QA: Haise, review: Lovell.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestsquadSquad triage inbox — Lead will assign to a membersquad:mattinglyAssigned to ⚛️ Mattingly (UI / Frontend)web ui

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions