fix(custom-model): merge-time fixes for the promoted-model picker (#459)

The maintainer's promised follow-ups to opticon454's picker promotion,
applied on the landing branch after the merge (ecb95b5d):

- session-ui.js: the promotion tag ("Currently loaded" / "Last used") and
  the "Default" pill are two separate spans, so a promoted row that is
  also the endpoint's defaultModelId shows both instead of silently
  losing its Default marking; two tests pin it (both fail on the old
  exclusive-slot rendering).
- styles.css: a dedicated #customModelPickModal .set-scope rule, since
  the pill was only styled inside the three settings modals and rendered
  as plain body text here; same skin tokens, modal layout untouched.
- docs/wiki/Custom-Model-Endpoints.md: describe the promotion (currently
  loaded, else last used per device), the separate Default pill, and
  that nothing is ever auto-chosen.
- CLAUDE.md + docs/custom-model-endpoints.md: credit the real "Last used"
  writers (_runCustomModelEntryViaRestart and
  _quickStartWithCustomModelConfirm; runCustomModelEntry only dispatches
  since 88e5b7b2) and drop the now-wrong "both defer to Default" sentence.
- Not done: moving the one-shot "last used" write into
  _runCustomModelEntryOneShot, because the existing one-shot tests assert
  that _quickStartWithCustomModelConfirm writes the key itself.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 0cb0f911adc14a852ba5c2951768a4aa87c25657)
This commit is contained in:
Codeman maintainer
2026-09-21 04:30:01 +02:00
parent 6ef71ec3b9
commit d3f2ec0220
6 changed files with 111 additions and 12 deletions
+21
View File
@@ -6869,6 +6869,27 @@ body.touch-device .terminal-container .xterm .xterm-helper-textarea {
min-height: 0;
}
/* The picker's row tags ("Currently loaded", "Last used", "Default") reuse the
settings surface's .set-scope pill, but that pill is styled only inside
:is(#appSettingsModal, #sessionOptionsModal, #createCaseModal) (see the
settings-surface block), so in here it rendered as plain body text and
"qwen3 Currently loaded" read as one model name. Same pill, same skin
tokens (never a hardcoded colour: --text-muted / --border are what each
html[data-skin] block redefines), and nothing about the modal's layout or
z-index. The row is a flex container, so the pills sit after the name
with the row's own gap and the trailing whitespace collapses. */
#customModelPickModal .set-scope {
font-size: 0.52rem;
letter-spacing: 0.06em;
text-transform: uppercase;
border-radius: 4px;
padding: 1px 4px;
white-space: nowrap;
color: var(--text-muted);
border: 1px solid var(--border);
opacity: 0.8;
}
/* Custom Model Endpoint Profiles: llama-swap model-swap confirmation — replaces a native
confirm() popup (docs/custom-model-endpoints-plan.md) so it looks and feels like the
rest of the app instead of a browser chrome dialog. Shares the context-window-too-small