Name: [ADD/FIX] viin_ai: Phase 3.5 hardening + Phase 3.7 features (SRS v1.1 follow-up)

State: Failed finished in 19m

PR State: merged

PR Author: David Tran

PR Author Email:

PR: #23

Committer: David Tran

Committer Email: davidtran.hp@gmail.com

Commit: fa73ae51d7a699ea7d3266f17a9e0c7579e340f4

Description:

                                            [FIX] cluster ai17: address runbot lint + sql_template ACL failures (build 221687)

CI runner Viindoo runbot exposed real failures on PR #23 commit abcb66e
that local Chrome-flaky test runs had hidden:

* test_pylint test_eslint (267 violations) — eslint v6 on dev box could
  not parse the ``es2022`` env key so every lint check silently exited
  config-error; CI runs eslint v8 cleanly.
* test_pylint test_flake8 — 2 unused name lints
* test_pylint test_pylint — UserError missing translation
* viin_ai_agent.tests.test_sql_template — postgres ``operator does not
  exist: jsonb ~~ unknown`` on ``res_partner.name LIKE ...``

Fixes:

  page_editor.js:1484 — drop unused catch binding ``_err`` (eslint
    no-unused-vars). The empty ``catch {}`` form is supported since
    Odoo 17 ships ECMAScript 2019+ asset bundles.

  mail_compose_message.py:19 — drop unused ``api`` import (no
    decorators in this module).

  test_sql_template.py:156-193 — restore ``p_visible`` local (was
    flagged unused after the names→ids assertion rewrite). Switch the
    SQL template to ``name::text LIKE '%%TPL-%%-PARTNER%%'`` and the
    Python assertion to compare ids: in Odoo 17 ``res_partner.name``
    is a translated ``Char``, persisted as jsonb (e.g.
    ``{"en_US": "TPL-VISIBLE-PARTNER"}``), so the previous direct
    ``name LIKE`` invokes the missing ``jsonb ~~`` operator. The
    ``::text`` cast matches the JSON-serialised form regardless of
    which language key the row uses, and asserting on ids removes the
    test's reliance on a specific language key in the SELECT clause.

  test_parallel_tool_execution.py:25 + :366 — wrap the boom string
    in ``_(…)``. Test fixtures still flow through Odoo's UserError
    translation path so pylint's ``odoolint-translation-required``
    rule needs to see ``_()`` even on hard-coded test text.

  Tour JS files (brain_content_type_tokens, brain_floating_toolbar,
  brain_slash_autosave, brain_slash_focus) — additional prettier
  trailing-comma + parenthesis fixes that eslint v8 ``--fix``
  surfaces over the v6 configuration error.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
                                            

Branch: 17.0

Instance ID: 0

Age:

Up-time:

Subbuilds Name State Detail
Build 381380 Check the quality with Pylint: from test_lint to test_pylint 19m Failed Log
Build 381381 At install tests: from account to website_twitter 118m Succeed Log
Build 381382 Post install tests: step install all modules 64m Succeed Log
Build 381383 Post install tests: from account to payment_alipay 144m Succeed Log
Build 381384 Post install tests: from payment_aps to test_viin_web_cohort 170m Succeed Log
Build 381385 Post install tests: from test_website to to_website_apps_store 69m Succeed Log
Build 381386 Post install tests: from to_website_apps_store_loc to viin_estimate_sale 79m Succeed Log
Build 381387 Post install tests: from viin_event_checkin_website to viin_project_gantt 34m Succeed Log
Build 381388 Post install tests: from viin_project_progress to website_twitter 44m Failed Log
Build 381389 Test install all modules without demo data: from account to website_twitter 48m Succeed Log
Create Date Level Message
05/02/2026 22:05:44 INFO
Updated repository Viindoo-odoo
05/02/2026 22:05:44 INFO
Updated repository Viindoo-tvtmaaddons
05/02/2026 22:05:44 INFO
Updated repository Viindoo-erponline-enterprise
05/02/2026 22:05:44 INFO
Updated repository Viindoo-branding
05/02/2026 22:05:44 INFO
Cloned repository Viindoo-ai
05/02/2026 22:25:33 ERROR
Subbuild # 381380: odoo.addons.test_pylint.tests.test_eslint: FAIL: TestESLint.test_eslint Traceback (most recent call last): File "/data/build/Viindoo-tvtmaaddons-17.0/test_pylint/tests/test_eslint.py", line 67, in test_eslint self.assertEqual(process.returncode, 0, msg=f""" AssertionError: 1 != 0 : stdout: /data/build/rb-fa73ae5-221688/viin_ai_agent/static/tests/tours/wi17_server_action_ai_prompt_form.js 25:88 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_ai_agent/static/tests/tours/wi18_agent_traces_smart_button.js 22:94 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_ai_base/static/tests/tours/wi18_usage_log_raw_http_button.js 22:90 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_ai_base/static/tests/tours/wi18_usage_log_replay_button_group_system.js 23:96 error Delete `,` prettier/prettier 61:96 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_ai_brain/static/src/components/brain_ai_write_dialog/brain_ai_write_dialog.js 79:40 error Delete `,` prettier/prettier 88:35 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_ai_search/static/src/js/ask_ai_button.js 100:22 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/apps/brain_app/brain_app.js 134:21 error Delete `··` prettier/prettier 135:1 error Delete `··` prettier/prettier 213:40 error Delete `,` prettier/prettier 269:65 error Delete `,` prettier/prettier 467:35 error Delete `,` prettier/prettier 513:42 error Delete `,` prettier/prettier 517:42 error Delete `,` prettier/prettier 737:101 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/ai_review_panel/ai_review_panel.js 75:18 error Delete `,` prettier/prettier 134:94 error Delete `,` prettier/prettier 190:18 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/backlink_panel/backlink_panel.js 152:34 error Delete `,` prettier/prettier 169:34 error Delete `,` prettier/prettier 254:30 error Delete `,` prettier/prettier 314:77 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/brain_header/brain_header.js 78:36 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/daily_context_panel/daily_context_panel.js 70:29 error Delete `,` prettier/prettier 87:29 error Delete `,` prettier/prettier 106:29 error Delete `,` prettier/prettier 125:29 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/database_inline_block/database_inline_block.js 37:37 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/database_view/database_board_view.js 34:90 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/database_view/database_gallery_view.js 54:76 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/database_view/database_view.js 71:55 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/embed_blocks/embed_page_block.js 88:40 error Delete `,` prettier/prettier 117:39 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/embed_blocks/embed_record_block.js 64:40 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/embed_blocks/embed_recordset_block.js 67:40 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/embed_picker/embed_picker.js 153:53 error Delete `,` prettier/prettier 177:49 error Delete `,` prettier/prettier 225:49 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/empty_state/empty_state.js 49:36 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/graph_panel/graph_panel.js 97:34 error Delete `,` prettier/prettier 179:34 error Delete `,` prettier/prettier 253:49 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/moderation_panel/moderation_panel.js 58:18 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/page_editor/page_editor.js 230:18 error Delete `,` prettier/prettier 330:27 error Delete `,` prettier/prettier 373:34 error Delete `,` prettier/prettier 420:39 error Delete `,` prettier/prettier 797:40 error Delete `,` prettier/prettier 824:40 error Delete `,` prettier/prettier 831:38 error Delete `,` prettier/prettier 882:35 error Delete `,` prettier/prettier 1013:23 error Delete `,` prettier/prettier 1112:31 error Delete `,` prettier/prettier 1264:39 error Delete `,` prettier/prettier 1285:67 error Delete `,` prettier/prettier 1462:39 error Delete `,` prettier/prettier 1517:82 error Replace `)[c],` with `[c])` prettier/prettier 1562:94 error Replace `)[c],` with `[c])` prettier/prettier 1567:99 error Delete `,` prettier/prettier 1608:43 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/quick_switcher/quick_switcher.js 315:56 error Delete `,` prettier/prettier 333:81 error Delete `,` prettier/prettier 368:82 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/share_dialog/share_dialog.js 63:29 error Delete `,` prettier/prettier 90:26 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/slash_command_prompt_dialog/slash_command_prompt_dialog.js 47:63 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/snapshot_chrome/snapshot_chrome.js 115:39 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/template_picker_dialog/template_picker_dialog.js 56:71 error Delete `,` prettier/prettier 84:23 error Delete `,` prettier/prettier 92:35 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/timeline_view/timeline_view.js 143:58 error Delete `,` prettier/prettier 194:49 error Delete `,` prettier/prettier 198:31 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/components/vault_sidebar/vault_sidebar.js 212:44 error Delete `,` prettier/prettier 613:46 error Delete `,` prettier/prettier 868:36 error Delete `,` prettier/prettier 897:46 error Delete `,` prettier/prettier 947:40 error Delete `,` prettier/prettier 966:40 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/registries/brain_commands.js 37:74 error Replace `)[c],` with `[c])` prettier/prettier 167:29 error Delete `,` prettier/prettier 207:26 error Delete `,` prettier/prettier 244:24 error Delete `,` prettier/prettier 292:39 error Delete `,` prettier/prettier 302:84 error Delete `,` prettier/prettier 305:66 error Delete `,` prettier/prettier 309:37 error Delete `,` prettier/prettier 319:25 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/registries/brain_decorator_providers.js 61:39 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/slash_commands.js 200:82 error Replace `)[c],` with `[c])` prettier/prettier 236:82 error Replace `)[c],` with `[c])` prettier/prettier 269:82 error Replace `)[c],` with `[c])` prettier/prettier 323:74 error Replace `)[c],` with `[c])` prettier/prettier 365:24 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/src/views/form/brain_form_sidebar_universal.js 54:93 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/brain_app_tests.js 95:65 error Delete `,` prettier/prettier 100:56 error Delete `,` prettier/prettier 105:59 error Delete `,` prettier/prettier 127:63 error Delete `,` prettier/prettier 132:59 error Delete `,` prettier/prettier 137:10 error Delete `,` prettier/prettier 155:62 error Delete `,` prettier/prettier 160:54 error Delete `,` prettier/prettier 165:10 error Delete `,` prettier/prettier 180:42 error Delete `,` prettier/prettier 186:10 error Delete `,` prettier/prettier 202:64 error Delete `,` prettier/prettier 207:62 error Delete `,` prettier/prettier 247:66 error Delete `,` prettier/prettier 262:57 error Delete `,` prettier/prettier 267:10 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/backlink_panel_grouping_tests.js 61:35 error Delete `,` prettier/prettier 81:54 error Delete `,` prettier/prettier 92:44 error Delete `,` prettier/prettier 124:53 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/backlink_panel_isempty_tests.js 75:77 error Delete `,` prettier/prettier 77:6 error Delete `,` prettier/prettier 103:17 error Delete `,` prettier/prettier 109:74 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/brain_slash_menu_focus_tests.js 99:81 error Delete `,` prettier/prettier 105:79 error Delete `,` prettier/prettier 109:84 error Delete `,` prettier/prettier 114:6 error Delete `,` prettier/prettier 169:100 error Delete `,` prettier/prettier 174:6 error Delete `,` prettier/prettier 220:85 error Delete `,` prettier/prettier 225:6 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/floating_toolbar_focus_tests.js 55:72 error Delete `,` prettier/prettier 58:6 error Delete `,` prettier/prettier 99:61 error Delete `,` prettier/prettier 102:6 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/keyboard_shortcuts_overlay_tests.js 78:6 error Delete `,` prettier/prettier 123:6 error Delete `,` prettier/prettier 130:74 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/quick_switcher_virtual_list_tests.js 89:78 error Delete `,` prettier/prettier 104:59 error Delete `,` prettier/prettier 120:93 error Delete `,` prettier/prettier 129:88 error Delete `,` prettier/prettier 133:58 error Delete `,` prettier/prettier 148:65 error Delete `,` prettier/prettier 165:47 error Delete `,` prettier/prettier 172:60 error Delete `,` prettier/prettier 196:86 error Delete `,` prettier/prettier 239:70 error Delete `,` prettier/prettier 256:67 error Delete `,` prettier/prettier 282:78 error Delete `,` prettier/prettier 301:67 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/template_picker_dialog_tests.js 99:6 error Delete `,` prettier/prettier 127:45 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/use_drag_resize_tests.js 190:52 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/use_layout_storage_tests.js 98:41 error Delete `,` prettier/prettier 108:20 error Delete `,` prettier/prettier 110:44 error Delete `,` prettier/prettier 133:47 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/vault_sidebar_perf_tests.js 121:87 error Delete `,` prettier/prettier 144:56 error Replace `⏎················4,⏎············)}·ms·<·${FLAT_ROWS_CACHE_HIT_BUDGET_MS}·ms`,` with `4)}·ms·<·${FLAT_ROWS_CACHE_HIT_BUDGET_MS}·ms`` prettier/prettier 162:103 error Delete `,` prettier/prettier 186:89 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/components/vault_sidebar_virtual_scroll_tests.js 131:87 error Delete `,` prettier/prettier 154:84 error Delete `,` prettier/prettier 237:81 error Delete `,` prettier/prettier 241:83 error Delete `,` prettier/prettier 251:76 error Delete `,` prettier/prettier 255:76 error Delete `,` prettier/prettier 259:76 error Delete `,` prettier/prettier 356:10 error Delete `,` prettier/prettier 369:62 error Delete `,` prettier/prettier 400:72 error Delete `,` prettier/prettier 402:10 error Delete `,` prettier/prettier 432:71 error Delete `,` prettier/prettier 434:10 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/services/collab_step_service_filter_tests.js 44:10 error Delete `,` prettier/prettier 80:14 error Delete `,` prettier/prettier 93:6 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/share_dialog_tests.js 85:10 error Delete `,` prettier/prettier 115:75 error Delete `,` prettier/prettier 120:71 error Delete `,` prettier/prettier 127:63 error Delete `,` prettier/prettier 131:10 error Delete `,` prettier/prettier 163:54 error Delete `,` prettier/prettier 165:10 error Delete `,` prettier/prettier 181:10 error Delete `,` prettier/prettier 205:67 error Delete `,` prettier/prettier 212:62 error Delete `,` prettier/prettier 217:10 error Delete `,` prettier/prettier 239:70 error Delete `,` prettier/prettier 241:10 error Delete `,` prettier/prettier 268:63 error Delete `,` prettier/prettier 276:62 error Delete `,` prettier/prettier 278:10 error Delete `,` prettier/prettier 305:10 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/test_brain_decorator_providers_registered.js 29:67 error Delete `,` prettier/prettier 42:53 error Delete `,` prettier/prettier 58:58 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_3pane_resize_tour.js 119:32 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_ai_filters.js 38:87 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_ai_review.js 55:74 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_collab_activation_tour.js 76:97 error Delete `,` prettier/prettier 89:82 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_conflict_tour.js 26:24 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_content_type_tokens.js 89:77 error Delete `,` prettier/prettier 95:100 error Delete `,` prettier/prettier 103:46 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_embed_recordset.js 50:33 error Delete `,` prettier/prettier 70:90 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_floating_toolbar.js 105:54 error Delete `,` prettier/prettier 240:85 error Delete `,` prettier/prettier 257:69 error Delete `,` prettier/prettier 290:95 error Delete `,` prettier/prettier 295:92 error Delete `,` prettier/prettier 325:78 error Delete `,` prettier/prettier 333:79 error Delete `,` prettier/prettier 340:95 error Delete `,` prettier/prettier 394:62 error Delete `,` prettier/prettier 399:96 error Delete `,` prettier/prettier 405:69 error Delete `,` prettier/prettier 448:87 error Delete `,` prettier/prettier 461:95 error Delete `,` prettier/prettier 481:90 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_keyboard_shortcuts_tour.js 48:23 error Delete `,` prettier/prettier 60:90 error Delete `,` prettier/prettier 80:23 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_presence_pill.js 68:83 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_record_mention.js 81:23 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_slash_focus.js 116:90 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_theme_swap.js 81:92 error Delete `,` prettier/prettier 89:100 error Delete `,` prettier/prettier 95:102 error Delete `,` prettier/prettier 106:79 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_ux_batch_a_tour.js 26:70 error Delete `,` prettier/prettier 85:74 error Delete `,` prettier/prettier 91:71 error Delete `,` prettier/prettier 96:81 error Replace `⏎····························"in·zero-page·mode",` with `·"in·zero-page·mode"` prettier/prettier 133:89 error Delete `,` prettier/prettier 199:95 error Delete `,` prettier/prettier 227:91 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/brain_wikilink.js 76:23 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/timeline_view_tour.js 53:86 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain/static/tests/tours/viin_brain_embed_recordset_tour.js 54:23 error Delete `,` prettier/prettier 212:33 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain_account_reports/static/src/backlink_panel_patch.js 25:39 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain_account_reports/static/src/embed_report_block/embed_report_block.js 71:40 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain_account_reports/static/src/embed_report_lazy_loader.js 48:25 error Delete `,` prettier/prettier 57:14 error Delete `,` prettier/prettier 105:52 error Delete `,` prettier/prettier 128:36 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain_account_reports/static/src/embed_report_picker.js 100:50 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain_account_reports/static/src/slash_commands.js 43:25 error Delete `,` prettier/prettier 50:14 error Delete `,` prettier/prettier 61:74 error Replace `)[c],` with `[c])` prettier/prettier 91:69 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_brain_account_reports/static/tests/tours/brain_embed_report.js 67:33 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_web_editor/static/src/adapters/tiptap_adapter.js 82:90 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_web_editor/static/src/js/powerbox_registry.js 86:83 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_web_editor/static/tests/test_chip_builder.js 31:41 error Delete `,` prettier/prettier 52:48 error Delete `,` prettier/prettier /data/build/rb-fa73ae5-221688/viin_web_editor/static/tests/test_decorator_plugin_isolation.js 24:44 error Delete `,` prettier/prettier 31:54 error Delete `,` prettier/prettier 50:72 error Delete `,` prettier/prettier 59:71 error Delete `,` prettier/prettier ✖ 261 problems (261 errors, 0 warnings) 261 errors and 0 warnings potentially fixable with the `--fix` option. Perhaps you might benefit from installing the tooling found at: https://github.com/odoo/odoo/wiki/Javascript-coding-guidelines#use-a-linter stderr:
05/02/2026 22:25:33 ERROR
Subbuild # 381380: odoo.modules.loading: Module test_pylint: 1 failures, 0 errors of 7 tests
05/02/2026 22:25:33 ERROR
Subbuild # 381380: odoo.modules.loading: At least one test failed when loading the modules.
05/02/2026 22:25:33 ERROR
Subbuild # 381380: odoo.tests.result: 1 failed, 0 error(s) of 24 tests when loading database 'rb-fa73ae5-221688-381380'
05/02/2026 23:55:24 ERROR
Subbuild # 381388: odoo.addons.web.tests.test_assets: ERROR: TestLogsAssetsGenerateTime.test_logs_assets_generate_time Traceback (most recent call last): File "/data/build/Viindoo-odoo-17.0/addons/web/tests/test_assets.py", line 55, in test_logs_assets_generate_time for bundle, duration in list(self.generate_bundles()): File "/data/build/Viindoo-odoo-17.0/addons/web/tests/test_assets.py", line 41, in generate_bundles bundle.js() File "/data/build/Viindoo-odoo-17.0/odoo/addons/base/models/assetsbundle.py", line 347, in js content_bundle = ';\n'.join(asset.minify() for asset in self.javascripts) MemoryError
05/02/2026 23:55:24 ERROR
Subbuild # 381388: odoo.tests.result: 0 failed, 1 error(s) of 1405 tests when loading database 'rb-fa73ae5-221688-381388'