32 Commits
Author SHA1 Message Date
Ilango f20d0941da fix: flowise-766 (#6709) 2026-08-07 10:37:30 +05:30
Ilango 4ea391204a fix: flowise-598 (#6665)
* update: user and permissions in docker files

* fix: sql database chain node
2026-07-27 17:40:21 +05:30
Ilangoandgemini-code-assist[bot] ababf4c8eb fix: flowise-615 (#6629)
* fix: flowise-615

* Update packages/components/nodes/tools/MCP/core.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix: update versions for several packages (#6558)

* fix: update versions for several packages

* fix: review feedback

* fix: lock file

* fix: ci

* fix: ci

* fix: test coverage

* fix: flowise-399

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-07-24 19:33:36 +05:30
yau-wd e816d26a7d Fix Flowise-552 Add Allow List Execution Path (#6658)
fix(flowise-552): add allow list execution path
2026-07-24 08:43:26 +08:00
yau-wd f5d16835bc Fix Flowise 709 Make Custom MCP stdio command allowlist operator-controlled (#6578)
fix(flowise-709): make Custom MCP stdio command allowlist operator-controlled
2026-06-30 13:57:33 +08:00
Ilango 3f257bdc81 fix: FLOWISE-400, 543, 551 (#6417)
* fix: available dependencies in sandbox

* fix: better url validation and prevent arbitrary url injection into the sandbox

* fix: permissions in docker

* revert: all docker-related changes

* fix: review feedback
2026-06-16 16:21:16 +05:30
yau-wd a4c4e4988c Fix Flowise 552 (#6471)
fix(flowise-552): default Custom MCP to SSE and switch env vars from deny-list to allow-list
2026-06-04 00:32:30 +08:00
Ilango ba6a089d2b chore: node version update (#6359)
* update: node version

* fix: lint issues

* add: missing dependency in ci for faiss

* fix: pin pnpm version

* fix: more dependency issues

* fix: even more dependency issues

* update: pnpm overrides

* revert: experimental changes
2026-06-02 20:43:23 +05:30
ce7a811b71 feat: implement scheduling functionality for AgentflowV2 (#5971)
* feat: implement scheduling functionality for AgentflowV2

- Added ScheduleQueue class for managing scheduled jobs using BullMQ.
- Introduced scheduleService for creating, updating, and disabling schedules.
- Integrated schedule validation and cron expression handling.
- Enhanced chatflow service to manage schedules for agentflows.
- Added UI components for time and day selection (TimePicker, WeekDaysPicker, MonthDaysPicker).
- Updated NodeInputHandler to support new input types for scheduling.
- Improved validation for schedule configurations in agentflows.

* feat: implement schedule management for agentflows

- Refactor ScheduleQueue to utilize executeScheduleJob for job execution.
- Add new endpoints for schedule status retrieval and enabling/disabling schedules in chatflows.
- Update chatflow service to handle schedule creation, updates, and deletions more effectively.
- Introduce DatePicker component for date input in UI.
- Enhance CanvasHeader to manage schedule state and toggle functionality.
- Integrate schedule validation logic to ensure proper configuration before enabling schedules.
- Update dependencies to include node-cron for improved scheduling capabilities.

* feat(schedule): refactor schedule services and tests for schedule job

- Seperate the utils function from schedule service.
- Created comprehensive unit tests for all utility functions in `utils.test.ts`, covering various scenarios for cron expression validation, visual picker validation, and schedule resolution.
- Ensured proper handling of edge cases and error messages for invalid inputs.

* feat(schedule): remove timestamp in schedule tabes to support sqlite

- Change the way to update the existing schedule to avoid typescript issue when building.
- Add merge function in mockRepo in schedule service test.

* fix(schedule): add nullable to optional entity columns and entity interfaces

- Add nullable: true to lastRunAt, nextRunAt, endDate on ScheduleRecord
  entity to match migration DDL and prevent runtime errors
- Add IScheduleRecord and IScheduleTriggerLog interfaces to Interface.ts
- Have entities implement their respective interfaces per codebase convention

* fixed tests and hide schedule input from package/agentflow

* feat: integrate IdentityManager into worker and queue management

- Remove supporting cron express with 6 fields (second)
- Calculate the prediction usage in cron job

* feat: add support for MIN_SCHEDULE_INTERVAL_SECONDS in cron job configuration and validation

* fixed broken tests

* UI UX fixes for scheduler in dark mode

* fix(schedule): remove unnecessary UUID generation in createOrUpdateSchedule

* adds required scheduleInputMode column with text/form/none variants, ChatType.SCHEDULED, trigger-logs endpoint + drawer UI, IANA timezone dropdown, and dark-mode UX polish.

* add deleteScheduleTriggerLogs endpoint and UI integration for log deletion

* feat: enhance cron job handling for last day of month (L) in ScheduleBeat and related utilities

Co-authored-by: Copilot <[email protected]>

* - fix(start-node): persist declared defaults of newly-visible fields so saves don't drop required values
- update ui for last day to include hints and next run datetime

---------

Co-authored-by: Jackie Chui <[email protected]>
Co-authored-by: Henry <[email protected]>
Co-authored-by: Copilot <[email protected]>
2026-05-01 22:39:20 +01:00
yau-wd da8b251a9a Fix FLOWISE 566 OAuth2 (#6276)
* fix: flowise 556 oauth2

* fix(flowise-566): code review suggestions from Gemini

* feat(oauth2Security.test.ts): add test script

* feat(constants.ts): add Pipedream to default OAuth2 allowed domains
2026-04-28 21:22:48 +08:00
Hoang DoanandHenry 3d7597717a feat: implement the custom MCP Server in tool (#6205)
* feat: implement the custom MCP Server in tool

- Implemented MCPServersTable for displaying MCP server data with status badges and tools count.
- Created CustomMcpServerDialog for adding and editing custom MCP servers with validation and authorization features.
- Integrated MCP server management into the Tools view with tabbed navigation for Custom Tools and Custom MCP Servers.
- Added pagination and loading states for MCP servers.

* tfix nodes.test.ts ESM load crash

* feat(custom-mcp): harden security, scalability, and UI polish

* enhance custom mcp server creation flow and UI updates

* feat(mcp): add MCP server handshake timeout, enhance UI UX for editing custom mcp server

---------

Co-authored-by: Henry <[email protected]>
2026-04-23 16:52:07 +01:00
Justin Head 6f325b0c0f Support CORS credentials (cookies) via env var (#6029) 2026-03-24 16:48:53 -07:00
christopherholland-workdayandchristopherholland-workday aff06479aa Control Path Traversal Protections via Env Var (#5962)
* Fix isPathTraversal method to be less strict

* Fix isPathTraversal method to be less strict

* Control isPathTraversal via an Env Var

* Path traversal check env var

---------

Co-authored-by: christopherholland-workday <[email protected]>
2026-03-16 08:40:26 -07:00
chiragjaggaandHenry 07ef4bbec8 Add support for azure blob storage and storage refactor (#5604)
* storageUtils functions azure storage

* interface, base and local storage provider

* s3 storage provider

* gcs, azure storage provider

* refactor final changes

* fix gcs path bug

* gemini and lint fixes

* documentation changes

* update pnpm lock

* update azure winston to ESM imports

---------

Co-authored-by: Henry <[email protected]>
2026-03-04 21:58:08 +08:00
christopherholland-workday 219b040065 fix: Control default deny list via an env var (#5862)
* Control default deny list via an env var

* fix: Control default deny list via an env var

---------
2026-03-02 14:44:34 -08:00
75ce181a68 Updates to environment and initialization logic (#5683)
* fix: make TOKEN_HASH_SECRET required and add check on server start

* fix: make EXPRESS_SESSION_SECRET required and add check on server start

* fix: make jwt variables required and validate on server start

* fix: formatting

* fix: cypress tests

* fix: remove env file for cypress and refactor

* revert: changes to workflow and env examples

* update: how missing/weak default secrets are handled

* update: how auth secrets are setup and read

* fix: update env examples for docker

* fix: weak defaults list

* fix: weak defaults list

---------

Co-authored-by: yau-wd <[email protected]>
Co-authored-by: yau-wd <[email protected]>
2026-02-25 21:40:12 +08:00
e135b29433 Feature/Add Permissions To API Keys (#5590)
* feat(database.util.ts): add function to check if column exists in table

* feat(migrations): add permission column to apikey table

* chore(services/apikey): remove auto-create default API key

* chore: remove auto-create default API key

* fix(migrations): rename permission to permissions in apikey table

* feat(services/apikey): add permissions to create and update

* feat(views/apikey): add permissions to create and update

* feat(api): use API key permissions instead of role permissions

* feat(permissions): filter by user.permissions except for ROLE type

* feat(services/apikey): filter keys by user permissions in getAllApiKeys

* feat(services/apikey): limit API key permissions to user permissions during creation/update

* fix(database.util.ts): replace non-null assertion with explicit error handling

* feat(services/apikey): log errors for malformed API key permissions

* refactor(services/apikey): extract permission validation

* feat(permission): enhance permission filtering based on user features and platform type

* chore(migrations): lower API key permission value

* Update packages/ui/src/views/apikey/APIKeyDialog.jsx

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Update packages/ui/src/views/apikey/APIKeyDialog.jsx

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* refactor: remove deprecated APIKEY_PATH and APIKEY migration

* refactor(apikey): remove functionality related to import apikey

* feat(permission): filter out workspace and admin categories for non-ROLE

* feat(services/apikey): validate API key permissions during create and update

* chore(migrations): clean up role permissions values

* fix(migrations): handle corrupted permissions gracefully

* fix(server/src/index.ts): add error handling for API key permissions parsing

* fix(APIKeyDialog.jsx): handle corrupted permissions when editing API key

* fix(views/apikey/index.jsx): handle corrupted permissions in API key list

* fix(services/apikey): validate permissions JSON in API key operations

* Potential fix for code scanning alert no. 83: Clear-text logging of sensitive information

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* feat(migrations): change ApiKey.permissions column from TEXT to JSON

* Update packages/server/src/services/apikey/index.ts

Co-authored-by: Jocelyn Lin <[email protected]>

* feat(PricingDialog.jsx): handle downgrade with excessive apikey permissions

* feat(controllers\apikey): enforce permissions validation

* chore(services/apikey): remove redundant null checks

* fix(services/dataset): throw error when dataset not found before fetching rows

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Jocelyn Lin <[email protected]>
2026-01-16 12:21:48 +08:00
Lê Nam Khánh 4624e15c2e chore: fix typos in docker/worker/Dockerfile (#5435)
Fix typos in docker/worker/Dockerfile
2025-11-07 11:29:14 +00:00
Ilango 37ef6ffa50 fix: add missing log filter env variables to examples (#5376)
* Sanitize sensitive fields in request header and body in logger

* fix: log request headers, body, and query only when debug logs are enabled

* fix: add missing env to examples

* fix: crash due to missing env vars
2025-10-28 16:14:49 +05:30
Henry Heng a86f618186 Chore/Secure Cookies Env Variable (#5281)
Enhanced cookie security handling in the passport middleware to allow explicit configuration of secure cookie settings.
2025-10-01 11:54:07 +01:00
YauandHenry Heng b5da234ce7 Add environment variable control for trust proxy setting (#5226)
* feat: allow trust proxy setting to be configured via environment variable

* fix: restore HTTP_DENY_LIST in .env.example after merge conflict

* feat: add conditional handling for trust proxy

* feat: add trust proxy environment variable documentation

* feat: add trust proxy environment variable sample value

* fix: handle empty trust proxy string in docker environment

---------

Co-authored-by: Henry Heng <[email protected]>
2025-09-27 14:08:55 +01:00
Ilango e48f28d13d Update SSL-related env for database connections (#5242) 2025-09-26 10:05:35 +01:00
Henry Heng 41131dfac3 Feat/Enhance security validation for MCP configurations (#5232)
feat: enhance security validation for MCP configurations

- Added environment variable checks for CUSTOM_MCP_SECURITY_CHECK, CUSTOM_MCP_PROTOCOL, and HTTP_DENY_LIST across various Docker and application files.
- Implemented validation functions in MCP core to prevent command injection and ensure safe environment variable usage
2025-09-18 14:37:31 +01:00
Henry Heng 42152dd036 Chore/Disable Available Dep By Default (#5231)
disable available dependencies by default, only allow when ALLOW_BUILTIN_DEP is set to true
2025-09-18 12:03:08 +01:00
Henry Heng 8ba1a09077 Bugfix/Update worker docker (#4643)
update worker docker
2025-06-12 17:25:43 +01:00
Henry 82e21d1fed update docker compose files 2025-05-29 20:15:23 +01:00
Henry Hengandchungyau97 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 <[email protected]>
2025-05-27 07:29:42 +01:00
Henry Heng 624143ad15 Chore/disable telemetry by default (#4427)
disable telemetry by default
2025-05-15 00:19:05 +08:00
eadf1b11b3 Fix: Add keep-alive options to Redis clients to prevent idle timeouts and socket closing. (#4377)
* redis keepalive mechanism for all redis

* removed offline queue commands

* Simplified changes for consistency. Added REDIS_KEEP_ALIVE env variable.

* update redis socket alive env variable

* lint fix

---------

Co-authored-by: Henry <[email protected]>
Co-authored-by: Henry Heng <[email protected]>
2025-05-14 10:29:32 +08:00
Henry Heng b55fe07511 Feature/add enable bull dashboard env var (#4373)
add enable bull dashboard env var
2025-05-04 21:55:16 +08:00
Henry Heng 8e63b999b8 Feature/Add remove on age and count to bullmq (#4249)
add remove on age and count to bullmq
2025-04-03 16:07:10 +08: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