mirror of
https://github.com/stablyai/orca.git
synced 2026-10-18 00:03:20 +00:00
fix(settings): show "Up to date" for current skills in sidebar
Orchestration and Computer Use showed a green "Installed" badge in the settings sidebar even when freshness tracking knows the copy is current. Add an "up-to-date" nav status so a present, no-update skill reads "Up to date" (pairing with the existing "Update available" state), while Voice — which tracks model readiness, not skill freshness — keeps "Installed".
This commit is contained in:
@@ -216,7 +216,9 @@ function getSkillNavInstallStatus(skill: {
|
||||
if (!skill.installed) {
|
||||
return 'install'
|
||||
}
|
||||
return skill.updateAvailable ? 'update-available' : 'installed'
|
||||
// A freshness-tracked skill that's present with no eligible update is current, so it
|
||||
// reads "Up to date" (pairs with "Update available"). Voice sets 'installed' directly.
|
||||
return skill.updateAvailable ? 'update-available' : 'up-to-date'
|
||||
}
|
||||
|
||||
function hasReadyVoiceModel(
|
||||
|
||||
@@ -155,6 +155,8 @@ export function SettingsSidebar({
|
||||
)
|
||||
case 'installed':
|
||||
return translate('auto.components.settings.AgentSkillSetupPanel.9fcebceb2a', 'Installed')
|
||||
case 'up-to-date':
|
||||
return translate('auto.components.skills.SkillFreshnessStatusPill.upToDate', 'Up to date')
|
||||
case 'update-available':
|
||||
return translate(
|
||||
'auto.components.skills.SkillFreshnessStatusPill.updateAvailable',
|
||||
@@ -167,7 +169,7 @@ export function SettingsSidebar({
|
||||
const installStatusClassName = (status: SettingsNavInstallStatus): string =>
|
||||
cn(
|
||||
'ml-auto shrink-0 rounded-full border px-1.5 py-0.5 text-[10px] font-medium leading-none',
|
||||
status === 'installed'
|
||||
status === 'installed' || status === 'up-to-date'
|
||||
? 'border-status-success-border bg-status-success-background text-status-success'
|
||||
: status === 'update-available'
|
||||
? 'border-amber-500/40 bg-amber-500/10 text-amber-700 dark:text-amber-300'
|
||||
|
||||
@@ -3,7 +3,12 @@ import type { LucideProps } from 'lucide-react'
|
||||
import type { SettingsSearchEntry } from '@/components/settings/settings-search'
|
||||
|
||||
export type SettingsNavIcon = ComponentType<LucideProps>
|
||||
export type SettingsNavInstallStatus = 'install' | 'installed' | 'update-available' | 'checking'
|
||||
export type SettingsNavInstallStatus =
|
||||
| 'install'
|
||||
| 'installed'
|
||||
| 'up-to-date'
|
||||
| 'update-available'
|
||||
| 'checking'
|
||||
|
||||
export type SettingsNavTarget =
|
||||
| 'general'
|
||||
|
||||
Reference in New Issue
Block a user