Skip to content

2026.10.21: set specs, prices and aliases from the model table - #336

Merged
fylorn merged 2 commits into
devfrom
feat/model-inline-entry
Oct 15, 2026
Merged

fylorn merged 2 commits into
devfrom
feat/model-inline-entry

Conversation

@fylorn

@fylorn fylorn commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Problem

In Edit upstream → Models, a model with an unknown context window shows "—" and one without a price shows "Unpriced", but neither cell does anything. Specs and aliases were only reachable from buttons that appear when hovering a row in the list's model popover, and prices from the Billing section, so the settings looked missing (see #335).

Change

The places that show the problem become entry points. They open the existing dialogs (Model specs, price sheet, new alias), so price sheets and aliases keep their current rules; no new dialogs, config fields or core changes.

Models section (when editing an upstream that is already in the config)

  • Context window cell → Model specs. Unknown reads "Unknown · Set"; a value set by hand is shown in full colour with a tooltip.
  • Price cell → price sheet dialog. Unpriced reads "Unpriced · Set price".
  • Row menu, from the always-visible ⋯ and from right-click (same items): Specs…, Set price…, Add alias…, plus Remove for models added by hand (replacing the separate Remove column).
  • Aliases that list a model are marked after its name.
  • Unchecked models can be set up as well.
  • The unpriced note gets a Set price button; a grey line says how many enabled models have an unknown context window and that clients taken over use their own default.

Set price follows Billing's existing path: a custom sheet opens in edit mode with the model added as an override; on the default sheet a new sheet is created. Two prefills are new: the sheet name defaults to the upstream's name (when free) and the upstream is preselected under "Upstreams using this price sheet". The upstream therefore switches to the new sheet when it is created, and the next Set price edits that sheet instead of creating another.

ModelSpecDialog and AliasDialog now pass the written config version to onSaved, so the edit dialog keeps saving against the latest version (as it already does for the nested price sheet and proxy dialogs).

Upstream list

  • The Models cell shows a dropdown arrow (up while open).
  • The model popover (26rem → 30rem) has an always-visible ⋯ per row with the same menu, marks unpriced models and unknown context windows in the row, and its footer link reads "Manage models…". Right-clicks inside the popover no longer bubble to the upstream row's own context menu.

Verification

  • pnpm typecheck, pnpm vitest run (1211 tests pass), with new cases for unknownContext, catalogOf rows and sheetPrefill.
  • Full-app preview harness: Set price on an upstream using the default sheet creates a sheet named after it with the upstream selected; the row then shows that sheet, and a second Set price opens it in edit mode with the model added. Setting a context window and creating an alias from the Models section update the row (value, alias mark, note count); saving the upstream afterwards succeeds without a version conflict. Right-click in the popover opens only the model's menu. No console errors.

Release

Also bumps the version to 2026.10.21 (package.json, tauri.conf.json, Cargo.toml, Cargo.lock) and adds release-notes/2026.10.21.md, covering this change and #334. Core stays at v0.74.0.

🤖 Generated with Claude Code

fylorn and others added 2 commits October 15, 2026 10:47
The edit dialog's Models section showed an unknown context window ("—")
and "Unpriced" for a model but offered no way to change either; specs and
aliases were only reachable from hover buttons in the list's model popover,
and prices from the Billing section. These are now entry points where the
problem is shown. They open the existing dialogs, so price sheets and
aliases work exactly as before.

- Models section (editing an upstream that is already in the config): the
  context window cell opens Model specs ("Unknown · Set" when unknown); the
  price cell opens the price sheet dialog ("Unpriced · Set price"); a row
  menu (the ⋯ button and right-click, same items) has Specs…, Set price…,
  Add alias…, and Remove for models added by hand; aliases listing a model
  are marked after its name. Unchecked models can be set up too.
- Below the table: the unpriced note gets a Set price button; a grey line
  says how many enabled models have an unknown context window and that
  clients taken over fall back to their own default.
- Set price goes the same way as Billing's: a custom sheet is edited with
  the model added as an override; on the default sheet a new sheet is
  created, now prefilled with the upstream's name and with the upstream
  preselected as its user, so it switches at once and the next Set price
  edits that sheet instead of creating another.
- Model specs and new-alias dialogs report the written config version, so
  the edit dialog keeps saving against the latest one.
- List: the Models cell shows a dropdown arrow; the popover (now 30rem)
  has an always-visible row menu instead of hover-only buttons, marks
  unpriced models and unknown context windows, and its footer reads
  "Manage models…".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fylorn fylorn changed the title Upstream models: set specs, prices and aliases from the model table 2026.10.21: set specs, prices and aliases from the model table Oct 15, 2026
@fylorn
fylorn merged commit 3e7a64d into dev Oct 15, 2026
6 checks passed
@fylorn
fylorn deleted the feat/model-inline-entry branch October 15, 2026 03:18
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant