#42434·dify

Vinext production build leaves tilde-alias SVG URLs unresolved

Author: hyobanCreated Sep 17, 2026Updated Sep 17, 2026
Labelsproject#dify

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug reports; questions belong in Discussions.
  • I have searched for existing issues, including closed ones.
  • I confirm that I am using English to submit this report.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • I have filled in the required template fields.

Dify version

1.17.1 development checkout, base 06e473015a9a1abb71da88ac0a0e92d96a992008; local Vinext build with Vite+ core 0.3.2, Vinext 1.0.0-beta.10, Node 24.21.0.

Cloud or Self Hosted

Self Hosted (Source)

Steps to reproduce

  1. Install the workspace dependencies and build the Vinext frontend, e.g. pnpm --dir web exec vp build with DevTools analysis disabled.
  2. Observe unresolved resource warnings for ~@/assets/*.svg and ~@/app/components/workflow/run/assets/*.svg.
  3. Inspect generated CSS under web/dist/client/_next/static/css/. The output still contains literal URLs such as url(~@/assets/pdf.svg) and url(~@/app/components/workflow/run/assets/highlight.svg).

The source patterns are also present in upstream main at the linked revision:

Example warning:

~@/assets/pdf.svg?vinext_css_url_asset=pdf.svg referenced in ~@/assets/pdf.svg?vinext_css_url_asset=pdf.svg didn't resolve at build time, it will remain unchanged to be resolved at runtime

✔️ Expected Behavior

The Vinext build resolves these assets to deployable URLs. Document icons and workflow status backgrounds should remain available in the production preview.

Acceptance criteria:

  • No unresolved ~@/ asset references remain in emitted CSS for these components.
  • Verify document-type icons and workflow status backgrounds in production preview, including light/dark states.
  • Retain compatibility with the supported Next.js build path.

❌ Actual Behavior

16 distinct SVG paths remain unresolved in the build output. The browser cannot interpret ~@/ as the project alias, so these references can request nonexistent relative resources. This report establishes the unresolved emitted URLs; a separate production-preview visual/network check should verify every affected component.

The warnings and emitted URLs occur both with and without DevTools analysis. Ordinary compilation exits successfully, so this is a resource-resolution correctness issue rather than a build crash. It was reproduced in the local development checkout described above; no claim is made that the Next.js build has the same behavior.