[FIX] viin_brain: P8 round 3 — ShareDialog uses dialog.add() service
Pre-existing OwlError "Cannot make the given value reactive" surfaced
in P8 round 3 boil-the-lake captures: clicking Share in the page header
consistently overlayed the full-page Odoo Client Error.
Root cause: <ShareDialog/> was rendered directly inside the BrainApp
template via t-if="state.showShareDialog". Odoo 17 base Dialog.setup()
calls useState(this.env.dialogData), and dialogData is only injected
when a dialog is opened through the dialog service (DialogWrapper +
WithEnv). With direct child rendering, env.dialogData is undefined and
useState(undefined) throws.
Refactor to canonical Odoo 17 pattern (per @web/core/dialog/dialog and
ConfirmationDialog reference): open ShareDialog imperatively via
dialog.add(), let the service inject `close` and provide env.dialogData.
Changes:
- brain_app.js: useService("dialog"); onOpenShare() now calls
this.dialog.add(ShareDialog, {...}); state.showShareDialog and
onCloseShare removed; ShareDialog dropped from static components.
- brain_app.xml: removed <ShareDialog/> render block (replaced with a
comment explaining the imperative-open requirement).
- share_dialog.js: props.onClose -> props.close (service-injected);
prop schema updated.
- share_dialog.xml: <Dialog onClose=...> attribute removed (Dialog
closes itself via env.dialogData); Cancel button calls props.close().
Verified via Visual Evidence MCP session 20260503-1844-brain-ui-p8r3-batch2:
ShareDialog now opens cleanly with public-link toggle visible (shot-004).
Brain v3 CI: 8 PASS / 1 pre-existing WARN (rule2 contenteditable baseline).
AC-1 hex grep: 0 violations.
Refs PR #27.
| Subbuilds | Name | State | Detail |
|---|---|---|---|
| Build 381460 | Check the quality with Pylint: from test_lint to test_pylint | Killed | Log |
| Build 381461 | At install tests: from account to website_twitter | Killed | Log |
| Build 381462 | Post install tests: step install all modules | Killed | Log |
| Build 381463 | Post install tests: from account to payment_alipay | Killed | |
| Build 381464 | Post install tests: from payment_aps to test_viin_web_cohort | Killed | |
| Build 381465 | Post install tests: from test_website to to_website_apps_store | Killed | |
| Build 381466 | Post install tests: from to_website_apps_store_loc to viin_estimate_sale | Killed | |
| Build 381467 | Post install tests: from viin_event_checkin_website to viin_project_gantt | Killed | |
| Build 381468 | Post install tests: from viin_project_progress to website_twitter | Killed | |
| Build 381469 | Test install all modules without demo data: from account to website_twitter | Killed | Log |
| Create Date | Level | Message |
|---|---|---|
| 05/03/2026 19:25:20 | INFO |
Updated repository Viindoo-odoo
|
| 05/03/2026 19:25:20 | INFO |
Updated repository Viindoo-tvtmaaddons
|
| 05/03/2026 19:25:20 | INFO |
Updated repository Viindoo-erponline-enterprise
|
| 05/03/2026 19:25:20 | INFO |
Updated repository Viindoo-branding
|
| 05/03/2026 19:25:20 | INFO |
Cloned repository Viindoo-ai
|