Add title regeneration and improve thread titles - #428
Merged
Tryanks merged 4 commits intoSep 15, 2026
Merged
Conversation
guivieiras
marked this pull request as ready for review
September 14, 2026 04:07
Keep the current activity timestamp when applying generated titles and show a spinner beside the title in wide and compact sidebar layouts.
Tryanks
force-pushed
the
topic/thread-title-regeneration
branch
from
September 14, 2026 17:12
d7b9b67 to
e4b995f
Compare
Tryanks
added a commit
that referenced
this pull request
Sep 15, 2026
Replace the hand-written Claude catalog (models, option descriptors, effort special cases, version gates and the [1m]/context-window table) with the t3code model manifest. A verbatim copy is bundled as the offline fallback; `list_models` refreshes it from t3code main at most hourly (5 min back-off, 10 s timeout, 1 MiB cap), caches the last good copy in the data dir, and skips the network when provider update checks are disabled. A bundle newer by `updatedAt` outranks the cache, and invalid data never replaces a usable manifest. The manifest's `effort` id is translated to `reasoningEffort` at the boundary; effortMap drives the --effort flag, modelSuffixes the [1m] suffix, and contextWindowTokens/fixedContextWindowTokens the window a selection resolves to. Upstream data is adopted wholesale, so some defaults change (Fable 5.1 effort medium, Sonnet 5 window 200k, Opus 4.7 and 4.8 fixed 1M without a selector, fastMode on Opus 4.5–4.8 and Opus 5). Also initialises the `title_generating` field in a sidebar test fixture that no longer compiled after #428. Co-authored-by: Tryanks <tryanks473@gmail.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.
Adds Regenerate title to the thread menu in wide and compact layouts. It uses the original request and recent conversation, shows a loading spinner, and preserves the thread's activity timestamp and position. The host tracks pending requests so duplicate clicks across clients share one generation. Failures keep the old title and show an error.
The naming prompt now asks the model to describe the user's main task and leave out instructions about tools or workflow. For example, "Fix QR expiration, use subagents, and open a PR" should produce a title like "Fix QR Link Expiration". It also tells the model to use the language of the user's request, ignoring profile details such as name or timezone.
Captures use a scripted provider. The thread stays below the recent conversation and retains its "1d ago" timestamp after completion.
Validation covers bounded context, stored and cached history, duplicate requests, renamed/deleted threads, failures, and timestamp preservation.
cargo fmt --all --check,cargo build --workspace --locked,cargo test --workspace --locked(1,118 passed, five existing ignored), andcargo machete0.9.2.RUSTFLAGS='-D warnings'.cargo clippy --workspace --all-targets --locked -- -D warningsreports five existing warnings incommand_validation.rs,ui/store/mod.rs, andterminal_drawer.rs; those blocks match upstream.