Vinext production build leaves tilde-alias SVG URLs unresolved
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
- Install the workspace dependencies and build the Vinext frontend, e.g.
pnpm --dir web exec vp buildwith DevTools analysis disabled. - Observe unresolved resource warnings for
~@/assets/*.svgand~@/app/components/workflow/run/assets/*.svg. - Inspect generated CSS under
web/dist/client/_next/static/css/. The output still contains literal URLs such asurl(~@/assets/pdf.svg)andurl(~@/app/components/workflow/run/assets/highlight.svg).
The source patterns are also present in upstream main at the linked revision:
- web/app/components/datasets/documents/style.module.css
- web/app/components/workflow/run/status-container.tsx
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.
Source: langgenius/dify