From 6226c42aa7e4e212a8021a626bb9667d1a92fe48 Mon Sep 17 00:00:00 2001 From: Omkar Bansod Date: Thu, 23 Oct 2025 17:09:22 +0530 Subject: [PATCH] fix(newtab): eliminate 8-10s lag in search providers --- src/newtab/stores/providerStore.ts | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/src/newtab/stores/providerStore.ts b/src/newtab/stores/providerStore.ts index a9339da7..e1338b7e 100644 --- a/src/newtab/stores/providerStore.ts +++ b/src/newtab/stores/providerStore.ts @@ -24,8 +24,8 @@ export const ProviderSchema = z.object({ export type Provider = z.infer -const CHAT_PROVIDER_READY_TIMEOUT_MS = 8000 -const CHAT_PROVIDER_POST_LOAD_DELAY_MS = 400 +const CHAT_PROVIDER_READY_TIMEOUT_MS = 3000 +const CHAT_PROVIDER_POST_LOAD_DELAY_MS = 200 const DEFAULT_PROVIDERS: Provider[] = [ { @@ -41,12 +41,9 @@ const DEFAULT_PROVIDERS: Provider[] = [ name: 'ChatGPT', category: 'llm', actionType: 'url', - urlPattern: 'https://chatgpt.com', + urlPattern: 'https://chatgpt.com/?q=%s', available: true, openIn: 'newTab', - autoSubmit: true, - submitKey: 'Enter', - focusBeforeSubmit: true, iconUrl: '/assets/new_tab_search/openai.svg' }, { @@ -54,12 +51,9 @@ const DEFAULT_PROVIDERS: Provider[] = [ name: 'Claude', category: 'llm', actionType: 'url', - urlPattern: 'https://claude.ai/new', + urlPattern: 'https://claude.ai/new?q=%s', available: true, openIn: 'newTab', - autoSubmit: true, - submitKey: 'Enter', - focusBeforeSubmit: true, iconUrl: '/assets/new_tab_search/claude.svg' }, { @@ -67,12 +61,9 @@ const DEFAULT_PROVIDERS: Provider[] = [ name: 'Google', category: 'search', actionType: 'url', - urlPattern: 'https://www.google.com', + urlPattern: 'https://www.google.com/search?q=%s', available: true, openIn: 'newTab', - autoSubmit: true, - submitKey: 'Enter', - focusBeforeSubmit: true, iconUrl: '/assets/new_tab_search/google.svg' } ] @@ -564,7 +555,7 @@ export const useProviderStore = create()( } } - const needsDomWork = Boolean(tabId != null && (!hasPlaceholder || provider.autoSubmit)) + const needsDomWork = Boolean(tabId != null && !hasPlaceholder) let queryInjected = false if (needsDomWork && tabId != null) { @@ -599,8 +590,8 @@ export const useProviderStore = create()( queryInjected = await injectQuery(); if (!queryInjected) { - for (let attempt = 0; attempt < 5 && !queryInjected; attempt++) { - await new Promise(resolve => setTimeout(resolve, 400)); + for (let attempt = 0; attempt < 2 && !queryInjected; attempt++) { + await new Promise(resolve => setTimeout(resolve, 200)); queryInjected = await injectQuery(); } }