diff --git a/apps/web/src/context/Chats/useGetChat.ts b/apps/web/src/context/Chats/useGetChat.ts
index dbddd5203..c08ab0c2d 100644
--- a/apps/web/src/context/Chats/useGetChat.ts
+++ b/apps/web/src/context/Chats/useGetChat.ts
@@ -3,9 +3,9 @@ import { useGetChat } from '../../api/buster_rest/chats';
const stableHasLoadedChat = (x: IBusterChat) => !!x.id;
export const useHasLoadedChat = ({ chatId }: { chatId: string }) => {
- const { data: hasLoadedChat } = useGetChat(
+ const { data: hasLoadedChat, isFetched } = useGetChat(
{ id: chatId },
- { select: stableHasLoadedChat, notifyOnChangeProps: ['data'] }
+ { select: stableHasLoadedChat, notifyOnChangeProps: ['data', 'isFetched'] }
);
- return hasLoadedChat;
+ return hasLoadedChat && isFetched;
};
diff --git a/apps/web/src/controllers/DatasetsListController/DatasetsHeader.tsx b/apps/web/src/controllers/DatasetsListController/DatasetsHeader.tsx
index 06291823a..2d93765a7 100644
--- a/apps/web/src/controllers/DatasetsListController/DatasetsHeader.tsx
+++ b/apps/web/src/controllers/DatasetsListController/DatasetsHeader.tsx
@@ -37,8 +37,6 @@ export const DatasetHeader: React.FC<{
setOpenNewDatasetModal(true);
};
- useHotkeys('d', onOpenNewDatasetModal);
-
return (
<>
diff --git a/apps/web/src/controllers/HomePage/NewChatInput.tsx b/apps/web/src/controllers/HomePage/NewChatInput.tsx
index e025c2edb..4d9ddbbf9 100644
--- a/apps/web/src/controllers/HomePage/NewChatInput.tsx
+++ b/apps/web/src/controllers/HomePage/NewChatInput.tsx
@@ -30,6 +30,8 @@ export const NewChatInput: React.FC<{
});
const onChange = useMemoizedFn((e: ChangeEvent) => {
+ e.preventDefault();
+ e.stopPropagation();
setInputValue(e.target.value);
});
diff --git a/apps/web/src/integrations/tanstack-dev-tools/images/image1.png b/apps/web/src/integrations/tanstack-dev-tools/images/image1.png
new file mode 100644
index 000000000..e7038b18f
Binary files /dev/null and b/apps/web/src/integrations/tanstack-dev-tools/images/image1.png differ
diff --git a/apps/web/src/integrations/tanstack-dev-tools/images/image2.png b/apps/web/src/integrations/tanstack-dev-tools/images/image2.png
new file mode 100644
index 000000000..63d95516b
Binary files /dev/null and b/apps/web/src/integrations/tanstack-dev-tools/images/image2.png differ
diff --git a/apps/web/src/integrations/tanstack-dev-tools/images/image3.png b/apps/web/src/integrations/tanstack-dev-tools/images/image3.png
new file mode 100644
index 000000000..165807329
Binary files /dev/null and b/apps/web/src/integrations/tanstack-dev-tools/images/image3.png differ
diff --git a/apps/web/src/integrations/tanstack-dev-tools/images/image4.png b/apps/web/src/integrations/tanstack-dev-tools/images/image4.png
new file mode 100644
index 000000000..f7f0b4936
Binary files /dev/null and b/apps/web/src/integrations/tanstack-dev-tools/images/image4.png differ
diff --git a/apps/web/src/integrations/tanstack-dev-tools/images/image5.png b/apps/web/src/integrations/tanstack-dev-tools/images/image5.png
new file mode 100644
index 000000000..719328f73
Binary files /dev/null and b/apps/web/src/integrations/tanstack-dev-tools/images/image5.png differ
diff --git a/apps/web/src/integrations/tanstack-dev-tools/images/image6.png b/apps/web/src/integrations/tanstack-dev-tools/images/image6.png
new file mode 100644
index 000000000..ab62ead4f
Binary files /dev/null and b/apps/web/src/integrations/tanstack-dev-tools/images/image6.png differ
diff --git a/apps/web/src/integrations/tanstack-dev-tools/images/image7.png b/apps/web/src/integrations/tanstack-dev-tools/images/image7.png
new file mode 100644
index 000000000..a68e0de6c
Binary files /dev/null and b/apps/web/src/integrations/tanstack-dev-tools/images/image7.png differ
diff --git a/apps/web/src/integrations/tanstack-dev-tools/tanstack-devtools-impl.tsx b/apps/web/src/integrations/tanstack-dev-tools/tanstack-devtools-impl.tsx
index 88a7c01b3..7311cde4e 100644
--- a/apps/web/src/integrations/tanstack-dev-tools/tanstack-devtools-impl.tsx
+++ b/apps/web/src/integrations/tanstack-dev-tools/tanstack-devtools-impl.tsx
@@ -1,10 +1,22 @@
import { ClientOnly } from '@tanstack/react-router';
-import React, { lazy, Suspense } from 'react';
+import sample from 'lodash/sample';
+import React, { lazy, Suspense, useState } from 'react';
import { useMount } from '@/hooks/useMount';
import { isServer } from '@/lib/window';
+import image1 from './images/image1.png';
+import image2 from './images/image2.png';
+import image3 from './images/image3.png';
+import image4 from './images/image4.png';
+import image5 from './images/image5.png';
+import image6 from './images/image6.png';
+import image7 from './images/image7.png';
const isProduction = import.meta.env.PROD;
+const arrayOfImages = [image1, image2, image3, image4, image5, image6, image7];
+
+const randomImage = sample(arrayOfImages);
+
// Only create lazy components if we're in the browser
const LazyTanstackDevtools = !import.meta.env.SSR
? lazy(() =>
@@ -80,7 +92,8 @@ const TanstackDevtoolsImpl: React.FC = React.memo(() => {
position: 'bottom-left',
hideUntilHover: true,
defaultOpen: false,
- openHotkey: ['Shift', 'D', 'T'],
+ openHotkey: ['Meta', 'D'],
+ triggerImage: randomImage,
}}
plugins={[
{
diff --git a/apps/web/src/integrations/tanstack-dev-tools/tanstack-devtools.tsx b/apps/web/src/integrations/tanstack-dev-tools/tanstack-devtools.tsx
index bf615740b..bf401db29 100644
--- a/apps/web/src/integrations/tanstack-dev-tools/tanstack-devtools.tsx
+++ b/apps/web/src/integrations/tanstack-dev-tools/tanstack-devtools.tsx
@@ -34,7 +34,7 @@ export const TanstackDevtools: React.FC = React.memo(() => {
console.log('🐓 Setting useDevTools to true');
setUseDevTools(true);
},
- { enabled: ENABLE_TANSTACK_PANEL }
+ { enabled: ENABLE_TANSTACK_PANEL, preventDefault: true }
);
if (!ENABLE_TANSTACK_PANEL || !mounted || !useDevTools) {
diff --git a/apps/web/src/layouts/ChatLayout/ChatContent/ChatInput/ChatInput.tsx b/apps/web/src/layouts/ChatLayout/ChatContent/ChatInput/ChatInput.tsx
index 61b40ca3e..3518bf071 100644
--- a/apps/web/src/layouts/ChatLayout/ChatContent/ChatInput/ChatInput.tsx
+++ b/apps/web/src/layouts/ChatLayout/ChatContent/ChatInput/ChatInput.tsx
@@ -33,6 +33,8 @@ export const ChatInput: React.FC = React.memo(() => {
});
const onChange = (e: ChangeEvent) => {
+ e.preventDefault();
+ e.stopPropagation();
setInputValue(e.target.value);
};
diff --git a/apps/web/src/layouts/ChatLayout/ChatLayoutContext/useAutoRedirectStreaming.ts b/apps/web/src/layouts/ChatLayout/ChatLayoutContext/useAutoRedirectStreaming.ts
index 7926f7bd4..1ab5d48db 100644
--- a/apps/web/src/layouts/ChatLayout/ChatLayoutContext/useAutoRedirectStreaming.ts
+++ b/apps/web/src/layouts/ChatLayout/ChatLayoutContext/useAutoRedirectStreaming.ts
@@ -20,7 +20,6 @@ export const useAutoRedirectStreaming = ({
}) => {
const navigate = useNavigate();
const getChatMessageMemoized = useGetChatMessageMemoized();
- const location = useLocation();
const isStreamFinished = useGetChatMessageCompleted({ messageId: lastMessageId });
const lastReasoningMessageId = useGetChatMessageLastReasoningMessageId({
messageId: lastMessageId,
@@ -40,7 +39,7 @@ export const useAutoRedirectStreaming = ({
//streaming logic to redirect
useEffect(() => {
- if (!hasLoadedChat || !chatId || isStreamFinished) {
+ if (!hasLoadedChat || !chatId) {
return;
}