Commit Graph

227 Commits

Author SHA1 Message Date
Henry Heng aa0984e802 Bugfix/Tool node selected tool (#4578)
fix tool node selected tool
2025-06-04 13:44:09 +01:00
Henry Heng 5a37227d14 Chore/refractor (#4454)
* markdown files and env examples cleanup

* components update

* update jsonlines description

* server refractor

* update telemetry

* add execute custom node

* add ui refractor

* add username and password authenticate

* correctly retrieve past images in agentflowv2

* disable e2e temporarily

* add existing username and password authenticate

* update migration to default workspace

* update todo

* blob storage migrating

* throw error on agent tool call error

* add missing execution import

* add referral

* chore: add error message when importData is undefined

* migrate api keys to db

* fix: data too long for column executionData

* migrate api keys from json to db at init

* add info on account setup

* update docstore missing fields

---------

Co-authored-by: chungyau97 <chungyau97@gmail.com>
2025-05-27 07:29:42 +01:00
Henry Heng 7924fbce0d Feature/agentflow v2 (#4298)
* agent flow v2

* chat message background

* conditon agent flow

* add sticky note

* update human input dynamic prompt

* add HTTP node

* add default tool icon

* fix export duplicate agentflow v2

* add agentflow v2 marketplaces

* refractor memoization, add iteration nodes

* add agentflow v2 templates

* add agentflow generator

* add migration scripts for mysql, mariadb, posrgres and fix date filters for executions

* update agentflow chat history config

* fix get all flows error after deletion and rename

* add previous nodes from parent node

* update generator prompt

* update run time state when using iteration nodes

* prevent looping connection, prevent duplication of start node, add executeflow node, add nodes agentflow, chat history variable

* update embed

* convert form input to string

* bump openai version

* add react rewards

* add prompt generator to prediction queue

* add array schema to overrideconfig

* UI touchup

* update embedded chat version

* fix node info dialog

* update start node and loop default iteration

* update UI fixes for agentflow v2

* fix async drop down

* add export import to agentflowsv2, executions, fix UI bugs

* add default empty object to flowlisttable

* add ability to share trace link publicly, allow MCP tool use for Agent and Assistant

* add runtime message length to variable, display conditions on UI

* fix array validation

* add ability to add knowledge from vector store and embeddings for agent

* add agent tool require human input

* add ephemeral memory to start node

* update agent flow node to show vs and embeddings icons

* feat: add import chat data functionality for AgentFlowV2

* feat: set chatMessage.executionId to null if not found in import JSON file or database

* fix: MariaDB execution migration script to utf8mb4_unicode_520_ci

---------

Co-authored-by: Ong Chung Yau <33013947+chungyau97@users.noreply.github.com>
Co-authored-by: chungyau97 <chungyau97@gmail.com>
2025-05-10 10:21:26 +08:00
allen c318fc57e9 Feat: Support Google Cloud Storage (#4061)
* support google cloud storage

* update example and docs for supporting google cloud storage

* recover the indent of pnpm-lock-yaml

* populate the logs to google logging

* normalize gcs storage paths

---------

Co-authored-by: Ilango <rajagopalilango@gmail.com>
Co-authored-by: Henry <hzj94@hotmail.com>
2025-04-14 22:52:54 +08:00
Henry Heng d53b1b657f Bugfix/Prevent empty user message when using STT (#4280)
prevent empty user message when using STT
2025-04-11 13:15:17 +08:00
Ilango 36870e94d4 Update how credential data is saved in db when using aws secrets manager (#4271)
* Update how credential data is saved in db when using aws secrets manager

* Run lint-fix and update env example
2025-04-09 14:07:18 +05:30
Henry Heng b988cae58c Bugfix/Prevent transforming double curly brackets (#4252)
prevent transforming double curly brackets
2025-04-04 16:19:04 +08:00
Boris Feld dd56d03b78 feat: Add Opik Tracer integration (#4194)
This update adds support for Opik tracer in Flowise. It includes new
credential components, analytic nodes, and UI assets for both tracers. The
changes enhance observability by allowing users to integrate Opik for better
model monitoring, analysis and evaluation.
2025-04-03 15:57:54 +08:00
jonSuits 9957184680 Add Detailed Streaming to the Tool Agent (#4155)
* Add Detailed Streaming to the Tool Agent

* lint fix

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2025-04-03 01:14:35 +08:00
Sarge Joseph 2b9a1ae316 Add an Ollama baseUrl in chatflow configuration for Follow-up prompts (#4169)
Add abn Ollama baseUrl in chatflow configuration for Follow-up prompts
2025-03-13 19:59:27 +00:00
Henry Heng c2b830f279 Bugfix/arbitrary create attachemnt file upload (#4171)
fix arbitrary create attachemnt file upload
2025-03-13 19:46:27 +00:00
Henry Heng 9d9aaaa886 Bugfix/S3 Credentials (#4166)
only set s3 credentials when access key and secret key exist
2025-03-12 22:21:05 +00:00
Henry Heng 713ed26971 Feature/MCP (Model Context Protocol) (#4134)
add mcp tools
2025-03-06 13:57:18 +00:00
Henry Heng a8d74336dd Bugfix/Add date input type for custom tool (#4087)
add date input type for custom tool
2025-02-26 15:37:25 +00:00
Ali Saleh 0e10952b45 feat: Add Arize & Phoenix Tracer Integration (#4046)
Added Arize Phoenix Tracer

Co-authored-by: Ilango <ilango.rajagopal@flowiseai.com>
2025-02-24 20:11:30 +05:30
Henry Heng a0b4abdd13 Feature/update openai version, add reasoning effort param, add o3 mini (#3973)
* update openai version, add reasoning effort param

* update azure

* add filter for pinecone llamaindex

* update graph cypher qa chain
2025-02-04 08:43:27 +00:00
Jamal Almonawer جمال المناور e1ea1c68d1 Fix: Ensure normalizeURL retains port number (#3959)
* fix: Preserve port in normalizeURL function

The normalizeURL function was previously ignoring the port in the URL.
This fix explicitly includes the port if present (e.g., `:3000`).

* fix lint problem

fix lint problem
2025-02-03 17:02:00 +00:00
Henry Heng a2a475ba7a Feature/Add bullmq redis for message queue processing (#3568)
* add bullmq redis for message queue processing

* Update pnpm-lock.yaml

* update queue manager

* remove singleton patterns, add redis to cache pool

* add bull board ui

* update rate limit handler

* update redis configuration

* Merge add rate limit redis prefix

* update rate limit queue events

* update preview loader to queue

* refractor namings to constants

* update env variable for queue

* update worker shutdown gracefully
2025-01-23 14:08:02 +00:00
Henry Heng e26fc63be0 Feature/Custom Function to Seq Agent (#3612)
* add custom function to seq agent

* add seqExecuteFlow node
2025-01-23 13:04:40 +00:00
Henry Heng 4aa97b0c9a Bugfix/Escape JSON in Prompt Message (#3901)
add fix to only get variables when there is no colon
2025-01-20 19:18:28 +00:00
Jérémy JOURDIN 24eb437bad [Feature] improve CsvLoader & clean code (#3830)
* Improve CSV Loader

* Improve S3 Loaders

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2025-01-14 16:47:04 +00:00
Light cc87d85675 Chore: Update @langchain/community (#3787)
* update package versions

* fix updated field defs due to lib update

* Merge branch 'main' into chore/Upgrade-LC-version

# Conflicts:
#	packages/components/package.json
#	pnpm-lock.yaml

* lintfix

* fix follow up prompt dialog

* lintfix

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2025-01-14 16:30:51 +00:00
Hugues Chocart 89c5eb0492 Lunary: fix user messages (#3852)
Update handler.ts
2025-01-12 23:01:02 +00:00
Henry Heng d60242c224 Feat/add multer s3 (#3854)
* add multer s3

* add types multer s3

* update multer s3 implementation

* Revert "update multer s3 implementation"

This reverts commit 9a25bf57a93f77074bdb084921f0591dbe0b44e1.

* update storage utils

* update multer storage type on routes

* revert getMulterStorage

* revert getMulterStorage

* update getmulterstorage

* update getmulterstorage

* update getmulterstorage
2025-01-12 23:00:34 +00:00
Lucas Mohallem Ferraz 1ae78c2739 [Feat] Allow AWS SECRETS MANAGER instead of storing AES Encrypted in db (#3616)
* AWS Secrets

* AWS Secrets support

* add examples

* remove test compose

* fix lint

* update aws secret manager implementation

* update secret manager client

* update comments

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2025-01-08 20:24:57 +00:00
Ahmed Rowaihi e429af139e feat(follow-up/ollama): support ollama provider (#3795) 2025-01-07 20:43:43 +00:00
Henry Heng 9a417bdc95 Bugfix/update nodevm sandbox options, sanitize tablename (#3818)
* update nodevm sandbox options, sanitize tablename

* sanitize file name when getFileFromStorage
2025-01-07 15:26:25 +00:00
Sunny Modi 3b13e8345a Feature/Add Groq for followup prompts (#3806)
Feature/Add-Groq-for-followup-prompts
2025-01-04 16:52:01 +00:00
Henry Heng 1111101cff Bugfix/Anthropic messages in agentflow (#3801)
fix anthropic messages in agentflow
2025-01-03 22:47:46 +00:00
Abhishek Patil b29523d093 Feature/add composio tool (#3722)
* feat: add composio tool

* fix: improve error handling & field description

* update composio tools for refresh and sorting

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2024-12-19 13:36:56 +00:00
Anthony Bryan Gavilan Vinces 2360f5fdeb Feature/Add Azure Cognitive speech-to-text functionality (#3718)
* feat: Add Azure Cognitive Services integration for speech-to-text functionality

- Introduced a new credential class for Azure Cognitive Services.
- Updated speech-to-text processing to support Azure Cognitive Services as a provider.
- Enhanced UI components to include Azure Cognitive Services options and inputs for configuration.
- Added necessary imports and error handling for Azure API requests.

* Update SpeechToText.jsx linting

* refactor: Update audio file handling in SpeechToText component

- Removed the dependency on 'form-data' and replaced it with a Blob for audio file uploads.
- Simplified the audio file appending process to the form data.
- Cleaned up the headers in the Axios request by removing unnecessary form data headers.

This change enhances the efficiency of audio file processing in the speech-to-text functionality.

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
Co-authored-by: Henry <hzj94@hotmail.com>
2024-12-18 01:35:16 +00:00
Anthony Bryan Gavilan Vinces 4c29b2390c Feature/Add Groq Whisper support (#3706)
* feat: Add Groq Whisper support to SpeechToText component

- Introduced a new speech-to-text provider, Groq Whisper, in both the backend and UI components.
- Updated SpeechToTextType to include GROQ_WHISPER.
- Implemented Groq client integration for audio transcription with customizable model, language, and temperature options.
- Added UI elements for Groq Whisper configuration, including input fields for model, language, and temperature settings.

* turn speech to text none status to false when other was selected

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2024-12-17 23:11:07 +00:00
Henry Heng 85abd157a2 Bugfix/Get value with nested metadata filter (#3695)
add ability to get value with nested metadata filter
2024-12-12 14:57:38 +00:00
Jean Ibarz 26b78ad55a feat: Add options to filter conversation history messages used in sequential LLM and Agent nodes (#3653)
* feat: Add option to disable conversation history

- Add new `disableConversationHistory` boolean parameter in LLMNodes.ts and Agent.ts to optionally skip including conversation history in prompts
- Fix potential error in Agent.ts when messages array is empty by adding null safety checks
- Improve memory efficiency by allowing stateless interactions when history isn't needed

* feat: add conversation history filtering options

Replace the disable conversation history feature with a more flexible filtering system that allows selecting:
- User question only
- Last message only
- All messages (default)
- No messages

This provides more granular control over conversation context management.

* chore: break lines

* chore: removed ending semi columns

* chore: fix eslint errors

* fix(sequentialagents): improve conversation history filtering logic

- Remove unnecessary state.messages check for user_question case
- Add proper null handling for last_message and all_messages cases
- Remove @ts-ignore comments with proper typing

* Update LLMNode.ts

* Update Agent.ts

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
2024-12-12 13:29:28 +00:00
Henry Heng 940c8fd3b0 Chore/LC v0.3 (#3517)
* bump langchain version to 0.3, upgrades on all chat models

* update all docs loader to have documents and text output options

* fix pnpm lock file
2024-11-28 11:06:12 +00:00
Jérémy JOURDIN 15d59a9052 [Prostgres Vector Store] Add PGVector Driver option + Fix null character issue w/ TypeORM Driver (#3367)
* Add PGVector Driver option + Fix null character issue w/ TypeORM Driver

* Handle file upload case with PGVector

* Cleanup

* Fix data filtering for chatflow uploaded files

* Add distanceStrategy parameter

* Fix query to improve chatflow uploaded files filtering

* Ensure PGVector release connections

* Await client connected

* Make Postgres credentials optionnal when set on env variables

* Document env variables in nodes directories

* Prevent reuse client

* Fix empty metadataFilter

* Update CONTRIBUTING.md

* Update Postgres.ts

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
2024-11-01 18:13:45 +00:00
Henry Heng 53e504c32f Feature/Full File Uploads & Message Delete API (#3314)
* add functionality for full file uploads, add remove messages from view dialog and API

* add attachments swagger

* update question to include uploadedFilesContent

* make config dialog modal lg size
2024-10-23 11:00:46 +01:00
Vincelwt 4a9ffe7b99 Lunary: feedback tracking (#3332)
* Lunary: feedback tracking

* fix incorrect param order
2024-10-21 11:32:51 +01:00
Henry Heng a5d4b55bbd Bugfix/Follow up prompts status (#3341)
bugfixes of follow up prompts status, unauthroized error message and rate limit ui
2024-10-11 15:43:28 +01:00
thiagolealassis 7868c8c3a1 Added S3_FORCE_PATH_STYLE environment variable support for AWS S3 client configuration to ensure compatibility with custom S3 endpoints and path-style URLs. This change sets the forcePathStyle option based on the environment variable, defaulting to false if not provided. (#3315)
Co-authored-by: Thiago Assis <thiago.assis@go9.tech>
2024-10-07 16:00:48 +01:00
Ilango c9d8b8716b Feature: Follow-up Prompts (#3280)
* Add migrations - add follow up prompts column to chatflow and chat message

* Add configuration tab for follow-up prompts

* Add follow up prompts functionality

* Pin zod version in components - this was causing a type error with structured outputs

* Generate follow up prompts if enabled and return it in stream, response, and save to database

* Show follow up prompts after getting response

* Add google gen ai for generating follow up prompts and fix issues

* Add config for google gen ai and update model options

* Update follow-up prompts ui and styles

* Release/2.1.0 (#3204)

flowise@2.1.0 release

* Chore/update flowise embed version to 2.0.0 (#3205)

* update flowise-embed version on lock file

* add agent messages to share chatbot

* Update pnpm-lock.yaml

* update flowise-embed version

* update flowise-embed to 1.3.9

* update embed version to 2.0

* Bugfix/CodeInterpreter E2B Credential (#3206)

* Base changes for ServerSide Events (instead of socket.io)

* lint fixes

* adding of interface and separate methods for streaming events

* lint

* first draft, handles both internal and external prediction end points.

* lint fixes

* additional internal end point for streaming and associated changes

* return streamresponse as true to build agent flow

* 1) JSON formatting for internal events
2) other fixes

* 1) convert internal event to metadata to maintain consistency with external response

* fix action and metadata streaming

* fix for error when agent flow is aborted

* prevent subflows from streaming and other code cleanup

* prevent streaming from enclosed tools

* add fix for preventing chaintool streaming

* update lock file

* add open when hidden to sse

* Streaming errors

* Streaming errors

* add fix for showing error message

* add code interpreter

* add artifacts to view message dialog

* Update pnpm-lock.yaml

* uncomment e2b credential

---------

Co-authored-by: Vinod Paidimarry <vinodkiran@outlook.in>

* Release/2.1.0 (#3207)

* flowise@2.1.0 release

* update flowise-components@2.1.1

* Bugfix/Add artifacts migration script to other database types (#3210)

add artifacts migration script to other database types

* Release/2.1.1 (#3213)

release @2.1.1

* Bugfix/Add header to allow sse on nginx (#3214)

add header to allow sse on nginx

* Bugfix/remove invalid markdown (#3219)

remove invalid markdown

* Correct "as" casing (#3216)

* Correct "as" casing

* Remove "version" line from docker compose file

* Update docker-compose.yml

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>

* chore: update unstructured API url and doc reference (#3224)

chore: udpate unstructured API url and doc reference

* Feature/add ability to specify dynamic metadata to jsonlines (#3238)

* add ability to specify dynamic metadata to jsonlines

* fix additional metadata

* Bugfix/Buffer Memory for Anthropic (#3242)

fix buffer memory

* Added env vars to ui and api URL  (#3141)

* feat: add environment vars to split application in different deployments for better scalability

* update: package.json

added start script ui

---------

Co-authored-by: patrick <patrick.alves@br.experian.com>

* Added 1-click deployment link for Alibaba Cloud.  (#3251)

* Added a link for Alibaba Cloud Deployment

* change service name

---------

Co-authored-by: yehan <gn398171@alibaba-inc.com>

* Chore/Groq Llama3.2 (#3255)

* add gemini flash

* add gemin flash to vertex

* add gemin-1.5-flash-preview to vertex

* add azure gpt 4o

* add claude 3.5 sonnet

* add mistral nemo

* add groq llama3.1

* add gpt4o-mini to azure

* o1 mini

* add groq llama 3.2

* Bugfix/Prevent streaming of chatflow tool and chain tool (#3257)

prevent streaming of chatflow tool and chain tool

* Bugfix/Enable Custom Tool Optional Input Schema (#3258)

* prevent streaming of chatflow tool and chain tool

* enable optional input schema

* Bugfix/Searxng tool not working (#3263)

fix searxng tool not working

* LunaryAI automatic Thread and User tracking (#3233)

* Lunary Thread/User tracking

* Clean console logs

* Clean

* Remove commented lines

* Remove commented line

* feat: enable autofocus to the `new chatflow title` to improve usability (#3260)

This dialog has only one input and it is the primary one, there is no need for an extra click to be able to set the title

* feat: save a new Chatflow when the `ENTER` key is pressed (#3261)

This simple event handler improve the usability of the UI by avoiding having to use the mouse or having to tab twice and then hit enter to save a flow

* feat: save Chatflow title when the `ENTER` key is pressed or discard upon `ESC` is pressed (#3265)

This simple event handler improves the usability of the UI by avoiding having to use the mouse to save or dicard title changes

* feat: enable autofocus to the `edit chatflow title` field to improve UI usability (#3264)

feat: enable autofocus to the `edit chatflow title` field to improve usability

The canvas header has only one input and it is the primary one, there is no need for an extra click to be able to edit the title

* feat: add search keyboard shortcut based on the current platform (#3267)

* feat: highlight valid/invalid connection between nodes (#3266)

Change the inputs background to green/red to hint compatible connections, in adition to the `not-allowed` mouse cursor for incompatible connections

* Bugfix/add fixes for search of view header (#3271)

add fixes for search of view header

* fix: warning when passing a boolean to border property of a Card (#3275)

By default MainCard wrappers like NodeCardWrapper and CardWrapper add a a solid border of 1px, but if the `MainCard.border` prop is used (`false`) the border prop was wrongly set to a boolean instead of string

* feat: add shortcut text hint to the search field (#3269)

* feat: add shortcut text hint to the search field

* fix: search box width to fit the shortcut hint text

* fix: error when not running on Mac due to an undefined `os` variable

* fix: warning when a non-boolean values was used to set `checked` prop of a SwitchInput component (#3276)

fix: warning when a non-boolean values was used to set`checked` prop of SwitchInput component

The problem was that in the useEffect hook the plain value was used without validation like in useState

* Bugfix/Throw error to prevent SSE from retrying (#3281)

throw error to prevent SSE from retrying

* Pin zod version in components - this was causing a type error with structured outputs

* Fix conflicts in pnpm lock

* fix ui changes for follow up prompts

* Fix button disable state in follow-up prompts configuration

* Fix follow-up prompts not showing up for agent flows

* Show follow up prompts if last message is apiMessage and follow up prompts are available

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
Co-authored-by: Vinod Paidimarry <vinodkiran@outlook.in>
Co-authored-by: Cross <github@dillfrescott.com>
Co-authored-by: cragwolfe <cragcw@gmail.com>
Co-authored-by: patrickreinan <patrickreinan@gmail.com>
Co-authored-by: patrick <patrick.alves@br.experian.com>
Co-authored-by: yehan <34835250+yehanyh@users.noreply.github.com>
Co-authored-by: yehan <gn398171@alibaba-inc.com>
Co-authored-by: Vincelwt <vincelwt@users.noreply.github.com>
Co-authored-by: Humberto Rodríguez A. <rhumbertgz@users.noreply.github.com>
Co-authored-by: Henry <hzj94@hotmail.com>
2024-10-04 16:44:28 +01:00
Henry Heng 04e8d02a99 Bugfix/Upsert files extension to input field (#3288)
get upsert files extension to input field
2024-09-30 22:52:02 +01:00
Vincelwt 18f916a7e1 LunaryAI automatic Thread and User tracking (#3233)
* Lunary Thread/User tracking

* Clean console logs

* Clean

* Remove commented lines

* Remove commented line
2024-09-26 12:01:33 +01:00
Henry Heng bc76886178 Bugfix/Enable Custom Tool Optional Input Schema (#3258)
* prevent streaming of chatflow tool and chain tool

* enable optional input schema
2024-09-26 01:09:35 +01:00
Henry Heng 1219c2ff12 Bugfix/remove invalid markdown (#3219)
remove invalid markdown
2024-09-19 14:56:13 +01:00
Henry Heng b02f279e9d Feature/Code Interpreter (#3183)
* Base changes for ServerSide Events (instead of socket.io)

* lint fixes

* adding of interface and separate methods for streaming events

* lint

* first draft, handles both internal and external prediction end points.

* lint fixes

* additional internal end point for streaming and associated changes

* return streamresponse as true to build agent flow

* 1) JSON formatting for internal events
2) other fixes

* 1) convert internal event to metadata to maintain consistency with external response

* fix action and metadata streaming

* fix for error when agent flow is aborted

* prevent subflows from streaming and other code cleanup

* prevent streaming from enclosed tools

* add fix for preventing chaintool streaming

* update lock file

* add open when hidden to sse

* Streaming errors

* Streaming errors

* add fix for showing error message

* add code interpreter

* add artifacts to view message dialog

* Update pnpm-lock.yaml

---------

Co-authored-by: Vinod Paidimarry <vinodkiran@outlook.in>
2024-09-17 08:44:56 +01:00
Vinod Kiran 26444ac3ae Feature/sse (#3125)
* Base changes for ServerSide Events (instead of socket.io)

* lint fixes

* adding of interface and separate methods for streaming events

* lint

* first draft, handles both internal and external prediction end points.

* lint fixes

* additional internal end point for streaming and associated changes

* return streamresponse as true to build agent flow

* 1) JSON formatting for internal events
2) other fixes

* 1) convert internal event to metadata to maintain consistency with external response

* fix action and metadata streaming

* fix for error when agent flow is aborted

* prevent subflows from streaming and other code cleanup

* prevent streaming from enclosed tools

* add fix for preventing chaintool streaming

* update lock file

* add open when hidden to sse

* Streaming errors

* Streaming errors

* add fix for showing error message

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2024-09-17 08:01:25 +01:00
Henry Heng 7a4c7efcab Chore/changed vm2 to @flowiseai/nodevm (#3200)
* changed vm2 to @flowiseai/nodevm

* update set-value and lunary version
2024-09-17 01:57:02 +01:00
Vinod Kiran 8bd3de4153 Bugfix: Check for relative path when saving file, to prevent unauthorised writes (#3172)
* Check for relative path when saving file, to prevent unauthorised writes

* preventing relative paths for all modes (s3/local)

* preventing relative paths for all modes (s3/local)

* Update storageUtils.ts

* changing the code to sanitizing filenames.

* fix lock file

---------

Co-authored-by: Henry Heng <henryheng@flowiseai.com>
Co-authored-by: Henry <hzj94@hotmail.com>
2024-09-14 13:58:52 +01:00
Henry Heng 474793486b Bugfix/Prevent sending non image file (#3173)
* bugfix to prevent sending non image file

* fix typo
2024-09-09 21:02:47 +01:00