Repository navigation
2026.10.10: models added by hand, core v0.66.0 - #298
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)
*/?, 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).SetManualModelsis on both allow-lists; Chinese for the five newconfig.manual_model_*codes; screenshot mock updated; the import dialog's label now reads "Models added by hand".providers[].modelsat 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 --lockedpasses);tw-api.tsregenerated 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 bytwcore init0.65.0 and a copy of a real config both passtwcore check0.66.0.🤖 Generated with Claude Code