diff --git a/src/renderer/hooks/useDesktopEvents.ts b/src/renderer/hooks/useDesktopEvents.ts index 4aba88d3..e0994d67 100644 --- a/src/renderer/hooks/useDesktopEvents.ts +++ b/src/renderer/hooks/useDesktopEvents.ts @@ -13,7 +13,7 @@ export function useDesktopEvents( const store = useAppStore; async function handleGranularBatch(events: GranularEventEntry[]) { - const companyId = store.getState().currentCompanyId; + const companyId = store.getState().snapshot?.currentCompanyId ?? null; if (!companyId) { void refreshRef.current(); return; diff --git a/src/renderer/state/slices/company.ts b/src/renderer/state/slices/company.ts index a33a18f6..72f32a29 100644 --- a/src/renderer/state/slices/company.ts +++ b/src/renderer/state/slices/company.ts @@ -14,14 +14,12 @@ import type { SidebarBadges } from "@shared/contracts"; export interface CompanySlice { snapshot: ProfileSnapshot | null; - currentCompanyId: string | null; companyMetrics: CompanyMetrics | null; standupReport: StandupReport | null; inboxItems: InboxItem[]; badges: SidebarBadges | null; error: string | null; setSnapshot: (snapshot: ProfileSnapshot | null) => void; - setCurrentCompanyId: (id: string | null) => void; setCompanyMetrics: (metrics: CompanyMetrics | null) => void; setStandupReport: (report: StandupReport | null) => void; setInboxItems: (items: InboxItem[]) => void; @@ -46,7 +44,6 @@ export const createCompanySlice: StateCreator< CompanySlice > = (set, get) => ({ snapshot: null, - currentCompanyId: null, companyMetrics: null, standupReport: null, inboxItems: [], @@ -56,10 +53,6 @@ export const createCompanySlice: StateCreator< set((state) => { state.snapshot = snapshot; }), - setCurrentCompanyId: (id) => - set((state) => { - state.currentCompanyId = id; - }), setCompanyMetrics: (metrics) => set((state) => { state.companyMetrics = metrics; @@ -166,7 +159,7 @@ export const createCompanySlice: StateCreator< }), refreshBadges: async () => { - const companyId = get().currentCompanyId; + const companyId = get().snapshot?.currentCompanyId ?? null; if (!companyId) return; try { const result = await window.agentCompany.getSidebarBadges(companyId); diff --git a/tests/unit/store.test.ts b/tests/unit/store.test.ts index cb227aa0..8a3fed56 100644 --- a/tests/unit/store.test.ts +++ b/tests/unit/store.test.ts @@ -495,8 +495,8 @@ describe("CompanySlice patch methods", () => { const mockBadges = { tasks: 5, approvals: 2, runs: 0, messages: 3 }; mockGetSidebarBadges.mockResolvedValue({ ok: true, data: mockBadges }); - // Set current company ID first - useAppStore.getState().setCurrentCompanyId("company-1"); + // Seed snapshot with currentCompanyId -- refreshBadges reads from snapshot + useAppStore.getState().setSnapshot(makeSnapshot()); await useAppStore.getState().refreshBadges();