From 7f10a2a201639e8fc17bbdb8114608be24f12fee Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Tue, 1 Oct 2024 15:54:11 -0300 Subject: [PATCH] fix: playground img not working (#3980) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🐛 (model.py): fix issue where message.files was not being updated correctly when image_paths is empty in MessageBase class * 🐛 (model.py): simplify condition for checking if image_paths is not empty to improve readability and maintainability * [autofix.ci] apply automated fixes * 🔧 (OutputParser.py): refactor error message handling for unsupported or missing parser to improve readability and maintainability * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- .../services/database/models/message/model.py | 4 +++- .../tests/core/integrations/Simple Agent.spec.ts | 11 ++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/backend/base/langflow/services/database/models/message/model.py b/src/backend/base/langflow/services/database/models/message/model.py index 8fbbfe057..d7c82b62b 100644 --- a/src/backend/base/langflow/services/database/models/message/model.py +++ b/src/backend/base/langflow/services/database/models/message/model.py @@ -37,7 +37,9 @@ class MessageBase(SQLModel): if hasattr(file, "path") and hasattr(file, "url") and file.path: session_id = message.session_id image_paths.append(f"{session_id}{file.path.split(session_id)[1]}") - message.files = image_paths + if image_paths: + message.files = image_paths + if isinstance(message.timestamp, str): timestamp = datetime.fromisoformat(message.timestamp) else: diff --git a/src/frontend/tests/core/integrations/Simple Agent.spec.ts b/src/frontend/tests/core/integrations/Simple Agent.spec.ts index 26dafbefc..1c7568466 100644 --- a/src/frontend/tests/core/integrations/Simple Agent.spec.ts +++ b/src/frontend/tests/core/integrations/Simple Agent.spec.ts @@ -1,6 +1,7 @@ import { expect, test } from "@playwright/test"; import * as dotenv from "dotenv"; import path from "path"; +import uaParser from "ua-parser-js"; test("Simple Agent", async ({ page }) => { test.skip( @@ -37,6 +38,14 @@ test("Simple Agent", async ({ page }) => { modalCount = await page.getByTestId("modal-title")?.count(); } + const getUA = await page.evaluate(() => navigator.userAgent); + const userAgentInfo = uaParser(getUA); + let control = "Control"; + + if (userAgentInfo.os.name.includes("Mac")) { + control = "Meta"; + } + await page.getByRole("heading", { name: "Simple Agent" }).click(); await page.waitForSelector('[title="fit view"]', { @@ -124,7 +133,7 @@ test("Simple Agent", async ({ page }) => { await page.waitForTimeout(500); - await page.keyboard.press("Control+V"); + await page.keyboard.press(`${control}+V`); await page.waitForTimeout(500);