Skip to content

Commit 2a3e889

Browse files
alari76claude
andauthored
fix: tighten retry regex patterns and dedupe model dropdown entries (#372)
Add word boundary anchors to HTTP status code patterns in API_RETRY_PATTERNS to prevent false matches on strings like "port 5000" or "1500 lines". Filter recent models out of the "All Models" section in the model dropdown to eliminate duplicate entries and dead keyboard navigation positions. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 58d036f commit 2a3e889

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

server/session-manager.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ const API_RETRY_PATTERNS = [
6363
/internal server error/i,
6464
/overloaded/i,
6565
/rate.?limit/i,
66-
/529/,
67-
/500/,
68-
/502/,
69-
/503/,
66+
/\b529\b/,
67+
/\b500\b/,
68+
/\b502\b/,
69+
/\b503\b/,
7070
]
7171

7272
/** Sources that represent headless (non-interactive) sessions managed by their own lifecycles. */

src/components/InputBar.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,12 @@ function ModelDropdown({ currentModel, models, isOpen, menuRef, onToggle, onChan
169169
)
170170
: models
171171

172+
const recentSet = new Set(recents)
173+
const allModelsFiltered = (!query && recents.length > 0)
174+
? filtered.filter(m => !recentSet.has(m.id))
175+
: filtered
172176
const visibleList = (!query && recents.length > 0
173-
? [...recents.map(id => models.find(m => m.id === id)).filter(Boolean) as ModelOption[], ...filtered]
177+
? [...recents.map(id => models.find(m => m.id === id)).filter(Boolean) as ModelOption[], ...allModelsFiltered]
174178
: filtered)
175179

176180
useEffect(() => {
@@ -242,7 +246,7 @@ function ModelDropdown({ currentModel, models, isOpen, menuRef, onToggle, onChan
242246
{!query && (
243247
<div className="px-3 py-1 text-[11px] text-neutral-5">All Models</div>
244248
)}
245-
{filtered.map((m, idx) => {
249+
{allModelsFiltered.map((m, idx) => {
246250
const baseIndex = (!query && recents.length > 0) ? recents.length : 0
247251
const index = baseIndex + idx
248252
return (

0 commit comments

Comments
 (0)