diff --git a/src/components/onboarding/OnboardingFlow.tsx b/src/components/onboarding/OnboardingFlow.tsx index 6f01796..d1b0837 100644 --- a/src/components/onboarding/OnboardingFlow.tsx +++ b/src/components/onboarding/OnboardingFlow.tsx @@ -97,7 +97,7 @@ function InterestsStep({ onComplete }: { onComplete: () => void }) { return ( What are you into? - Pick a few topics to get your feed started. You can always change this later. + Pick a few topics — we'll suggest them as hashtags to explore.
{INTEREST_TOPICS.map(({ emoji, label, tag }) => { diff --git a/src/hooks/useUpdater.ts b/src/hooks/useUpdater.ts index 80f7943..fbfe513 100644 --- a/src/hooks/useUpdater.ts +++ b/src/hooks/useUpdater.ts @@ -32,7 +32,9 @@ export function useUpdater(): UpdateState { useEffect(() => { invoke("install_info") - .then(setInstallInfo) + // Guard: a null/garbage response must not blow away the optimistic + // default — installInfo is dereferenced unconditionally in the return. + .then((info) => { if (info) setInstallInfo(info); }) .catch(() => { /* keep optimistic default */ }); }, []); diff --git a/src/lib/tauri-dev-mock.ts b/src/lib/tauri-dev-mock.ts index 6ffa05c..0fb0b70 100644 --- a/src/lib/tauri-dev-mock.ts +++ b/src/lib/tauri-dev-mock.ts @@ -29,6 +29,9 @@ if (import.meta.env.DEV && !(window as any).__TAURI_INTERNALS__) { return []; case "db_load_profile": return null; + case "install_info": + // Browser dev mode has no real install — mirror useUpdater's default. + return { can_self_update: true, kind: "updater" }; default: console.warn("[tauri-dev-mock] unhandled invoke:", cmd, args); return null;