From b690ac4e2a5e856aab549df231d81a45c5f6cd56 Mon Sep 17 00:00:00 2001 From: Wu Tianwei <30284043+WTW0313@users.noreply.github.com> Date: Wed, 10 Sep 2025 15:17:49 +0800 Subject: [PATCH 01/72] fix: Remove sticky positioning from workflow component fields (#25470) --- web/app/components/workflow/nodes/_base/components/field.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/app/components/workflow/nodes/_base/components/field.tsx b/web/app/components/workflow/nodes/_base/components/field.tsx index 44fa4f6f0a..aadcea1065 100644 --- a/web/app/components/workflow/nodes/_base/components/field.tsx +++ b/web/app/components/workflow/nodes/_base/components/field.tsx @@ -38,7 +38,7 @@ const Field: FC = ({
supportFold && toggleFold()} - className={cn('sticky top-0 flex items-center justify-between bg-components-panel-bg', supportFold && 'cursor-pointer')}> + className={cn('flex items-center justify-between', supportFold && 'cursor-pointer')}>
{title} {required && *} From 70e4d6be340731ada69ff399c5eb9a5d7abc4615 Mon Sep 17 00:00:00 2001 From: Eric Guo Date: Wed, 10 Sep 2025 15:57:04 +0800 Subject: [PATCH 02/72] Fix 500 in dataset page. (#25474) --- api/services/dataset_service.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/api/services/dataset_service.py b/api/services/dataset_service.py index 47bd06a7cc..997b28524a 100644 --- a/api/services/dataset_service.py +++ b/api/services/dataset_service.py @@ -2738,11 +2738,7 @@ class DatasetPermissionService: ).where(DatasetPermission.dataset_id == dataset_id) ).all() - user_list = [] - for user in user_list_query: - user_list.append(user.account_id) - - return user_list + return user_list_query @classmethod def update_partial_member_list(cls, tenant_id, dataset_id, user_list): From 34e55028aea90e1ef8ab8e1c6df6f3f50ec5ea16 Mon Sep 17 00:00:00 2001 From: Xiyuan Chen <52963600+GareArc@users.noreply.github.com> Date: Wed, 10 Sep 2025 19:01:32 -0700 Subject: [PATCH 03/72] Feat/enteprise cd (#25485) --- .github/workflows/deploy-enterprise.yml | 28 ++++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/.github/workflows/deploy-enterprise.yml b/.github/workflows/deploy-enterprise.yml index 98fa7c3b49..7ef94f7622 100644 --- a/.github/workflows/deploy-enterprise.yml +++ b/.github/workflows/deploy-enterprise.yml @@ -19,11 +19,23 @@ jobs: github.event.workflow_run.head_branch == 'deploy/enterprise' steps: - - name: Deploy to server - uses: appleboy/ssh-action@v0.1.8 - with: - host: ${{ secrets.ENTERPRISE_SSH_HOST }} - username: ${{ secrets.ENTERPRISE_SSH_USER }} - password: ${{ secrets.ENTERPRISE_SSH_PASSWORD }} - script: | - ${{ vars.ENTERPRISE_SSH_SCRIPT || secrets.ENTERPRISE_SSH_SCRIPT }} + - name: trigger deployments + env: + DEV_ENV_ADDRS: ${{ vars.DEV_ENV_ADDRS }} + DEPLOY_SECRET: ${{ secrets.DEPLOY_SECRET }} + run: | + IFS=',' read -ra ENDPOINTS <<< "$DEV_ENV_ADDRS" + + for ENDPOINT in "${ENDPOINTS[@]}"; do + ENDPOINT=$(echo "$ENDPOINT" | xargs) + + BODY=$(cat < Date: Wed, 10 Sep 2025 20:53:42 -0700 Subject: [PATCH 04/72] Feat/enteprise cd (#25508) --- .github/workflows/deploy-enterprise.yml | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/deploy-enterprise.yml b/.github/workflows/deploy-enterprise.yml index 7ef94f7622..9cff3a3482 100644 --- a/.github/workflows/deploy-enterprise.yml +++ b/.github/workflows/deploy-enterprise.yml @@ -24,18 +24,18 @@ jobs: DEV_ENV_ADDRS: ${{ vars.DEV_ENV_ADDRS }} DEPLOY_SECRET: ${{ secrets.DEPLOY_SECRET }} run: | - IFS=',' read -ra ENDPOINTS <<< "$DEV_ENV_ADDRS" - + IFS=',' read -ra ENDPOINTS <<< "${DEV_ENV_ADDRS:-}" + BODY='{"project":"dify-api","tag":"deploy-enterprise"}' + for ENDPOINT in "${ENDPOINTS[@]}"; do - ENDPOINT=$(echo "$ENDPOINT" | xargs) - - BODY=$(cat < Date: Thu, 11 Sep 2025 13:17:50 +0800 Subject: [PATCH 05/72] chore: support Zendesk widget (#25517) --- web/app/components/base/ga/index.tsx | 8 +-- web/app/components/base/zendesk/index.tsx | 21 +++++++ web/app/components/base/zendesk/utils.ts | 23 ++++++++ web/app/layout.tsx | 8 +++ web/config/index.ts | 71 +++++++++++++---------- web/context/app-context.tsx | 40 +++++++++++++ web/context/provider-context.tsx | 13 +++++ web/types/feature.ts | 6 ++ 8 files changed, 155 insertions(+), 35 deletions(-) create mode 100644 web/app/components/base/zendesk/index.tsx create mode 100644 web/app/components/base/zendesk/utils.ts diff --git a/web/app/components/base/ga/index.tsx b/web/app/components/base/ga/index.tsx index 7a95561754..81d84a85d3 100644 --- a/web/app/components/base/ga/index.tsx +++ b/web/app/components/base/ga/index.tsx @@ -24,7 +24,7 @@ const GA: FC = ({ if (IS_CE_EDITION) return null - const nonce = process.env.NODE_ENV === 'production' ? (headers() as unknown as UnsafeUnwrappedHeaders).get('x-nonce') : '' + const nonce = process.env.NODE_ENV === 'production' ? (headers() as unknown as UnsafeUnwrappedHeaders).get('x-nonce') ?? '' : '' return ( <> @@ -32,7 +32,7 @@ const GA: FC = ({ strategy="beforeInteractive" async src={`https://www.googletagmanager.com/gtag/js?id=${gaIdMaps[gaType]}`} - nonce={nonce!} + nonce={nonce ?? undefined} > {/* Cookie banner */} diff --git a/web/app/components/base/zendesk/index.tsx b/web/app/components/base/zendesk/index.tsx new file mode 100644 index 0000000000..b3d67eb390 --- /dev/null +++ b/web/app/components/base/zendesk/index.tsx @@ -0,0 +1,21 @@ +import { memo } from 'react' +import { type UnsafeUnwrappedHeaders, headers } from 'next/headers' +import Script from 'next/script' +import { IS_CE_EDITION, ZENDESK_WIDGET_KEY } from '@/config' + +const Zendesk = () => { + if (IS_CE_EDITION || !ZENDESK_WIDGET_KEY) + return null + + const nonce = process.env.NODE_ENV === 'production' ? (headers() as unknown as UnsafeUnwrappedHeaders).get('x-nonce') ?? '' : '' + + return ( +