diff --git a/apps/desktop/src/lib/model-status-label.test.ts b/apps/desktop/src/lib/model-status-label.test.ts index ee942cc772..652d68d484 100644 --- a/apps/desktop/src/lib/model-status-label.test.ts +++ b/apps/desktop/src/lib/model-status-label.test.ts @@ -86,7 +86,9 @@ describe('model-status-label', () => { it('keeps the model pill to name + speed tier; the effort lives on its own pill', () => { expect(formatModelPillLabel('openai/gpt-5.5', { fastMode: true })).toBe('GPT-5.5 · Fast') - expect(formatModelPillLabel('openai/gpt-5.5', { fastMode: true, serviceTier: 'ultrafast' })).toBe('GPT-5.5 · Ultrafast') + expect(formatModelPillLabel('openai/gpt-5.5', { fastMode: true, serviceTier: 'ultrafast' })).toBe( + 'GPT-5.5 · Ultrafast' + ) expect(formatModelPillLabel('anthropic/claude-opus-4.8-fast')).toBe('Opus 4.8 · Fast') expect(formatModelPillLabel('openai/gpt-5.5')).toBe('GPT-5.5') expect(formatModelPillLabel('')).toBe('No model') diff --git a/apps/desktop/src/plugins/hermes-bots/data.bot-meta.test.ts b/apps/desktop/src/plugins/hermes-bots/data.bot-meta.test.ts index 5f24a8fd6f..43f1820096 100644 --- a/apps/desktop/src/plugins/hermes-bots/data.bot-meta.test.ts +++ b/apps/desktop/src/plugins/hermes-bots/data.bot-meta.test.ts @@ -447,6 +447,7 @@ describe("a bot is named by its own backend, never by another bot's cached recor it('the row shows the name its @handle uses when the backend title and display_name differ', () => { $botMeta.set({}) + const thin = { ...vps, connectionLabel: 'VPS', diff --git a/apps/desktop/src/plugins/hermes-bots/data.ts b/apps/desktop/src/plugins/hermes-bots/data.ts index 0ec9c63f8f..46c90a0a39 100644 --- a/apps/desktop/src/plugins/hermes-bots/data.ts +++ b/apps/desktop/src/plugins/hermes-bots/data.ts @@ -847,9 +847,11 @@ async function fetchRosterSnapshot(activeConnectionId: null | string | undefined * snapshot rather than clearing it. */ const previous: RosterRow[] = $lastRoster.get().filter(row => !row?.ghost) const merged = mergeMultiSourceRoster(local, null, activeConnectionId, previous) + const profiles = (merged?.profiles || []).map(row => row?.remoteSource ? { ...row, sourceReachable: false } : row ) + await reconcileBotMeta(profiles, issuedAt) return {