Fix: Odoo Owl AssetsLoadingError (web_editor.backend_assets_wysiwyg.min.js)
If you encounter an Owl lifecycle error in Odoo caused by failed asset loading for the web editor, you can fix it by clearing cached assets in the database and letting Odoo rebuild them.
Error
UncaughtPromiseError > OwlError
Uncaught Promise > An error occured in the owl lifecycle (see this Error's "cause" property)
OwlError: An error occured in the owl lifecycle (see this Error's "cause" property)
Error: An error occured in the owl lifecycle (see this Error's "cause" property)
at handleError (http://localhost:8069/web/assets/76db4ce/web.assets_web.min.js:938:101)
at App.handleError (http://localhost:8069/web/assets/76db4ce/web.assets_web.min.js:1585:29)
at ComponentNode.initiateRender (http://localhost:8069/web/assets/76db4ce/web.assets_web.min.js:1030:19)
Caused by: AssetsLoadingError: The loading of /web/assets/a26ae87/web_editor.backend_assets_wysiwyg.min.js failed
Error: The loading of /web/assets/a26ae87/web_editor.backend_assets_wysiwyg.min.js failed
at HTMLScriptElement.<anonymous> (http://localhost:8069/web/assets/76db4ce/web.assets_web.min.js:1647:270)Root cause
- Corrupted/broken cached assets in
ir_assetandir_attachment, often after code changes, failed builds, or switching branches. - Odoo keeps asset bundles in the database and file store; if stale, the browser receives bad URLs and scripts fail to load.
Fix (SQL)
Run these queries against your Odoo database (PostgreSQL). Ensure you have a backup first.
sql
-- Remove the specific broken asset
DELETE FROM ir_asset WHERE name LIKE '%web_editor.backend_assets_wysiwyg.min.js%';
-- Clear generated web asset attachments so Odoo can rebuild them
DELETE FROM ir_attachment WHERE url LIKE '/web/assets/%';
-- Clear backend bundles (both exact and fuzzy, as needed)
DELETE FROM ir_asset WHERE bundle = 'web.assets_backend';
DELETE FROM ir_asset WHERE bundle LIKE '%backend%';
-- As a last resort, clear all assets (broad)
DELETE FROM ir_asset;After running SQL
- Restart Odoo (and workers if using multi-worker setup).
- Clear browser cache (or do a hard refresh) to avoid stale asset URLs.
- If using
--dev=assetsor custom pipelines, rebuild assets and refresh.
Notes
- Prefer targeted deletes first; use the broad
DELETE FROM ir_asset;only if necessary. - If you use filestore on disk or S3, no manual deletion is needed; Odoo regenerates assets.
- Always verify you are connected to the correct database before executing destructive queries.