Description: ai_app_adhoc
Commit: ingadhoc-odoo-saas-adhoc:febf15fd  
Subject: [IMP] ai_app_adhoc: add graph view to AI Chats
Author: Lara
Committer: Lara
Commit: ingadhoc-odoo-saas:6c45f50d  
Subject: [FIX] saas_provider: resume database before running SQL on reactivate
Author: Andrés Zacchino
Committer: Andrés Zacchino
Commit: ingadhoc-enterprise-extensions:27250d39  
Subject: Update translation files
Author: Weblate
Committer: Weblate
Commit: tuqui-ai-odoo-addons:12f24d70  
Subject: [FIX] tuqui: pre-commit (pylint_odoo) + copilot review nits
Author: Juan José Scarafia
Committer: Juan José Scarafía
Commit: ingadhoc-hr:ed9c6450  
Subject: [I18N] hr_holidays_google_calendar: export source terms
Author: ADHOC - Bot
Committer: ADHOC - Bot
Commit: ingadhoc-account-payment:027b5de8  
Subject: Update translation files
Author: Weblate
Committer: Weblate
Commit: ingadhoc-miscellaneous:0c5498eb  
Subject: Update translation files
Author: Weblate
Committer: Weblate
Commit: ingadhoc-odoo-argentina:ce23266e  
Subject: [BOT] Bump version: l10n_ar_tax 19.0.1.25.0
Author: roboadhoc
Committer: roboadhoc
Commit: ingadhoc-odoo-argentina-ee:78616dd0  
Subject: [FIX] l10n_ar_import_bill: fix sale journal domain filter in AFIP import wizard
Author: Camila Vives
Committer: Camila Vives
Commit: ingadhoc-website:2cb9f447  
Subject: [BOT] Bump version: l10n_ar_website_sale_ux 19.0.1.3.0
Author: roboadhoc
Committer: roboadhoc
Commit: ingadhoc-sale:e32dd430  
Subject: [FIX] sale_ux: add tests and handle missing product_id in advance payment wizard
Author: Franco Leyes
Committer: Franco Leyes
Commit: ingadhoc-stock:8b1493de  
Subject: Added translation using Weblate (Spanish)
Author: Luciano Esperlazza
Committer: Weblate
Commit: ingadhoc-product:c39df992  
Subject: [FIX] product_catalog_aeroo_report: add pre-migration script for category type migration
Author: Franco Leyes
Committer: Franco Leyes
Commit: ingadhoc-multi-company:d84e986f  
Subject: Update translation files
Author: Weblate
Committer: Weblate
Commit: plugberry-payment:0811b9e4  
Subject: Update translation files
Author: Weblate
Committer: Weblate
Commit: ingadhoc-argentina-sale:070edc57  
Subject: Update translation files
Author: Weblate
Committer: Weblate
Commit: ingadhoc-account-financial-tools:37dc5d1e  
Subject: [REV] account_ux: revert use partner as delivery when computing fp
Author: Camila Vives
Committer: Camila Vives
Commit: ingadhoc-purchase:0b1e8167  
Subject: [FIX] purchase_ux: add product_id and selected_seller_id to name compute depends
Author: les-adhoc
Committer: les-adhoc
Commit: ingadhoc-uruguay:a14e48ab  
Subject: [FIX] l10n_uy_ux: remove mobile field from padron UY wizard
Author: Julia Elizondo
Committer: Julia Elizondo
Commit: ingadhoc-partner:0fbe0d98  
Subject: [IMP]partner_creation_access: Add access rule to allow users with sales user access to edit partners and send messages/notes, but not to create contacts.
Author: mav-adhoc
Committer: mav-adhoc
Commit: ingadhoc-aeroo_reports:31ef122c  
Subject: [FIX]report_to_printer: translations
Author: Juan Ignacio Carreras
Committer: Juan Ignacio Carreras
Commit: plugberry-pagos360:62d5eed1  
Subject: [IMP] payment_pagos360: fix pagos360 use sudo when get apikey
Author: Martin Quinteros
Committer: Martin Quinteros
Commit: ingadhoc-demo:e98eb52a  
Subject: [IMP] demo_base_minimal: use unique emails per user based on last name
Author: Lara
Committer: Lara
Commit: ingadhoc-account-invoicing:db80423c  
Subject: [FIX] account_invoice_tax: skip tax override on posted moves
Author: Rocío Vega
Committer: Rocío Vega
Commit: ingadhoc-project:4fa7f9b6  
Subject: Update translation files
Author: Weblate
Committer: Weblate
Commit: ingadhoc-delivery:72306439  
Subject: [ADD] Add new copilot instructions
Author: Joaquin Arroyo
Committer: Virginia Bonservizi
Commit: ingadhoc-third-party-apps:92122dbd  
Subject: [UPD] Copilot instructions
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: ingadhoc-multi-store:0b88fffc  
Subject: Update pre-commit config from template
Author: Virginia
Committer: Virginia
Commit: plugberry-mercadopago:5d49315f  
Subject: [UPD] Initialize version 19.0
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-hr:9e10d5a5  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-odoo-odoo:e2ed1e42  
Subject: Merge commit 'refs/pull/230101/head' of github.com:odoo/odoo into 19.0-22410
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-pos:4cecf6d0  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-stock-logistics-request:11ba089c  
Subject: Merge commit 'refs/pull/91/head' of github.com:oca/stock-logistics-request into 19.0-22392
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-account-analytic:28742def  
Subject: Merge commit 'refs/pull/858/head' of github.com:oca/account-analytic into 19.0-22407
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-stock-logistics-availability:69b640ad  
Subject: Merge commit 'refs/pull/64/head' of github.com:oca/stock-logistics-availability into 19.0-22466
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-account-reconcile:045dca4c  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-timesheet:696d20b8  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-odoo-enterprise:5f7d5eb4  
Subject: Merge commit 'refs/pull/106529/head' of github.com:odoo/enterprise into 19.0-22448
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-survey:9a6f3d89  
Subject: [MIG] partner_survey: Migration to 19.0
Author: mav-adhoc
Committer: mav-adhoc
Commit: adhoc-cicd-oca-website:67b5a5e2  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-server-backend:a8f1f140  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-odoo-design-themes:64ca4e27  
Subject: [I18N] *: fetch latest Weblate translations
Author: Odoo Translation Bot
Committer: Odoo Translation Bot
Commit: adhoc-cicd-oca-partner-contact:021b8609  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-server-auth:e440f020  
Subject: Merge commit 'refs/pull/853/head' of github.com:oca/server-auth into 19.0-22382
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-knowledge:253a63c9  
Subject: Translated using Weblate (Slovenian)
Author: Matjaz Mozetic
Committer: Weblate
Commit: adhoc-cicd-oca-product-attribute:bed63bd1  
Subject: Merge commit 'refs/pull/2125/head' of github.com:oca/product-attribute into 19.0-22364
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-brand:5e8672ef  
Subject: Merge commit 'refs/pull/300/head' of github.com:oca/brand into 19.0-22452
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-mis-builder:95c04d09  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-account-invoicing:2c41260e  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-stock-logistics-workflow:d49f1099  
Subject: Merge commit 'refs/pull/2161/head' of github.com:oca/stock-logistics-workflow into 19.0-22403
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-management-system:2a6bd996  
Subject: Translated using Weblate (Italian)
Author: mymage
Committer: Weblate
Commit: adhoc-cicd-oca-server-ux:3b4d803e  
Subject: Merge commit 'refs/pull/1182/head' of github.com:oca/server-ux into 19.0-22366
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-e-commerce:8d2dc005  
Subject: Merge commit 'refs/pull/1193/head' of github.com:oca/e-commerce into 19.0-22454
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-hr-expense:18a0b1c9  
Subject: Initial commit
Author: OCA Bot
Committer: OCA Bot
Commit: adhoc-cicd-oca-manufacture:4e18d0d6  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-crm:3454280b  
Subject: Translated using Weblate (Slovenian)
Author: Matjaz Mozetic
Committer: Weblate
Commit: adhoc-cicd-oca-stock-logistics-barcode:1603617f  
Subject: Translated using Weblate (Slovenian)
Author: Matjaz Mozetic
Committer: Weblate
Commit: adhoc-cicd-oca-project:13d1725f  
Subject: Translated using Weblate (Dutch)
Author: Bosd
Committer: Weblate
Commit: adhoc-cicd-oca-server-tools:7b36f1e0  
Subject: Merge commit 'refs/pull/3580/head' of github.com:oca/server-tools into 19.0-22365
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-social:3aff69f3  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-purchase-workflow:c61c3274  
Subject: Merge commit 'refs/pull/2879/head' of github.com:oca/purchase-workflow into 19.0-22390
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-stock-logistics-warehouse:b1322a3e  
Subject: Merge commit 'refs/pull/2532/head' of github.com:oca/stock-logistics-warehouse into 19.0-22449
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-web:768e2971  
Subject: Merge commit 'refs/pull/3310/head' of github.com:oca/web into 19.0-22393
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-product-pack:d6ee8aaf  
Subject: Merge commit 'refs/pull/229/head' of github.com:oca/product-pack into 19.0-22461
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-hr-holidays:88325324  
Subject: Translated using Weblate (Slovenian)
Author: Matjaz Mozetic
Committer: Weblate
Commit: adhoc-cicd-oca-reporting-engine:302136be  
Subject: Translated using Weblate (Slovenian)
Author: Matjaz Mozetic
Committer: Weblate
Commit: adhoc-cicd-oca-sale-workflow:0bb271dc  
Subject: Merge commit 'refs/pull/3933/head' of github.com:oca/sale-workflow into 19.0-22290
Author: adhoc-cicd-bot
Committer: adhoc-cicd-bot
Commit: adhoc-cicd-oca-bank-statement-import:c92c0826  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Commit: adhoc-cicd-oca-report-print-send:619d209a  
Subject: [BOT] post-merge updates
Author: OCA-git-bot
Committer: OCA-git-bot
Version: 19.0
Config: Odoo by Adhoc Config (with translations)
Build time: 89s
Wait time: 99s
Load time: 1m29s
Date Level Type Message
2026-06-17 17:38:45 INFO runbot Init build environment with config Odoo by Adhoc Config (with translations)
2026-06-17 17:38:45 Starting step all-without-test from config Odoo by Adhoc Config (with translations)
2026-06-17 17:38:45 Using Dockerfile Tag odoo:adhoc_odoo_19
2026-06-17 17:38:54 INFO server odoo.modules.loading:350 1 modules loaded in 4.57s, 9460 queries (+9460 extra)
2026-06-17 17:39:21 INFO server odoo.modules.loading:350 82 modules loaded in 24.31s, 47305 queries (+50146 extra)
2026-06-17 17:39:34 INFO runbot Getting results for build 84745-19-0
2026-06-17 17:39:34 Step all-without-test finished in 38s
2026-06-17 17:39:34 Starting step setup from config Odoo by Adhoc Config (with translations)
2026-06-17 17:39:34 Using Dockerfile Tag odoo:adhoc_odoo_19
2026-06-17 17:40:11 INFO runbot Step setup finished in 1s
2026-06-17 17:40:11 Skipping step pot_github_push from config Odoo by Adhoc Config (with translations)
2026-06-17 17:40:11 Starting step run from config Odoo by Adhoc Config (with translations)
2026-06-17 17:40:11 INFO runbot build has a parent, skip run
2026-06-17 17:40:19 INFO runbot Step run finished in 8s
2026-06-17 17:53:01 INFO runbot Wake up initiated by Lara Valeri (lav)
2026-06-17 17:53:07 Waking up build
2026-06-17 17:53:07 INFO runbot Start running build 84745-19-0
2026-06-17 17:53:07 Using Dockerfile Tag odoo:adhoc_odoo_19
2026-06-17 17:53:09 INFO server odoo.modules.loading:350 1 modules loaded in 0.00s, 0 queries (+0 extra)
2026-06-17 17:53:10 INFO server odoo.modules.loading:350 82 modules loaded in 1.17s, 0 queries (+0 extra)
2026-06-17 17:53:43 WARNING server py.warnings:343
/data/build/ingadhoc-odoo-saas-adhoc/ai_app_adhoc/models/discuss_channel.py:215: DeprecationWarning: Deprecated since 19.0, use self.env.context directly
  File "/usr/local/lib/python3.12/threading.py", line 1032, in _bootstrap
    self._bootstrap_inner()
  File "/usr/local/lib/python3.12/threading.py", line 1075, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.12/threading.py", line 1012, in run
    self._target(*self._args, **self._kwargs)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/service/server.py", line 1342, in _runloop
    self.process_work()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/service/server.py", line 1451, in process_work
    IrCron._process_jobs(db_name)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 199, in _process_jobs
    cls._process_jobs_loop(cron_cr, job_ids=[job['id'] for job in jobs])
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 236, in _process_jobs_loop
    registry[IrCron._name]._process_job(cron_cr, job)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 436, in _process_job
    status = cls._run_job(job)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 505, in _run_job
    cron._callback(job['cron_name'], job['ir_actions_server_id'])
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 688, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1177, in run
    res = action.sudo()._run(records, eval_context)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1190, in _run
    res = runner(run_self, eval_context=eval_context)
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 59, in _run_action_code_multi
    res = super()._run_action_code_multi(eval_context)
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1014, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", filename=str(self))
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 408, in safe_eval
    return unsafe_eval(c, globals_dict, None)
  File "ir.actions.server(35,)", line 1, in <module>
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_autovacuum.py", line 49, in _run_vacuum_cleaner
    result = func(model)
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_app_adhoc/models/discuss_channel.py", line 229, in _remove_ai_chat_channels
    ).unlink()
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_app_adhoc/models/discuss_channel.py", line 215, in unlink
    if self._context.get("do_not_unlink"):
2026-06-17 17:53:43 ERROR server odoo.addons.ai.models.ai_embedding:141 Failed to process batch 1/1 for model text-embedding-3-small: No API key set for provider 'openai'
2026-06-17 17:53:43 WARNING server odoo.addons.base.models.ir_qweb:2496 Found deprecated directive @t-raw="'\\n'" in template 588. Replace by @t-out, and explicitely wrap content in `Markup` if necessary (which likely is not the case)
2026-06-17 17:53:44 ERROR server odoo.addons.base.models.ir_cron:508
Job '[AI] Process Meeting Notes' (24) server action #250 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 265, in compile_codeobj
    expr = expr.strip()  # eval() does not like leading/trailing whitespace
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 80, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 404, in safe_eval
    c = compile_codeobj(expr, filename=filename, mode=mode)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 270, in compile_codeobj
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 505, in _run_job
    cron._callback(job['cron_name'], job['ir_actions_server_id'])
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 688, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1177, in run
    res = action.sudo()._run(records, eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1190, in _run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 59, in _run_action_code_multi
    res = super()._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1014, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", filename=str(self))
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 408, in safe_eval
    return unsafe_eval(c, globals_dict, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(250,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 32, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 113, in _get_service
    credential = self.gs_auth2_credential()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 95, in gs_auth2_credential
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 84, in _gs_auth2_get_token
    raise UserError(_("Invalid Google Credential token."))
odoo.exceptions.UserError: Invalid Google Credential token.
2026-06-17 17:53:44 ERROR server odoo.addons.ai.models.ai_embedding:141 Failed to process batch 1/1 for model text-embedding-3-small: No API key set for provider 'openai'
2026-06-17 18:09:25 ERROR server odoo.addons.base.models.ir_cron:508
Job '[AI] Process Meeting Notes' (24) server action #250 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 265, in compile_codeobj
    expr = expr.strip()  # eval() does not like leading/trailing whitespace
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 80, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 404, in safe_eval
    c = compile_codeobj(expr, filename=filename, mode=mode)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 270, in compile_codeobj
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 505, in _run_job
    cron._callback(job['cron_name'], job['ir_actions_server_id'])
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 688, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1177, in run
    res = action.sudo()._run(records, eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1190, in _run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 59, in _run_action_code_multi
    res = super()._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1014, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", filename=str(self))
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 408, in safe_eval
    return unsafe_eval(c, globals_dict, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(250,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 32, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 113, in _get_service
    credential = self.gs_auth2_credential()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 95, in gs_auth2_credential
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 84, in _gs_auth2_get_token
    raise UserError(_("Invalid Google Credential token."))
odoo.exceptions.UserError: Invalid Google Credential token.
2026-06-17 18:39:21 ERROR server odoo.addons.base.models.ir_cron:508
Job '[AI] Process Meeting Notes' (24) server action #250 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 265, in compile_codeobj
    expr = expr.strip()  # eval() does not like leading/trailing whitespace
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 80, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 404, in safe_eval
    c = compile_codeobj(expr, filename=filename, mode=mode)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 270, in compile_codeobj
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 505, in _run_job
    cron._callback(job['cron_name'], job['ir_actions_server_id'])
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 688, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1177, in run
    res = action.sudo()._run(records, eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1190, in _run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 59, in _run_action_code_multi
    res = super()._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1014, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", filename=str(self))
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 408, in safe_eval
    return unsafe_eval(c, globals_dict, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(250,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 32, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 113, in _get_service
    credential = self.gs_auth2_credential()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 95, in gs_auth2_credential
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 84, in _gs_auth2_get_token
    raise UserError(_("Invalid Google Credential token."))
odoo.exceptions.UserError: Invalid Google Credential token.
2026-06-17 19:09:33 ERROR server odoo.addons.base.models.ir_cron:508
Job '[AI] Process Meeting Notes' (24) server action #250 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 265, in compile_codeobj
    expr = expr.strip()  # eval() does not like leading/trailing whitespace
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 80, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 404, in safe_eval
    c = compile_codeobj(expr, filename=filename, mode=mode)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 270, in compile_codeobj
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 505, in _run_job
    cron._callback(job['cron_name'], job['ir_actions_server_id'])
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 688, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1177, in run
    res = action.sudo()._run(records, eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1190, in _run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 59, in _run_action_code_multi
    res = super()._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1014, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", filename=str(self))
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 408, in safe_eval
    return unsafe_eval(c, globals_dict, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(250,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 32, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 113, in _get_service
    credential = self.gs_auth2_credential()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 95, in gs_auth2_credential
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 84, in _gs_auth2_get_token
    raise UserError(_("Invalid Google Credential token."))
odoo.exceptions.UserError: Invalid Google Credential token.
2026-06-17 19:40:16 ERROR server odoo.addons.base.models.ir_cron:508
Job '[AI] Process Meeting Notes' (24) server action #250 failed
Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 265, in compile_codeobj
    expr = expr.strip()  # eval() does not like leading/trailing whitespace
           ^^^^^^^^^^
AttributeError: 'bool' object has no attribute 'strip'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 80, in _gs_auth2_get_token
    token = safe_eval(param_sudo.get_param("gs_auth2.token_json"))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 404, in safe_eval
    c = compile_codeobj(expr, filename=filename, mode=mode)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 270, in compile_codeobj
    raise ValueError('%r while compiling\n%r' % (e, expr))
ValueError: AttributeError("'bool' object has no attribute 'strip'") while compiling
False

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 505, in _run_job
    cron._callback(job['cron_name'], job['ir_actions_server_id'])
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_cron.py", line 688, in _callback
    self.env['ir.actions.server'].browse(server_action_id).run()
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1177, in run
    res = action.sudo()._run(records, eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1190, in _run
    res = runner(run_self, eval_context=eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/addons/website/models/ir_actions_server.py", line 59, in _run_action_code_multi
    res = super()._run_action_code_multi(eval_context)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/addons/base/models/ir_actions.py", line 1014, in _run_action_code_multi
    safe_eval(self.code.strip(), eval_context, mode="exec", filename=str(self))
  File "/data/build/adhoc-cicd-odoo-odoo/odoo/tools/safe_eval.py", line 408, in safe_eval
    return unsafe_eval(c, globals_dict, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ir.actions.server(250,)", line 1, in <module>
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/meeting_notes.py", line 136, in _cron_process_meeting_notes
    documents += self.env["google.service"].get_documents_metadata(name, minutes=minutes)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/ai_meeting_notes/models/google_service.py", line 32, in get_documents_metadata
    drive_service = self._get_service("drive", "v3")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 113, in _get_service
    credential = self.gs_auth2_credential()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 95, in gs_auth2_credential
    token = self._gs_auth2_get_token()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data/build/ingadhoc-odoo-saas-adhoc/google_service/models/google_service.py", line 84, in _gs_auth2_get_token
    raise UserError(_("Invalid Google Credential token."))
odoo.exceptions.UserError: Invalid Google Credential token.
2026-06-17 19:44:18 INFO runbot Kill build 84745-19-0