[eric] experimental: quick pill overlay unwired and parked in .claude/slime-parked

This commit is contained in:
ciregenz
2026-08-06 20:50:13 -07:00
parent dbade1b25e
commit d2ff1bdae7
8 changed files with 3 additions and 209 deletions
-12
View File
@@ -211,7 +211,6 @@ const SettingsLoader: React.FC<{ children: React.ReactNode }> = ({ children }) =
const loaded = useAppSelector((s) => s.settings.loaded);
const settled = useAppSelector((s) => s.settings.settled);
const allowExperimentalUpdates = useAppSelector((s) => s.settings.data.allow_experimental_updates);
const overlayPillEnabled = useAppSelector((s) => Boolean((s.settings.data as { overlay_pill_enabled?: boolean }).overlay_pill_enabled));
useEffect(() => {
dispatch(fetchSettings());
dispatch(fetchModels());
@@ -278,17 +277,6 @@ const SettingsLoader: React.FC<{ children: React.ReactNode }> = ({ children }) =
if (!loaded) return;
(window as any).openswarm?.setAllowPrerelease?.(allowExperimentalUpdates);
}, [loaded, allowExperimentalUpdates]);
useEffect(() => {
if (!loaded) return;
(window as any).openswarm?.setOverlayEnabled?.(overlayPillEnabled);
}, [loaded, overlayPillEnabled]);
useEffect(() => {
// Overlay submissions land as a prefilled composer draft, the same seam dictation's no-cursor fallback uses.
const off = (window as any).openswarm?.onOverlaySubmit?.((text: string) => {
window.dispatchEvent(new CustomEvent('openswarm:dictation-fallback', { detail: { text } }));
});
return () => { off?.(); };
}, []);
// Hold paint until the settings fetch SETTLES so the user's theme renders first; Electron's ready-to-show relies on this. Settling, not succeeding: a backend that never answers used to leave a blank window forever.
if (!settled) return null;
return <>{children}</>;
@@ -50,18 +50,6 @@ const GeneralAdvanced: React.FC<{
/>
</Box>
<Box sx={inlineRowSx} {...settingSelectAttrs('overlay_pill_enabled', 'Quick pill overlay', 'Advanced', 'Alt+Space summons a floating ask-anything pill over any app.')}>
<Box sx={{ mr: 3 }}>
<Typography sx={labelSx}>Quick pill overlay</Typography>
<Typography sx={descSx}>Alt+Space summons a floating pill over whatever you are doing; what you type lands in the composer. The slime keeps you company.</Typography>
</Box>
<Switch
checked={form.overlay_pill_enabled === true}
onChange={(e) => setForm({ ...form, overlay_pill_enabled: e.target.checked })}
sx={switchSx}
/>
</Box>
<Box sx={inlineRowLastSx} {...settingSelectAttrs('allow_experimental_updates', 'Experimental updates', 'Advanced', 'Receive pre-release builds with new features earlier.')}>
<Box sx={{ mr: 3 }}>
<Typography sx={labelSx}>Experimental updates</Typography>
@@ -127,6 +115,7 @@ const GeneralAdvanced: React.FC<{
Restart tour
</Button>
</Box>
</>
);
};