From 78667b4bcde3309e70c9ef217495fe8fe3bbb5fb Mon Sep 17 00:00:00 2001 From: Moltar Date: Wed, 1 Apr 2026 12:47:07 -0400 Subject: [PATCH] fix(ui): show accurate GPT-5 model badge labels --- web/src/components/CronJobList.jsx | 5 ++++- web/src/components/CronRunHistoryPanel.jsx | 5 ++++- web/src/components/SessionDetailPanel.jsx | 5 ++++- web/src/components/SessionRow.jsx | 5 ++++- web/src/pages/CronJobs.jsx | 5 ++++- web/src/pages/Log.jsx | 5 ++++- 6 files changed, 24 insertions(+), 6 deletions(-) diff --git a/web/src/components/CronJobList.jsx b/web/src/components/CronJobList.jsx index 8c976e2..e1329f1 100644 --- a/web/src/components/CronJobList.jsx +++ b/web/src/components/CronJobList.jsx @@ -93,7 +93,10 @@ function formatModel(model) { if (lower.includes('gemini-2.5-flash-lite')) return 'Gemini Flash Lite'; if (lower.includes('gemini-2.5-flash')) return 'Gemini Flash'; if (lower.includes('gemini-2.5')) return 'Gemini 2.5'; - if (lower.includes('gpt-5')) return 'GPT-5.2'; + if (lower.includes('gpt-5.4')) return 'GPT-5.4'; + if (lower.includes('gpt-5.3')) return lower.includes('codex') ? 'GPT-5.3 Codex' : 'GPT-5.3'; + if (lower.includes('gpt-5.2')) return 'GPT-5.2'; + if (lower.includes('gpt-5')) return 'GPT-5'; if (lower.includes('deepseek')) return 'DeepSeek'; return modelPart; } diff --git a/web/src/components/CronRunHistoryPanel.jsx b/web/src/components/CronRunHistoryPanel.jsx index 83f5ffe..624e5bd 100644 --- a/web/src/components/CronRunHistoryPanel.jsx +++ b/web/src/components/CronRunHistoryPanel.jsx @@ -90,7 +90,10 @@ function formatModel(model) { if (l.includes('gemini-2.5-flash-lite')) return 'Gemini Flash Lite'; if (l.includes('gemini-2.5-flash')) return 'Gemini Flash'; if (l.includes('gemini-2.5')) return 'Gemini 2.5'; - if (l.includes('gpt-5')) return 'GPT-5.2'; + if (l.includes('gpt-5.4')) return 'GPT-5.4'; + if (l.includes('gpt-5.3')) return l.includes('codex') ? 'GPT-5.3 Codex' : 'GPT-5.3'; + if (l.includes('gpt-5.2')) return 'GPT-5.2'; + if (l.includes('gpt-5')) return 'GPT-5'; if (l.includes('deepseek')) return 'DeepSeek'; return part; } diff --git a/web/src/components/SessionDetailPanel.jsx b/web/src/components/SessionDetailPanel.jsx index 90966af..d2c9403 100644 --- a/web/src/components/SessionDetailPanel.jsx +++ b/web/src/components/SessionDetailPanel.jsx @@ -506,7 +506,10 @@ export default function SessionDetailPanel({ isOpen, onClose, session, latestRun if (lower.includes('gemini-2.5-flash-lite')) return 'Gemini Flash Lite'; if (lower.includes('gemini-2.5-flash')) return 'Gemini Flash'; if (lower.includes('gemini-2.5')) return 'Gemini 2.5'; - if (lower.includes('gpt-5')) return 'GPT-5.2'; + if (lower.includes('gpt-5.4')) return 'GPT-5.4'; + if (lower.includes('gpt-5.3')) return lower.includes('codex') ? 'GPT-5.3 Codex' : 'GPT-5.3'; + if (lower.includes('gpt-5.2')) return 'GPT-5.2'; + if (lower.includes('gpt-5')) return 'GPT-5'; if (lower.includes('deepseek')) return 'DeepSeek'; return modelPart; }; diff --git a/web/src/components/SessionRow.jsx b/web/src/components/SessionRow.jsx index ddfc9c4..058942c 100644 --- a/web/src/components/SessionRow.jsx +++ b/web/src/components/SessionRow.jsx @@ -54,7 +54,10 @@ export default function SessionRow({ session, onClick, statusDisplay }) { if (lower.includes('gemini-2.5-flash-lite')) return 'Gemini Flash Lite'; if (lower.includes('gemini-2.5-flash')) return 'Gemini Flash'; if (lower.includes('gemini-2.5')) return 'Gemini 2.5'; - if (lower.includes('gpt-5')) return 'GPT-5.2'; + if (lower.includes('gpt-5.4')) return 'GPT-5.4'; + if (lower.includes('gpt-5.3')) return lower.includes('codex') ? 'GPT-5.3 Codex' : 'GPT-5.3'; + if (lower.includes('gpt-5.2')) return 'GPT-5.2'; + if (lower.includes('gpt-5')) return 'GPT-5'; if (lower.includes('deepseek')) return 'DeepSeek'; return modelPart; }; diff --git a/web/src/pages/CronJobs.jsx b/web/src/pages/CronJobs.jsx index 7943268..efe0aa3 100644 --- a/web/src/pages/CronJobs.jsx +++ b/web/src/pages/CronJobs.jsx @@ -148,7 +148,10 @@ function formatModel(model) { if (lower.includes('gemini-2.5-flash-lite')) return 'Gemini Flash Lite'; if (lower.includes('gemini-2.5-flash')) return 'Gemini 2.5 Flash'; if (lower.includes('gemini-2.5')) return 'Gemini 2.5'; - if (lower.includes('gpt-5')) return 'GPT-5.2'; + if (lower.includes('gpt-5.4')) return 'GPT-5.4'; + if (lower.includes('gpt-5.3')) return lower.includes('codex') ? 'GPT-5.3 Codex' : 'GPT-5.3'; + if (lower.includes('gpt-5.2')) return 'GPT-5.2'; + if (lower.includes('gpt-5')) return 'GPT-5'; if (lower.includes('deepseek-chat')) return 'DeepSeek Chat'; if (lower.includes('deepseek')) return 'DeepSeek'; return modelPart; diff --git a/web/src/pages/Log.jsx b/web/src/pages/Log.jsx index 14e85d6..b93e8d7 100644 --- a/web/src/pages/Log.jsx +++ b/web/src/pages/Log.jsx @@ -206,7 +206,10 @@ function formatModel(model) { if (lower.includes('gemini-2.5-flash-lite')) return 'Gemini Flash Lite'; if (lower.includes('gemini-2.5-flash')) return 'Gemini Flash'; if (lower.includes('gemini-2.5')) return 'Gemini 2.5'; - if (lower.includes('gpt-5')) return 'GPT-5.2'; + if (lower.includes('gpt-5.4')) return 'GPT-5.4'; + if (lower.includes('gpt-5.3')) return lower.includes('codex') ? 'GPT-5.3 Codex' : 'GPT-5.3'; + if (lower.includes('gpt-5.2')) return 'GPT-5.2'; + if (lower.includes('gpt-5')) return 'GPT-5'; if (lower.includes('deepseek')) return 'DeepSeek'; return modelPart; }