odoo / o-spreadsheet

Other
180 stars 39 forks source link

[FIX] CF: Ignore errors thrown during CF evaluation #4597

Closed rrahir closed 6 days ago

rrahir commented 3 weeks ago

How to reproduce:

-> the whole grid crashes

Historically, the CF evaluation was wrapped in a try-catch statement and it was removed https://github.com/odoo/o-spreadsheet/pull/3380 as it seemed unnecessary. Unfortunately, since there is no check on the formula validity when we create the CF, the call to compile can crash.

A future improvement (targetting master) will align the behaviour of "cellIsRule" with the other CF type ("ColorScaleRule" and "IconSetRule") and catch invalid formulas in the allowDispatch.

Task: 4036921

Description:

description of this task, what is implemented and why it is implemented that way.

Task: : TASK_ID

review checklist

robodoo commented 3 weeks ago

Pull request status dashboard

LucasLefevre commented 2 weeks ago

robodoo fw=no

improved in saas-17.1 with https://github.com/odoo/o-spreadsheet/pull/2932

robodoo commented 2 weeks ago

Forward-port disabled.

LucasLefevre commented 2 weeks ago

robodoo fw=master ?

robodoo commented 2 weeks ago

@LucasLefevre unknown fw configuration 'master'.

For your own safety I've ignored everything in your entire comment.

Currently available commands:

command
help displays this help
r(eview)+ approves the PR, if it's a forwardport also approves all non-detached parents
r(eview)=<number> only approves the specified parents
fw=no does not forward-port this PR
fw=default forward-ports this PR normally
fw=skipci does not wait for a forward-port's statuses to succeed before creating the next one
up to <branch> only ports this PR forward to the specified branch (included)
merge integrate the PR with a simple merge commit, using the PR description as message
rebase-merge rebases the PR on top of the target branch the integrates with a merge commit, using the PR description as message
rebase-ff rebases the PR on top of the target branch, then fast-forwards
squash squashes the PR as a single commit on the target branch, using the PR description as message
delegate+ grants approval rights to the PR author
delegate=<...> grants approval rights on this PR to the specified github users
default stages the PR normally
priority tries to stage this PR first, then adds default PRs if the staging has room
alone stages this PR only with other PRs of the same priority
cancel=staging automatically cancels the current staging when this PR becomes ready
override=<...> marks overridable statuses as successful
check fetches or refreshes PR metadata, resets mergebot state

Note: this help text is dynamic and will change with the state of the PR.

LucasLefevre commented 2 weeks ago

Thanks robodoo!

robodoo fw=default

robodoo commented 2 weeks ago

Waiting for CI to create followup forward-ports.