Name: [IMP] viin_brain,viin_web_editor: UI hardening v1 (token + polish + Odoo-native + v2 seams)

State: Killed

PR State: merged

PR Author: David Tran

PR Author Email:

PR: #27

Committer: David Tran

Committer Email: davidtran.hp@gmail.com

Commit: 7de5441830a80cec113b54f8aca38aa7681c3edf

Description:

                                            [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.
                                            

Branch: 17.0

Instance ID: 0

Age:

Up-time: Not finished

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