Skip to content

2026.10.10: models added by hand, core v0.66.0 - #298

Merged
fylorn merged 2 commits into
devfrom
feat/manual-models
Oct 9, 2026
Merged

fylorn merged 2 commits into
devfrom
feat/manual-models

Conversation

@fylorn

@fylorn fylorn commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Version 2026.10.10 with models added by hand, pinned to core v0.66.0 (control-plane protocol 42). Release notes: release-notes/2026.10.10.md; this release also ships #296 (scan alerts no longer repeat findings that only moved) and #297 (menu bar style Hidden), already on dev.

Models added by hand (ThinkWatch-Core#300)

  • An upstream's model list has Add models…: a dialog with a list input (Enter adds, several at once, checked on the spot: blank, */?, over 256 characters, duplicate, already added, already listed by the upstream). Save sends the whole list with the version from when the dialog opened (SetManualModels, PUT /provider-manual-models).
  • Manual rows carry a Manual tag and a Remove action with Undo; the summary counts listed and added models apart. For an upstream without a list, the same dialog replaces the old manual list textarea.
  • Routing pickers, aliases, the price sheet and the speed test read core's rows, so manual models appear there unchanged. SetManualModels is on both allow-lists; Chinese for the five new config.manual_model_* codes; screenshot mock updated; the import dialog's label now reads "Models added by hand".
  • Upgrade note: core now validates providers[].models at load; entries with */?, padding, duplicates or over 256 characters start the gateway in safe mode.

Release: version 2026.10.10 in the four files; core crates pinned to tag = "v0.66.0" (source strings and version lines only, cargo metadata --locked passes); tw-api.ts regenerated from the tag (identical to the rev it was developed against).

Checks: pnpm typecheck, pnpm test (935), pnpm build, release notes test; cargo fmt --check, cargo clippy --all-targets -D warnings, cargo test (901, control plane against twcore 0.66.0). Upgrade check: a config written by twcore init 0.65.0 and a copy of a real config both pass twcore check 0.66.0.

🤖 Generated with Claude Code

fylorn and others added 2 commits October 9, 2026 11:48
…removable (core protocol 42)

An upstream's list misses models it serves (the ChatGPT account backend
hides new ones from older clients, relays list only part of theirs), and
core used to skip such a model for that upstream even when a rule pinned
it. Core now counts the models in an upstream's `models` as offered next
to the ones it lists (ThinkWatch-Core#300, protocol 42), says which rows
are manual (`ModelRow.manual`, `listed`), and sets the list through
`PUT /provider-manual-models`.

- The model list of an upstream (the Models cell's popover) has an "Add
  models…" action, which opens a dialog with the same list input as the
  allowed ranges: Enter adds, several can be pasted at once, and an empty
  entry, a wildcard, an over-long ID, a duplicate, one already added by
  hand or one the upstream already lists is reported on the spot and stays
  in the input. Save / Cancel; saving sends the whole manual list and
  refreshes the shared `upstream-models:<name>` cache, aliases and known
  models. A failed list (no list from the upstream) offers the same action
  instead of sending people to the edit dialog.
- Rows added by hand carry a small "Manual" tag. Hovering one also shows
  "Remove", which can be undone and does not ask for confirmation. A
  manual model the upstream lists too is still tagged and still removable,
  with a tooltip that says so, so the UI never hides what the manual list
  holds. The summary line splits the counts ("4 listed by the upstream,
  1 added by hand").
- "Manual list" wording becomes "added by hand" (cell note, panel, edit
  dialog, speed test empty state).
- The pinned-model pickers, the price sheet and the speed test read core's
  rows and include manual models without changes.
- Core crates are pinned to the PR's head rev until core is tagged;
  `tw-api.ts` regenerated, `SetManualModels` in both webview allow-lists,
  Chinese for the five new `config.manual_model_*` codes, and the
  screenshot mock follows the new semantics.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hand

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fylorn
fylorn merged commit 866469e into dev Oct 9, 2026
4 checks passed
@fylorn
fylorn deleted the feat/manual-models branch October 9, 2026 04:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant