Skip to content

fix(web): align Tailwind v4 CSS migration#35829

Merged
lyzno1 merged 7 commits into
mainfrom
fix/css
May 6, 2026
Merged

fix(web): align Tailwind v4 CSS migration#35829
lyzno1 merged 7 commits into
mainfrom
fix/css

Conversation

@lyzno1
Copy link
Copy Markdown
Member

@lyzno1 lyzno1 commented May 6, 2026

Summary

This PR finishes the Tailwind v4 cleanup work around the existing CSS-first migration and removes the most visible compatibility leftovers in touched UI surfaces.

  • removes the temporary Tailwind border compatibility layer from tailwind-core.css and replaces affected call sites with explicit design-system border tokens
  • replaces unsafe outline-none usage with forced-color-safe outline-hidden, and adds visible focus-visible rings where needed
  • migrates the recently touched legacy modal usages to @langgenius/dify-ui Dialog / AlertDialog primitives
  • keeps dataset selection dialogs mounted and fully controlled through open / onOpenChange so Base UI enter/exit transitions can run
  • consolidates the app export warning and secret-env export confirmation into one controlled AlertDialog root that switches content by mode
  • removes the secret-env alert dialog close icon so the risk confirmation keeps explicit Cancel / Confirm semantics
  • updates affected interactive rows/buttons to semantic controls with accessible focus states

Tailwind v4 status

The web app is now effectively using the v4 CSS-first architecture for the main Tailwind integration:

  • no tailwind.config.* project config is used
  • Tailwind entry CSS uses v4 directives such as @import, @theme, @theme inline, @utility, and CSS-level @plugin
  • spacing-compatible arbitrary values in touched files were converted to v4 spacing utilities where exact, e.g. w-50, w-100, w-120

One intentional exception remains: @tailwindcss/typography is still registered through the CSS entry because develop MDX docs still depend on prose, prose-xl, prose-invert, and not-prose. Its current local JS customization can be migrated separately, but removing it in this PR would cause documentation styling regressions.

Testing

  • pnpm exec eslint --fix --pass-on-unpruned-suppressions ... on touched files
  • pnpm test -- app/components/app/configuration/dataset-config/select-dataset/__tests__/index.spec.tsx app/components/app/configuration/__tests__/configuration-view.spec.tsx app/components/workflow/nodes/knowledge-retrieval/__tests__/integration.spec.tsx app/components/workflow/__tests__/dsl-export-confirm-modal.spec.tsx app/components/app-sidebar/app-info/__tests__/app-info-modals.spec.tsx
  • pnpm test -- app/components/app-sidebar/app-info/__tests__/app-operations.spec.tsx
  • pnpm type-check

@dosubot dosubot Bot added size:XL This PR changes 500-999 lines, ignoring generated files. javascript Pull requests that update javascript code labels May 6, 2026
@github-actions github-actions Bot added the web This relates to changes on the web. label May 6, 2026
@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label May 6, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Codecov Report

❌ Patch coverage is 83.95062% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.81%. Comparing base (f8873ec) to head (e3cd0c0).

Files with missing lines Patch % Lines
...omponents/app-sidebar/app-info/app-info-modals.tsx 68.18% 7 Missing ⚠️
...figuration/dataset-config/select-dataset/index.tsx 84.37% 5 Missing ⚠️
...p/components/workflow/dsl-export-confirm-modal.tsx 94.44% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #35829      +/-   ##
==========================================
- Coverage   85.81%   85.81%   -0.01%     
==========================================
  Files        4459     4459              
  Lines      208966   208988      +22     
  Branches    39064    39063       -1     
==========================================
+ Hits       179329   179341      +12     
- Misses      26470    26480      +10     
  Partials     3167     3167              
Flag Coverage Δ
dify-ui 93.27% <ø> (ø)
web 86.76% <83.95%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@lyzno1 lyzno1 added this pull request to the merge queue May 6, 2026
Merged via the queue into main with commit 03e227f May 6, 2026
32 of 33 checks passed
@lyzno1 lyzno1 deleted the fix/css branch May 6, 2026 06:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

javascript Pull requests that update javascript code lgtm This PR has been approved by a maintainer size:XL This PR changes 500-999 lines, ignoring generated files. web This relates to changes on the web.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants