Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FW][FIX] Cell: Fix detection of markdown links #3434

Closed
wants to merge 1 commit into from

Conversation

fw-bot
Copy link
Collaborator

@fw-bot fw-bot commented Jan 15, 2024

The current regex of markdown link would purposely discard any [label](link) combination for which the label contained an opening bracket [, the reason behind it was to reject strings for which the label itself contained a markdown link as the markdown spec [1] specifies that we capture square brackets immediately followed by parenthesis. However, we should still support a label that contains closed square brackets (e.g. [Label has [brackets]](link). Applying the proper rule to detect an exact link would be more costy than the current regex and considering that it will be called on all evaluated cell when reevaluated.

Since the current regex is too restrictive, this revision relaxes it with the downside that it will now also capture strings that are technically not exact markdown links but better have false positive than false negatives. The regex also becomes simpler.

[1] https://spec-md.com/#sec-Links

Task: 3628780

Description:

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

Task: : TASK_ID

review checklist

  • feature is organized in plugin, or UI components
  • support of duplicate sheet (deep copy)
  • in model/core: ranges are Range object, and can be adapted (adaptRanges)
  • in model/UI: ranges are strings (to show the user)
  • undo-able commands (uses this.history.update)
  • multiuser-able commands (has inverse commands and transformations where needed)
  • new/updated/removed commands are documented
  • exportable in excel
  • translations (_t("qmsdf %s", abc))
  • unit tested
  • clean commented code
  • track breaking changes
  • doc is rebuild (npm run doc)
  • status is correct in Odoo

Forward-Port-Of: #3419
Forward-Port-Of: #3352

The current regex of markdown link would purposely discard any
`[label](link)` combination for which the label contained an opening
bracket `[`, the reason behind it was to reject strings for which the label
itself contained a markdown link as the markdown spec [1] specifies that we
capture square brackets immediately followed by parenthesis. However, we
should still support a label that contains closed square brackets
(e.g. `[Label has [brackets]](link)`. Applying the proper rule to detect
an exact link would be more costy than the current regex and considering
that it will be called on all evaluated cell when reevaluated.

Since the current regex is too restrictive, this revision relaxes it with
the downside that it will now also capture strings that are technically not
exact markdown links but better have false positive than false negatives.
The regex also becomes simpler.

[1] https://spec-md.com/#sec-Links

Task: 3628780
X-original-commit: a93f0cd
@robodoo
Copy link
Collaborator

robodoo commented Jan 15, 2024

@fw-bot
Copy link
Collaborator Author

fw-bot commented Jan 15, 2024

This PR targets saas-16.2 and is part of the forward-port chain. Further PRs will be created up to master.

More info at https://github.com/odoo/odoo/wiki/Mergebot#forward-port

robodoo pushed a commit that referenced this pull request Jan 15, 2024
The current regex of markdown link would purposely discard any
`[label](link)` combination for which the label contained an opening
bracket `[`, the reason behind it was to reject strings for which the label
itself contained a markdown link as the markdown spec [1] specifies that we
capture square brackets immediately followed by parenthesis. However, we
should still support a label that contains closed square brackets
(e.g. `[Label has [brackets]](link)`. Applying the proper rule to detect
an exact link would be more costy than the current regex and considering
that it will be called on all evaluated cell when reevaluated.

Since the current regex is too restrictive, this revision relaxes it with
the downside that it will now also capture strings that are technically not
exact markdown links but better have false positive than false negatives.
The regex also becomes simpler.

[1] https://spec-md.com/#sec-Links

closes #3434

Task: 3628780
X-original-commit: a93f0cd
Signed-off-by: Pierre Rousseau (pro) <pro@odoo.com>
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
@robodoo robodoo closed this Jan 15, 2024
@fw-bot fw-bot deleted the saas-16.2-15.0-markdown-reg-rar-Ivlz-fw branch January 29, 2024 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants