The CSS rule .o_action_manager { overflow: auto !important; } leaks
globally — Odoos outer action container is the same element across
EVERY page in the webclient. On viewports above the xxl breakpoint
(~1500px) this overflow setting collapses flex sizing of children,
shrinking form sheets to ~3mm. erp incident 2026-05-09: New Project
form on Construction app rendered as a 3mm-wide column. Visible only
on wide viewports because narrower ones hit different responsive
breakpoints.
Move the overflow declaration INSIDE the .construction_dashboard
scope so it applies only on the dashboard page (where it was meant to
apply in the first place).
- 12 oe_chatter <div> blocks migrated to <chatter/> (Odoo 18 modern pattern)
Removes Missing widget: mail_followers/mail_activity/mail_thread warnings.
- renderGraph guards against empty/all-zero series. ApexCharts was producing
M NaN NaN SVG paths when total=0 in donut/pie charts. Now shows No data.
- Removed two leftover console.log(..., dasdsa) debug calls in
static/src/js/construction_dashboard.js.
User-visible: chatter renders cleanly, no SVG NaN console errors, no
debug noise.
Odoo 18 SettingsFormCompiler.compileApp reads el.getAttribute("name")
and passes it to toStringExpression(). Without the name attribute the
result is null -> null.replaceAll(...) -> TypeError -> Owl lifecycle
crash, Settings page renders white. Old data-key="..." attribute is
no longer recognized.
Add name="tk_construction_management" alongside data-key for
backward compat.