[FIX] viin_ai_brain: chatgpt_dialog tour replaces dead vault selector and slash-trigger
The chatgpt_dialog tour was failing on three pre-existing issues that
together blocked the entire run:
1. ``.o_brain_vault_item`` is a dead selector — VaultSidebar now
renders ``<select class="o_brain_sidebar_vault_select">`` and
auto-selects the first vault when only one exists. The tour now
waits for ``.o_brain_sidebar`` instead and lets the auto-select
happen.
2. ``run: "text /ai_write"`` only works on input/textarea — the
editor body is a contenteditable div, so the legacy helper threw
``$element.focusIn is not a function``. Synthesise the keystroke
by appending a fresh text node, placing the caret at its end, and
dispatching the ``input`` event the editor listens on.
3. The post-tour assertion silently no-op'd when ``demo_page_welcome``
was absent. Reuse ``TourCaseBase`` (which now backfills the
Welcome page) so the assertion always runs, and make the test
class actually inherit it.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| Subbuilds | Name | State | Detail |
|---|---|---|---|
| Build 381342 | Check the quality with Pylint: from test_lint to test_pylint 14m | Failed | Log |
| Build 381343 | At install tests: from account to website_twitter 129m | Succeed | Log |
| Build 381344 | Post install tests: step install all modules 64m | Succeed | Log |
| Build 381345 | Post install tests: from account to payment_alipay 164m | Succeed | Log |
| Build 381346 | Post install tests: from payment_aps to test_viin_web_cohort 183m | Succeed | Log |
| Build 381347 | Post install tests: from test_website to to_website_apps_store 79m | Succeed | Log |
| Build 381348 | Post install tests: from to_website_apps_store_loc to viin_estimate_sale 89m | Failed | Log |
| Build 381349 | Post install tests: from viin_event_checkin_website to viin_project_gantt 39m | Succeed | Log |
| Build 381350 | Post install tests: from viin_project_progress to website_twitter 48m | Succeed | Log |
| Build 381351 | Test install all modules without demo data: from account to website_twitter 49m | Succeed | Log |
| Create Date | Level | Message |
|---|---|---|
| 05/02/2026 14:50:26 | INFO |
Updated repository Viindoo-odoo
|
| 05/02/2026 14:50:26 | INFO |
Updated repository Viindoo-tvtmaaddons
|
| 05/02/2026 14:50:26 | INFO |
Updated repository Viindoo-erponline-enterprise
|
| 05/02/2026 14:50:26 | INFO |
Updated repository Viindoo-branding
|
| 05/02/2026 14:50:26 | INFO |
Cloned repository Viindoo-ai
|
| 05/02/2026 15:05:38 | ERROR |
Subbuild # 381342:
odoo.addons.test_pylint.tests.test_flake8: FAIL: TestFlake8.test_flake8
Traceback (most recent call last):
File "/data/build/Viindoo-tvtmaaddons-17.0/test_pylint/tests/test_flake8.py", line 91, in test_flake8
self.fail("flake8 test failed:\n" + (b"\n" + out + b"\n" + err).decode('utf-8').strip())
AssertionError: flake8 test failed:
/data/build/rb-26f1836-221683/viin_ai_agent/tests/test_sql_template.py:156:9: F841 local variable 'p_visible' is assigned to but never used
/data/build/rb-26f1836-221683/viin_ai_chat/models/mail_compose_message.py:19:1: F401 'odoo.api' imported but unused
|
| 05/02/2026 15:05:38 | ERROR |
Subbuild # 381342:
odoo.addons.test_pylint.tests.test_pylint: FAIL: TestPyLint.test_pylint
Traceback (most recent call last):
File "/data/build/Viindoo-tvtmaaddons-17.0/test_pylint/tests/test_pylint.py", line 147, in test_pylint
self.fail("pylint test failed:\n" + (b"\n" + out + b"\n" + err).decode('utf-8').strip())
AssertionError: pylint test failed:
************* Module viin_ai_agent.tests.test_parallel_tool_execution
String parameter on "UserError" requires translation. Use _('boom: business invariant') (C8107) at rb-26f1836-221683/viin_ai_agent/tests/test_parallel_tool_execution.py:366
------------------------------------
Your code has been rated at 10.00/10
|
| 05/02/2026 15:05:38 | ERROR |
Subbuild # 381342:
odoo.modules.loading: Module test_pylint: 2 failures, 0 errors of 7 tests
|
| 05/02/2026 15:05:38 | ERROR |
Subbuild # 381342:
odoo.modules.loading: At least one test failed when loading the modules.
|
| 05/02/2026 15:05:38 | ERROR |
Subbuild # 381342:
odoo.tests.result: 2 failed, 0 error(s) of 24 tests when loading database 'rb-26f1836-221683-381342'
|
| 05/02/2026 17:25:19 | ERROR |
Subbuild # 381348:
ERROR: operator does not exist: jsonb ~~ unknown
|
| 05/02/2026 17:25:19 | ERROR |
Subbuild # 381348:
odoo.sql_db: bad query: WITH __acl_allowed AS (SELECT res_partner.id FROM "res_partner" WHERE (((("res_partner"."partner_share" IS NULL OR "res_partner"."partner_share" = FALSE) OR ("res_partner"."company_id" IN (SELECT "res_company"."id" FROM "res_company" WHERE ("res_company"."id" IN (1))))) OR "res_partner"."company_id" IS NULL) AND (("res_partner"."id" != '1286') OR "res_partner"."id" IS NULL))) SELECT id, name FROM res_partner WHERE id IN (SELECT id FROM __acl_allowed) AND name LIKE 'TPL-%%-PARTNER'
LINE 1: ...ERE id IN (SELECT id FROM __acl_allowed) AND name LIKE 'TPL-...
^
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
| 05/02/2026 17:25:19 | ERROR |
Subbuild # 381348:
odoo.addons.viin_ai_agent.tests.test_sql_template: ERROR: TestSqlTemplateAclAndExecute.test_ir_rule_subquery_acl
Traceback (most recent call last):
File "/data/build/rb-26f1836-221683/viin_ai_agent/tests/test_sql_template.py", line 186, in test_ir_rule_subquery_acl
rows = tpl.with_user(regular).execute({})
File "/data/build/rb-26f1836-221683/viin_ai_agent/models/sql_template.py", line 269, in execute
cr.execute(full_sql, params)
File "/data/build/Viindoo-odoo-17.0/odoo/sql_db.py", line 342, in execute
res = self._obj.execute(query, params)
psycopg2.errors.UndefinedFunction: operator does not exist: jsonb ~~ unknown
LINE 1: ...ERE id IN (SELECT id FROM __acl_allowed) AND name LIKE 'TPL-...
^
HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
|
| 05/02/2026 17:25:19 | ERROR |
Subbuild # 381348:
odoo.tests.result: 0 failed, 1 error(s) of 1750 tests when loading database 'rb-26f1836-221683-381348'
|