[PR #21412] fix: handle configure button for notion internal integration #29658

Closed
opened 2026-02-21 20:45:59 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/21412

State: closed
Merged: Yes


  • Add sync functionality for internal integration when clicking configure button
  • Add success/error messages for sync operations
  • Fix issue where configure button does nothing for internal integration

Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

close https://github.com/langgenius/dify/issues/21329

Summary

Fix the issue where the Configure button doesn't work for Notion internal integration.

Problem

  • When using Notion internal integration (NOTION_INTEGRATION_TYPE=internal), clicking the Configure button results in no visible action
  • The backend returns {"data": "internal"} instead of a URL for internal integrations
  • The frontend only handles URL redirection but doesn't handle internal integration cases
  • No feedback is provided to users when the action fails silently

Root Cause

The issue occurs because:

  • Backend: data_source_oauth.py:39-44 returns {"data": "internal"} for internal integrations
  • Frontend: index.tsx:53-56 only redirects when data?.data is truthy, but empty string evaluates to falsy
  • The frontend conditional logic doesn't handle the internal integration response properly

Solution

  • Add sync functionality for internal integration when clicking the configure button
  • Trigger sync operation to refresh available pages for internal integration
  • Add success/error toast messages for sync operations
  • Add Chinese and English translations for sync messages
  • Improve user experience by providing proper feedback

Changes Made

  • Modified: web/app/components/header/account-setting/data-source-page/data-source-notion/index.tsx
    • Enhanced handleAuthAgain function to handle internal integration
    • Added sync operation for internal integration
    • Added proper error handling and user feedback
  • Modified: web/i18n/zh-Hans/common.ts
    • Added syncSuccess and syncError translations
  • Modified: web/i18n/en-US/common.ts
    • Added syncSuccess and syncError translations
  • Modified: .gitignore
    • Added api/.env.backup to prevent committing sensitive files

Screenshots

image

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/21412 **State:** closed **Merged:** Yes --- - Add sync functionality for internal integration when clicking configure button - Add success/error messages for sync operations - Fix issue where configure button does nothing for internal integration > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 2. Ensure there is an associated issue and you have been assigned to it > 3. Use the correct syntax to link this PR: `Fixes #<issue number>`. close https://github.com/langgenius/dify/issues/21329 ## Summary Fix the issue where the Configure button doesn't work for Notion internal integration. ## Problem - When using Notion internal integration (`NOTION_INTEGRATION_TYPE=internal`), clicking the Configure button results in no visible action - The backend returns `{"data": "internal"}` instead of a URL for internal integrations - The frontend only handles URL redirection but doesn't handle internal integration cases - No feedback is provided to users when the action fails silently # Root Cause The issue occurs because: - Backend: `data_source_oauth.py:39-44` returns `{"data": "internal"}` for internal integrations - Frontend: `index.tsx:53-56` only redirects when `data?.data` is truthy, but empty string evaluates to falsy - The frontend conditional logic doesn't handle the internal integration response properly ## Solution - Add sync functionality for internal integration when clicking the configure button - Trigger sync operation to refresh available pages for internal integration - Add success/error toast messages for sync operations - Add Chinese and English translations for sync messages - Improve user experience by providing proper feedback ## Changes Made - **Modified**: `web/app/components/header/account-setting/data-source-page/data-source-notion/index.tsx` - Enhanced `handleAuthAgain` function to handle internal integration - Added sync operation for internal integration - Added proper error handling and user feedback - **Modified**: `web/i18n/zh-Hans/common.ts` - Added `syncSuccess` and `syncError` translations - **Modified**: `web/i18n/en-US/common.ts` - Added `syncSuccess` and `syncError` translations - **Modified**: `.gitignore` - Added `api/.env.backup` to prevent committing sensitive files <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. --> ## Screenshots ![image](https://github.com/user-attachments/assets/1fe37572-49a1-47f8-a5e0-38e66c643aa6) | Before | After | |--------|-------| | ... | ... | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:45:59 -05:00
yindo closed this issue 2026-02-21 20:45:59 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#29658