Name:
[IMP] viin_brain,viin_web_editor: UI hardening v1 (token + polish + Odoo-native + v2 seams)
State:
Failed
finished in 19m
PR State:
merged
PR Author:
David Tran
PR Author Email:
PR:
#27
Committer:
David Tran
Committer Email:
davidtran.hp@gmail.com
Commit:
536043f80d03e1832249d5bd4fa78cb9c85e49b0
Description:
[FIX] viin_brain: P11 BrainFormSidebar visible — display:contents wrapper
Pre-existing P11 gap surfaced by P8 round 3 capture verification:
BrainFormSidebar (panel/rail/strip layout modes) was completely
invisible on every bridge form (HR Employee, Sale Order, CRM Lead,
Project Task) despite the bridge XML hook + form_compilers registry
entry + OWL component being correctly wired.
Root cause:
- brain_form_sidebar_compiler.js wraps the OWL component instance in
<div class="o_brain_form_sidebar_container">, then appends that
wrapper alongside the chatter container under
parentEl(o_form_sheet_bg) — exactly matching mail's chatter pattern.
- The wrapper had NO matching CSS rule in brain_form_sidebar.scss.
- Default block layout: width:100% + display:block.
- The form's flex-flow row container (.o_form_view.o_xxl_form_view,
form_controller.scss:1099) treated the wrapper as a full-width row
child, pushing the actual sidebar (.o_brain_form_sidebar.--{panel,
rail,strip}) off the visible flex track. On standard desktop this
put the sidebar below the page content, frequently off-viewport.
Fix:
- Add display:contents on .o_brain_form_sidebar_container so the
wrapper participates in DOM but disappears from layout — its single
child .o_brain_form_sidebar.--{mode} becomes the direct flex sibling
of o_form_sheet_bg and o-mail-Form-chatter, matching the layout
intent expressed in the compiler's append() call.
Verified via Visual Evidence MCP session 20260503-1931-brain-ui-p8r3-batch4
on Sale Order S00007 at 1600x1100 viewport (≥SIZES.XXL → rail mode):
- shot-002: rail collapsed (44px vertical "BRAIN" label) on far right
alongside chatter
- shot-003: rail expanded (320px panel) showing "Brain · Knowledge
linked to this record" header + "PAGES MENTIONING THIS RECORD"
section + empty state + "+ Create a note about this record" CTA —
matches mockup P11 (docs/brain/mockups/v3/screenshots/P11.png)
structurally.
Brain v3 CI: 8 PASS / 1 pre-existing WARN (rule2 contenteditable).
AC-1 hex grep: 0 violations (display:contents is a CSS keyword, no
literals introduced).
Refs PR #27.
Branch:
17.0
Instance ID:
0
Age:
Up-time: