[FIX] viin_ai_chat: widen exception tuple in AI draft attribution path
message_post can raise ValueError (subject/recipient validation) and
UserError (sender email config) per Odoo CE 17 mail_thread.py. Previous
narrow tuple (AccessError, MissingError) caused user to lose draft when
hitting these. Expanded to keep best-effort attribution intent.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| Subbuilds | Name | State | Detail |
|---|---|---|---|
| Build 381332 | Check the quality with Pylint: from test_lint to test_pylint 14m | Failed | Log |
| Build 381333 | At install tests: from account to website_twitter 124m | Succeed | Log |
| Build 381334 | Post install tests: step install all modules 64m | Succeed | Log |
| Build 381335 | Post install tests: from account to payment_alipay 155m | Succeed | Log |
| Build 381336 | Post install tests: from payment_aps to test_viin_web_cohort 185m | Succeed | Log |
| Build 381337 | Post install tests: from test_website to to_website_apps_store 75m | Succeed | Log |
| Build 381338 | Post install tests: from to_website_apps_store_loc to viin_estimate_sale 79m | Failed | Log |
| Build 381339 | Post install tests: from viin_event_checkin_website to viin_project_gantt 39m | Succeed | Log |
| Build 381340 | Post install tests: from viin_project_progress to website_twitter 49m | Succeed | Log |
| Build 381341 | Test install all modules without demo data: from account to website_twitter 54m | Succeed | Log |
| Create Date | Level | Message |
|---|---|---|
| 05/02/2026 12:15:16 | INFO |
Updated repository Viindoo-odoo
|
| 05/02/2026 12:15:16 | INFO |
Updated repository Viindoo-tvtmaaddons
|
| 05/02/2026 12:15:16 | INFO |
Updated repository Viindoo-erponline-enterprise
|
| 05/02/2026 12:15:16 | INFO |
Updated repository Viindoo-branding
|
| 05/02/2026 12:15:16 | INFO |
Cloned repository Viindoo-ai
|
| 05/02/2026 12:30:16 | ERROR |
Subbuild # 381332:
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-fb9347c-221682/viin_ai_agent/tests/test_sql_template.py:156:9: F841 local variable 'p_visible' is assigned to but never used
/data/build/rb-fb9347c-221682/viin_ai_chat/models/mail_compose_message.py:19:1: F401 'odoo.api' imported but unused
|
| 05/02/2026 12:30:16 | ERROR |
Subbuild # 381332:
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-fb9347c-221682/viin_ai_agent/tests/test_parallel_tool_execution.py:358
------------------------------------
Your code has been rated at 10.00/10
|
| 05/02/2026 12:30:16 | ERROR |
Subbuild # 381332:
odoo.modules.loading: Module test_pylint: 2 failures, 0 errors of 7 tests
|
| 05/02/2026 12:30:16 | ERROR |
Subbuild # 381332:
odoo.modules.loading: At least one test failed when loading the modules.
|
| 05/02/2026 12:30:16 | ERROR |
Subbuild # 381332:
odoo.tests.result: 2 failed, 0 error(s) of 24 tests when loading database 'rb-fb9347c-221682-381332'
|
| 05/02/2026 14:40:28 | ERROR |
Subbuild # 381338:
odoo.addons.viin_ai_agent.tests.test_parallel_tool_execution: ERROR: TestParallelToolExecution.test_serialization_failure_propagates
Traceback (most recent call last):
File "/data/build/rb-fb9347c-221682/viin_ai_agent/tests/test_parallel_tool_execution.py", line 348, in test_serialization_failure_propagates
self.agent.run(
File "/data/build/rb-fb9347c-221682/viin_ai_agent/models/agent.py", line 656, in run
tool_results = self._execute_tool_calls_sequential(
File "/data/build/rb-fb9347c-221682/viin_ai_agent/models/agent.py", line 455, in _execute_tool_calls_sequential
return [
File "/data/build/rb-fb9347c-221682/viin_ai_agent/models/agent.py", line 456, in <listcomp>
self._execute_one_tool_call(call, tool_by_name)
File "/data/build/rb-fb9347c-221682/viin_ai_agent/tests/test_parallel_tool_execution.py", line 327, in raising_one_tool
exc.pgcode = SERIALIZATION_FAILURE
AttributeError: readonly attribute
|
| 05/02/2026 14:40:28 | ERROR |
Subbuild # 381338:
odoo.addons.viin_ai_agent.tests.test_parallel_tool_execution: ERROR: TestParallelToolExecution.test_user_error_becomes_tool_error
Traceback (most recent call last):
File "/data/build/rb-fb9347c-221682/viin_ai_agent/tests/test_parallel_tool_execution.py", line 384, in test_user_error_becomes_tool_error
result = self.agent.run(
File "/data/build/rb-fb9347c-221682/viin_ai_agent/models/agent.py", line 656, in run
tool_results = self._execute_tool_calls_sequential(
File "/data/build/rb-fb9347c-221682/viin_ai_agent/models/agent.py", line 455, in _execute_tool_calls_sequential
return [
File "/data/build/rb-fb9347c-221682/viin_ai_agent/models/agent.py", line 456, in <listcomp>
self._execute_one_tool_call(call, tool_by_name)
File "/data/build/rb-fb9347c-221682/viin_ai_agent/tests/test_parallel_tool_execution.py", line 358, in raising_one_tool
raise UserError('boom: business invariant')
odoo.exceptions.UserError: boom: business invariant
|
| 05/02/2026 14:40:28 | ERROR |
Subbuild # 381338:
ERROR: operator does not exist: jsonb ~~ unknown
|
| 05/02/2026 14:40:28 | ERROR |
Subbuild # 381338:
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 14:40:28 | ERROR |
Subbuild # 381338:
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-fb9347c-221682/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-fb9347c-221682/viin_ai_agent/models/sql_template.py", line 264, 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 14:40:28 | ERROR |
Subbuild # 381338:
odoo.tests.result: 0 failed, 3 error(s) of 1750 tests when loading database 'rb-fb9347c-221682-381338'
|