From d59539f197a65bfe44a19687dc7299aa8d1f3bc7 Mon Sep 17 00:00:00 2001 From: Philipinho <16838612+Philipinho@users.noreply.github.com> Date: Sat, 13 Dec 2025 14:15:41 +0000 Subject: [PATCH] fix ai streaming --- apps/client/src/ee/ai/services/ai-search-service.ts | 8 ++++++-- apps/server/src/ee | 2 +- .../integrations/environment/environment.validation.ts | 2 +- packages/editor-ext/src/lib/utils.ts | 3 +-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/client/src/ee/ai/services/ai-search-service.ts b/apps/client/src/ee/ai/services/ai-search-service.ts index 0254f5b2..759a104a 100644 --- a/apps/client/src/ee/ai/services/ai-search-service.ts +++ b/apps/client/src/ee/ai/services/ai-search-service.ts @@ -37,14 +37,18 @@ export async function askAi( let answer = ""; let sources: any[] = []; + let buffer = ""; if (reader) { while (true) { const { done, value } = await reader.read(); if (done) break; - const chunk = decoder.decode(value); - const lines = chunk.split("\n"); + buffer += decoder.decode(value, { stream: true }); + const lines = buffer.split("\n"); + + // Keep the last incomplete line in the buffer + buffer = lines.pop() || ""; for (const line of lines) { if (line.startsWith("data: ")) { diff --git a/apps/server/src/ee b/apps/server/src/ee index 18e00b18..075761c2 160000 --- a/apps/server/src/ee +++ b/apps/server/src/ee @@ -1 +1 @@ -Subproject commit 18e00b18666060e43906740fd28c8a64800637c8 +Subproject commit 075761c2d9bcae7adcc3de4b1c5b8f8c3b315878 diff --git a/apps/server/src/integrations/environment/environment.validation.ts b/apps/server/src/integrations/environment/environment.validation.ts index 752e3d41..5ac1b11b 100644 --- a/apps/server/src/integrations/environment/environment.validation.ts +++ b/apps/server/src/integrations/environment/environment.validation.ts @@ -117,7 +117,7 @@ export class EnvironmentVariables { @IsOptional() @ValidateIf((obj) => obj.AI_EMBEDDING_DIMENSION) - @IsIn(['768', '1024', '1536']) + @IsIn(['768', '1024', '1536', '2000']) @IsString() AI_EMBEDDING_DIMENSION: string; diff --git a/packages/editor-ext/src/lib/utils.ts b/packages/editor-ext/src/lib/utils.ts index a581c581..e4e7fda4 100644 --- a/packages/editor-ext/src/lib/utils.ts +++ b/packages/editor-ext/src/lib/utils.ts @@ -3,7 +3,6 @@ import { Editor, findParentNode, isTextSelection } from "@tiptap/core"; import { Selection, Transaction } from "@tiptap/pm/state"; import { CellSelection, TableMap } from "@tiptap/pm/tables"; import { Node, ResolvedPos } from "@tiptap/pm/model"; -import Table from "@tiptap/extension-table"; import { sanitizeUrl as braintreeSanitizeUrl } from "@braintree/sanitize-url"; import { customAlphabet } from "nanoid"; @@ -289,7 +288,7 @@ export const isColumnGripSelected = ({ const node = nodeDOM || domAtPos; if ( - !editor.isActive(Table.name) || + !editor.isActive("table") || !node || isTableSelected(state.selection) ) {