Demo

Hot reload not updating the UI

You edit plugin frontend code and quan-erp watch rebuilds, but the browser still shows the old UI.

Symptom

Terminal shows a successful watch rebuild, but menus, pages, or styles do not change until a full refresh — or never change at all.

Why this happens

Plugin UIs are loaded dynamically from installed-plugins, not like a normal Vite app HMR graph. Watch updates available-plugins (and refreshes the installed copy when the module is already installed). The browser may still cache the previous bundle.

  • Watch without Install → only available-plugins updates; shell still serves installed-plugins
  • Already installed → watch should refresh the installed copy; still hard-refresh the browser
  • pluginVersion / version folder changed → Install again so installed-plugins matches the new version
  • Base frontend / backend containers not running → nothing to serve the new files

Fix

  • Run quan-erp watch <plugin> from the project root (correct plugin folder name under plugins/)
  • Confirm timestamps under base/available-plugins/<name>/<version>/frontend/ update after each save
  • Confirm base/backend/installed-plugins/<name>/frontend/ also updates (or Install from Modules UI)
  • Hard-refresh the browser (or clear site cache); open the plugin entry in Network and verify it is not a cached 304 of old code
  • Restart base frontend if the shell itself looks stale after dependency or config changes
  • Prefer npm @quan-erp/cli — avoid a stale local ./erp binary