Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/mobile/src/components/ComposerModelControl.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ export function ComposerModelControl(props: {
/>
)
}
label={label}
label={props.modelOption?.shortLabel ?? label}
iconOnly={props.iconOnly}
suffix={
summary ? (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ export function ModelRowContent(
className="min-w-0 shrink text-base font-t3-medium text-foreground"
numberOfLines={props.labelNumberOfLines}
>
{props.option.label}
{props.option.shortLabel}
</Text>
{props.option.isDefault ? (
<View className="rounded-md bg-subtle-strong px-1.5 py-0.5">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ function modelOption(
return {
key: `codex:${model}`,
label: model,
shortLabel: model,
subtitle: "",
providerKey: "codex",
providerLabel: "Codex",
Expand Down
4 changes: 4 additions & 0 deletions apps/mobile/src/lib/modelOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ import {
export type ModelOption = {
readonly key: string;
readonly label: string;
/** Shown beside the provider's icon, where the provider's own brand would repeat it. */
readonly shortLabel: string;
readonly subtitle: string;
readonly providerKey: string;
readonly providerLabel: string;
Expand Down Expand Up @@ -322,6 +324,7 @@ export function buildModelOptions(
options.set(key, {
key,
label: model.name,
shortLabel: model.shortName ?? model.name,
subtitle: model.subProvider ?? "",
providerKey: provider.instanceId,
providerLabel,
Expand Down Expand Up @@ -387,6 +390,7 @@ export function buildModelOptions(
options.set(key, {
key,
label: model?.name ?? fallbackModelSelection.model,
shortLabel: model?.shortName ?? model?.name ?? fallbackModelSelection.model,
subtitle: model?.subProvider ?? "",
providerKey: fallbackModelSelection.instanceId,
providerLabel,
Expand Down
15 changes: 14 additions & 1 deletion apps/server/src/provider/model-manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": 1,
"updatedAt": "2026-10-26T20:00:36Z",
"updatedAt": "2026-10-27T12:00:00Z",
"compatibility": [
{
"driver": "codex",
Expand Down Expand Up @@ -678,6 +678,7 @@
{
"slug": "claude-opus-5-5",
"name": "Claude Opus 5.5",
"shortName": "Opus 5.5",
"aliases": ["opus", "opus-5.5", "claude-opus-5.5"],
"status": "current",
"profile": "opus-5-5",
Expand All @@ -686,6 +687,7 @@
{
"slug": "claude-sonnet-5-5",
"name": "Claude Sonnet 5.5",
"shortName": "Sonnet 5.5",
"aliases": ["sonnet", "sonnet-5.5", "claude-sonnet-5.5"],
"status": "current",
"profile": "sonnet-5",
Expand All @@ -694,6 +696,7 @@
{
"slug": "claude-fable-5-1",
"name": "Claude Fable 5.1",
"shortName": "Fable 5.1",
"aliases": ["fable", "fable-5.1", "claude-fable-5.1"],
"status": "current",
"profile": "fable-5",
Expand All @@ -706,6 +709,7 @@
{
"slug": "claude-fable-5",
"name": "Claude Fable 5",
"shortName": "Fable 5",
"status": "legacy",
"profile": "fable-5",
"adapter": {
Expand All @@ -717,6 +721,7 @@
{
"slug": "claude-opus-5",
"name": "Claude Opus 5",
"shortName": "Opus 5",
"aliases": ["opus-5", "claude-opus-5.0", "claude-opus-5-0"],
"status": "legacy",
"profile": "opus-5",
Expand All @@ -729,6 +734,7 @@
{
"slug": "claude-opus-4-8",
"name": "Claude Opus 4.8",
"shortName": "Opus 4.8",
"aliases": ["opus-4.8", "claude-opus-4.8"],
"status": "legacy",
"profile": "opus-4-8",
Expand All @@ -741,6 +747,7 @@
{
"slug": "claude-opus-4-7",
"name": "Claude Opus 4.7",
"shortName": "Opus 4.7",
"aliases": ["opus-4.7", "claude-opus-4.7"],
"status": "legacy",
"profile": "opus-4-7",
Expand All @@ -753,33 +760,38 @@
{
"slug": "claude-opus-4-6",
"name": "Claude Opus 4.6",
"shortName": "Opus 4.6",
"aliases": ["opus-4.6", "claude-opus-4.6", "claude-opus-4-6-20251117"],
"status": "legacy",
"profile": "opus-4-6"
},
{
"slug": "claude-opus-4-5",
"name": "Claude Opus 4.5",
"shortName": "Opus 4.5",
"status": "legacy",
"profile": "opus-4-5"
},
{
"slug": "claude-sonnet-5",
"name": "Claude Sonnet 5",
"shortName": "Sonnet 5",
"aliases": ["sonnet-5", "claude-sonnet-5.0", "claude-sonnet-5-0"],
"status": "legacy",
"profile": "sonnet-5"
},
{
"slug": "claude-sonnet-4-6",
"name": "Claude Sonnet 4.6",
"shortName": "Sonnet 4.6",
"aliases": ["sonnet-4.6", "claude-sonnet-4.6", "claude-sonnet-4-6-20251117"],
"status": "legacy",
"profile": "sonnet-4-6"
},
{
"slug": "claude-haiku-5-5",
"name": "Claude Haiku 5.5",
"shortName": "Haiku 5.5",
"aliases": ["haiku", "haiku-5.5", "claude-haiku-5.5"],
"status": "current",
"releasedAt": "2026-10-07",
Expand All @@ -789,6 +801,7 @@
{
"slug": "claude-haiku-4-5",
"name": "Claude Haiku 4.5",
"shortName": "Haiku 4.5",
"aliases": ["haiku-4.5", "claude-haiku-4.5", "claude-haiku-4-5-20251001"],
"status": "legacy",
"profile": "haiku-4-5"
Expand Down
15 changes: 2 additions & 13 deletions apps/web/src/components/chat/ModelListRow.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
import { type ProviderDriverKind, type ProviderInstanceId } from "@t3tools/contracts";
import { memo } from "react";
import { CheckIcon, StarIcon } from "lucide-react";
import {
getDisplayModelName,
getProviderRowLabel,
getTriggerDisplayModelLabel,
} from "./providerIconUtils";
import { getProviderRowLabel, getTriggerDisplayModelName } from "./providerIconUtils";
import { ComboboxItem } from "../ui/combobox";
import { Button } from "../ui/button";
import { Badge } from "../ui/badge";
Expand All @@ -31,8 +27,6 @@ export const ModelListRow = memo(function ModelListRow(props: {
isSelected: boolean;
showSelection?: boolean;
showProvider: boolean;
preferShortName?: boolean;
useTriggerLabel?: boolean;
showNewBadge?: boolean;
unavailable?: boolean;
jumpLabel?: string | null;
Expand Down Expand Up @@ -62,12 +56,7 @@ export const ModelListRow = memo(function ModelListRow(props: {
<div className="min-w-0 flex-1 text-left">
<div className="flex min-w-0 items-center gap-2">
<div className="min-w-0 truncate text-xs font-medium leading-snug redesign:text-sm redesign:font-normal">
{props.useTriggerLabel
? getTriggerDisplayModelLabel(model)
: getDisplayModelName(
model,
props.preferShortName ? { preferShortName: true } : undefined,
)}
{getTriggerDisplayModelName(model)}
</div>
{props.showNewBadge ? (
<span
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Expand Down
2 changes: 0 additions & 2 deletions apps/web/src/components/chat/ModelPickerContent.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1021,8 +1021,6 @@ export const ModelPickerContent = memo(function ModelPickerContent(props: {
}
showSelection={selectedModelKeys !== undefined || redesign}
showProvider={rowsMixProviders || Boolean(model.subProvider)}
preferShortName={!isLocked}
useTriggerLabel={false}
showNewBadge={model.badge === "new"}
unavailable={model.isUnavailable === true}
jumpLabel={modelJumpLabelByKey.get(modelKey) ?? null}
Expand Down
Loading