perf: remove idle background polling hooks
This commit is contained in:
+20
-27
@@ -19,8 +19,6 @@ import { usePushVisibilityBeacon } from '@/hooks/usePushVisibilityBeacon';
|
|||||||
import { usePwaManifestSync } from '@/hooks/usePwaManifestSync';
|
import { usePwaManifestSync } from '@/hooks/usePwaManifestSync';
|
||||||
import { usePwaInstallPrompt } from '@/hooks/usePwaInstallPrompt';
|
import { usePwaInstallPrompt } from '@/hooks/usePwaInstallPrompt';
|
||||||
import { useWindowTitle } from '@/hooks/useWindowTitle';
|
import { useWindowTitle } from '@/hooks/useWindowTitle';
|
||||||
import { useGitHubPrBackgroundTracking } from '@/hooks/useGitHubPrBackgroundTracking';
|
|
||||||
import { GitPollingProvider } from '@/hooks/useGitPolling';
|
|
||||||
import { useConfigStore } from '@/stores/useConfigStore';
|
import { useConfigStore } from '@/stores/useConfigStore';
|
||||||
import { hasModifier } from '@/lib/utils';
|
import { hasModifier } from '@/lib/utils';
|
||||||
import { isDesktopLocalOriginActive, isDesktopShell } from '@/lib/desktop';
|
import { isDesktopLocalOriginActive, isDesktopShell } from '@/lib/desktop';
|
||||||
@@ -142,12 +140,9 @@ const SyncOptimisticBridge: React.FC = () => {
|
|||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
function SyncAppEffects({ apis, embeddedBackgroundWorkEnabled }: {
|
function SyncAppEffects({ embeddedBackgroundWorkEnabled }: {
|
||||||
apis: RuntimeAPIs;
|
|
||||||
embeddedBackgroundWorkEnabled: boolean;
|
embeddedBackgroundWorkEnabled: boolean;
|
||||||
}) {
|
}) {
|
||||||
const githubApi = embeddedBackgroundWorkEnabled ? apis.github : undefined;
|
|
||||||
useGitHubPrBackgroundTracking(githubApi, apis.git);
|
|
||||||
usePwaManifestSync();
|
usePwaManifestSync();
|
||||||
useSessionAutoCleanup(embeddedBackgroundWorkEnabled);
|
useSessionAutoCleanup(embeddedBackgroundWorkEnabled);
|
||||||
useQueuedMessageAutoSend(embeddedBackgroundWorkEnabled);
|
useQueuedMessageAutoSend(embeddedBackgroundWorkEnabled);
|
||||||
@@ -532,7 +527,7 @@ function App({ apis }: AppProps) {
|
|||||||
<TooltipProvider delayDuration={700} skipDelayDuration={150}>
|
<TooltipProvider delayDuration={700} skipDelayDuration={150}>
|
||||||
<div className="h-full text-foreground bg-background">
|
<div className="h-full text-foreground bg-background">
|
||||||
<EmbeddedSessionSelectionGate embeddedSessionChat={embeddedSessionChat} isVSCodeRuntime={isVSCodeRuntime} />
|
<EmbeddedSessionSelectionGate embeddedSessionChat={embeddedSessionChat} isVSCodeRuntime={isVSCodeRuntime} />
|
||||||
<SyncAppEffects apis={apis} embeddedBackgroundWorkEnabled={embeddedBackgroundWorkEnabled} />
|
<SyncAppEffects embeddedBackgroundWorkEnabled={embeddedBackgroundWorkEnabled} />
|
||||||
<ChatView />
|
<ChatView />
|
||||||
<Toaster />
|
<Toaster />
|
||||||
</div>
|
</div>
|
||||||
@@ -557,7 +552,7 @@ function App({ apis }: AppProps) {
|
|||||||
<RuntimeAPIProvider apis={apis}>
|
<RuntimeAPIProvider apis={apis}>
|
||||||
<TooltipProvider delayDuration={700} skipDelayDuration={150}>
|
<TooltipProvider delayDuration={700} skipDelayDuration={150}>
|
||||||
<div className="h-full text-foreground bg-background">
|
<div className="h-full text-foreground bg-background">
|
||||||
<SyncAppEffects apis={apis} embeddedBackgroundWorkEnabled={embeddedBackgroundWorkEnabled} />
|
<SyncAppEffects embeddedBackgroundWorkEnabled={embeddedBackgroundWorkEnabled} />
|
||||||
<AgentManagerView />
|
<AgentManagerView />
|
||||||
<Toaster />
|
<Toaster />
|
||||||
</div>
|
</div>
|
||||||
@@ -575,7 +570,7 @@ function App({ apis }: AppProps) {
|
|||||||
<FireworksProvider>
|
<FireworksProvider>
|
||||||
<TooltipProvider delayDuration={700} skipDelayDuration={150}>
|
<TooltipProvider delayDuration={700} skipDelayDuration={150}>
|
||||||
<div className="h-full text-foreground bg-background">
|
<div className="h-full text-foreground bg-background">
|
||||||
<SyncAppEffects apis={apis} embeddedBackgroundWorkEnabled={embeddedBackgroundWorkEnabled} />
|
<SyncAppEffects embeddedBackgroundWorkEnabled={embeddedBackgroundWorkEnabled} />
|
||||||
<VSCodeLayout />
|
<VSCodeLayout />
|
||||||
<Toaster />
|
<Toaster />
|
||||||
</div>
|
</div>
|
||||||
@@ -591,24 +586,22 @@ function App({ apis }: AppProps) {
|
|||||||
<ErrorBoundary>
|
<ErrorBoundary>
|
||||||
<SyncProvider sdk={opencodeClient.getSdkClient()} directory={currentDirectory || ''}>
|
<SyncProvider sdk={opencodeClient.getSdkClient()} directory={currentDirectory || ''}>
|
||||||
<RuntimeAPIProvider apis={apis}>
|
<RuntimeAPIProvider apis={apis}>
|
||||||
<GitPollingProvider>
|
<FireworksProvider>
|
||||||
<FireworksProvider>
|
<VoiceProvider>
|
||||||
<VoiceProvider>
|
<TooltipProvider delayDuration={700} skipDelayDuration={150}>
|
||||||
<TooltipProvider delayDuration={700} skipDelayDuration={150}>
|
<div className={isDesktopRuntime ? 'h-full text-foreground bg-transparent' : 'h-full text-foreground bg-background'}>
|
||||||
<div className={isDesktopRuntime ? 'h-full text-foreground bg-transparent' : 'h-full text-foreground bg-background'}>
|
<SyncAppEffects embeddedBackgroundWorkEnabled={embeddedBackgroundWorkEnabled} />
|
||||||
<SyncAppEffects apis={apis} embeddedBackgroundWorkEnabled={embeddedBackgroundWorkEnabled} />
|
<MainLayout />
|
||||||
<MainLayout />
|
<Toaster />
|
||||||
<Toaster />
|
<ConfigUpdateOverlay />
|
||||||
<ConfigUpdateOverlay />
|
<AboutDialogWrapper />
|
||||||
<AboutDialogWrapper />
|
{showMemoryDebug && (
|
||||||
{showMemoryDebug && (
|
<MemoryDebugPanel onClose={() => setShowMemoryDebug(false)} />
|
||||||
<MemoryDebugPanel onClose={() => setShowMemoryDebug(false)} />
|
)}
|
||||||
)}
|
</div>
|
||||||
</div>
|
</TooltipProvider>
|
||||||
</TooltipProvider>
|
</VoiceProvider>
|
||||||
</VoiceProvider>
|
</FireworksProvider>
|
||||||
</FireworksProvider>
|
|
||||||
</GitPollingProvider>
|
|
||||||
</RuntimeAPIProvider>
|
</RuntimeAPIProvider>
|
||||||
</SyncProvider>
|
</SyncProvider>
|
||||||
</ErrorBoundary>
|
</ErrorBoundary>
|
||||||
|
|||||||
@@ -948,7 +948,7 @@ export const MainLayout: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<BottomTerminalDock isOpen={isBottomTerminalOpen} isMobile={isMobile}>
|
<BottomTerminalDock isOpen={isBottomTerminalOpen} isMobile={isMobile}>
|
||||||
<ErrorBoundary><TerminalView /></ErrorBoundary>
|
{isBottomTerminalOpen ? <ErrorBoundary><TerminalView /></ErrorBoundary> : null}
|
||||||
</BottomTerminalDock>
|
</BottomTerminalDock>
|
||||||
</div>
|
</div>
|
||||||
<RightSidebar
|
<RightSidebar
|
||||||
|
|||||||
Reference in New Issue
Block a user