diff --git a/app/layout.tsx b/app/layout.tsx index 66db5da..8e706f7 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,3 +1,4 @@ +import { SpeedInsights } from "@vercel/speed-insights/next"; import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import { Toaster } from "sonner"; @@ -81,6 +82,7 @@ export default function RootLayout({ {children} + ); diff --git a/components/multimodal-input.tsx b/components/multimodal-input.tsx index ed62df1..dcd46d8 100644 --- a/components/multimodal-input.tsx +++ b/components/multimodal-input.tsx @@ -323,10 +323,10 @@ function PureMultimodalInput({ if (!input.trim() && attachments.length === 0) { return; } - if (status !== "ready") { - toast.error("Please wait for the model to finish its response!"); - } else { + if (status === "ready") { submitForm(); + } else { + toast.error("Please wait for the model to finish its response!"); } }} > diff --git a/components/toolbar.tsx b/components/toolbar.tsx index b6b4fd0..cfc627d 100644 --- a/components/toolbar.tsx +++ b/components/toolbar.tsx @@ -76,11 +76,11 @@ const Tool = ({ return; } - if (selectedTool !== description) { - setSelectedTool(description); - } else { + if (selectedTool === description) { setSelectedTool(null); onClick({ sendMessage }); + } else { + setSelectedTool(description); } }; diff --git a/lib/editor/diff.js b/lib/editor/diff.js index 696681e..6163e76 100644 --- a/lib/editor/diff.js +++ b/lib/editor/diff.js @@ -253,7 +253,7 @@ export const patchTextNodes = (schema, oldNode, newNode) => { const node = createTextNode( schema, sentence, - type !== DiffType.Unchanged ? [createDiffMark(schema, type)] : [] + type === DiffType.Unchanged ? [] : [createDiffMark(schema, type)] ); return node; }); diff --git a/package.json b/package.json index ce77859..7abcbff 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "@vercel/blob": "^0.24.1", "@vercel/functions": "^2.0.0", "@vercel/otel": "^1.12.0", + "@vercel/speed-insights": "^2.0.0", "@xyflow/react": "^12.10.0", "ai": "6.0.37", "bcrypt-ts": "^5.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cede9a0..fe40d53 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -92,6 +92,9 @@ importers: '@vercel/otel': specifier: ^1.12.0 version: 1.14.0(@opentelemetry/api-logs@0.200.0)(@opentelemetry/api@1.9.0)(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/resources@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-logs@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-metrics@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0)) + '@vercel/speed-insights': + specifier: ^2.0.0 + version: 2.0.0(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.51.0)(react-dom@19.0.1(react@19.0.1))(react@19.0.1))(react@19.0.1) '@xyflow/react': specifier: ^12.10.0 version: 12.10.0(@types/react@18.3.18)(react-dom@19.0.1(react@19.0.1))(react@19.0.1) @@ -2469,6 +2472,32 @@ packages: engines: {node: '>=18.14'} deprecated: '@vercel/postgres is deprecated. If you are setting up a new database, you can choose an alternate storage solution from the Vercel Marketplace. If you had an existing Vercel Postgres database, it should have been migrated to Neon as a native Vercel integration. You can find more details and the guide to migrate to Neon''s SDKs here: https://neon.com/docs/guides/vercel-postgres-transition-guide' + '@vercel/speed-insights@2.0.0': + resolution: {integrity: sha512-jwkNcrTeafWxjmWq4AHBaptSqZiJkYU5adLC9QBSqeim0GcqDMgN5Ievh8OG1rJ6W3A4l1oiP7qr9CWxGuzu3w==} + peerDependencies: + '@sveltejs/kit': ^1 || ^2 + next: '>= 13' + nuxt: '>= 3' + react: ^18 || ^19 || ^19.0.0-rc + svelte: '>= 4' + vue: ^3 + vue-router: ^4 + peerDependenciesMeta: + '@sveltejs/kit': + optional: true + next: + optional: true + nuxt: + optional: true + react: + optional: true + svelte: + optional: true + vue: + optional: true + vue-router: + optional: true + '@xyflow/react@12.10.0': resolution: {integrity: sha512-eOtz3whDMWrB4KWVatIBrKuxECHqip6PfA8fTpaS2RUGVpiEAe+nqDKsLqkViVWxDGreq0lWX71Xth/SPAzXiw==} peerDependencies: @@ -5954,6 +5983,11 @@ snapshots: - utf-8-validate optional: true + '@vercel/speed-insights@2.0.0(next@16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.51.0)(react-dom@19.0.1(react@19.0.1))(react@19.0.1))(react@19.0.1)': + optionalDependencies: + next: 16.0.10(@opentelemetry/api@1.9.0)(@playwright/test@1.51.0)(react-dom@19.0.1(react@19.0.1))(react@19.0.1) + react: 19.0.1 + '@xyflow/react@12.10.0(@types/react@18.3.18)(react-dom@19.0.1(react@19.0.1))(react@19.0.1)': dependencies: '@xyflow/system': 0.0.74