[19.0][MIG] sentry_client: Migration to 19.0#3622
Draft
dnplkndll wants to merge 2 commits into
Draft
Conversation
762af18 to
abcc1b6
Compare
fad4ab7 to
498fed8
Compare
dnplkndll
added a commit
to ledoent/server-tools
that referenced
this pull request
May 25, 2026
…nfig Backport of the 19.0 module (OCA#3622) to 18.0. Identical feature set; only the API surfaces that changed between series are adapted: - `user.all_group_ids` (19.0) → `user.groups_id` (18.0). 19.0 split the groups field into a stored direct collection plus a computed transitive closure; on 18.0 `groups_id` already returns the full set. - `group.privilege_id.category_id` (19.0) → `group.category_id` (18.0). 19.0 introduced the privilege layer between groups and categories; on 18.0 groups carry the category directly. - Manifest version `18.0.1.0.0`. Everything else — Connection UI block (Browser DSN / Environment / Release) with odoo.conf [sentry] fallback, four tier toggles with sample-rate knobs, vendored Sentry SDK under static/lib, OWL ErrorBoundary capturing the wrapping error and dedup-marking it, per-tab UUID + workflow_id tags, per-user replay opt-out, and the `surface` tag (backend|portal|frontend) for cross-surface filtering in a shared sentry.io project — ports verbatim. The OWL `error_handlers` registry, settings `<block>`/`<setting>` pattern, and asset bundle keys are identical between 18.0 and 19.0.
dnplkndll
added a commit
to ledoent/server-tools
that referenced
this pull request
May 25, 2026
…nfig Backport of the 19.0 module (OCA#3622) to 18.0. Identical feature set; only the API surfaces that changed between series are adapted: - `user.all_group_ids` (19.0) → `user.groups_id` (18.0). 19.0 split the groups field into a stored direct collection plus a computed transitive closure; on 18.0 `groups_id` already returns the full set. - `group.privilege_id.category_id` (19.0) → `group.category_id` (18.0). 19.0 introduced the privilege layer between groups and categories; on 18.0 groups carry the category directly. - Manifest version `18.0.1.0.0`. Everything else — Connection UI block (Browser DSN / Environment / Release) with odoo.conf [sentry] fallback, four tier toggles with sample-rate knobs, vendored Sentry SDK under static/lib, OWL ErrorBoundary capturing the wrapping error and dedup-marking it, per-tab UUID + workflow_id tags, per-user replay opt-out, and the `surface` tag (backend|portal|frontend) for cross-surface filtering in a shared sentry.io project — ports verbatim. The OWL `error_handlers` registry, settings `<block>`/`<setting>` pattern, and asset bundle keys are identical between 18.0 and 19.0.
498fed8 to
9dc1ea5
Compare
dnplkndll
added a commit
to ledoent/server-tools
that referenced
this pull request
May 25, 2026
…nfig Backport of the 19.0 module (OCA#3622) to 18.0. Identical feature set; only the API surfaces that changed between series are adapted: - `user.all_group_ids` (19.0) → `user.groups_id` (18.0). 19.0 split the groups field into a stored direct collection plus a computed transitive closure; on 18.0 `groups_id` already returns the full set. - `group.privilege_id.category_id` (19.0) → `group.category_id` (18.0). 19.0 introduced the privilege layer between groups and categories; on 18.0 groups carry the category directly. - Manifest version `18.0.1.0.0`. Everything else — Connection UI block (Browser DSN / Environment / Release) with `odoo.conf [sentry]` fallback, four tier toggles with sample-rate knobs, vendored Sentry SDK under `static/lib`, OWL ErrorBoundary capturing the wrapping error and dedup-marking it, per-tab UUID + `workflow_id` + `surface` tags, per-user replay opt-out, and the public `/sentry_client/config.json` endpoint — ports verbatim. The OWL `error_handlers` registry, settings `<block>`/`<setting>` pattern, and asset bundle keys are identical between 18.0 and 19.0.
…nfig Backport of the 19.0 module (OCA#3622) to 18.0. Identical feature set; only the API surfaces that changed between series are adapted: - `user.all_group_ids` (19.0) → `user.groups_id` (18.0). 19.0 split the groups field into a stored direct collection plus a computed transitive closure; on 18.0 `groups_id` already returns the full set. - `group.privilege_id.category_id` (19.0) → `group.category_id` (18.0). 19.0 introduced the privilege layer between groups and categories; on 18.0 groups carry the category directly. - Manifest version `18.0.1.0.0`. Everything else — Connection UI block (Browser DSN / Environment / Release) with `odoo.conf [sentry]` fallback, four tier toggles with sample-rate knobs, vendored Sentry SDK under `static/lib`, OWL ErrorBoundary capturing the wrapping error and dedup-marking it, per-tab UUID + `workflow_id` + `surface` tags, per-user replay opt-out, and the public `/sentry_client/config.json` endpoint — ports verbatim. The OWL `error_handlers` registry, settings `<block>`/`<setting>` pattern, and asset bundle keys are identical between 18.0 and 19.0.
Cherry-pick of the 18.0 [ADD] commit on top of 19.0 base, plus the three API adaptations 19.0 introduced: - `user.groups_id` → `user.all_group_ids`. 19.0 split the groups field into a stored direct collection (`groups_id`) plus a computed transitive closure (`all_group_ids`); we want the closure so role tags include inherited groups. - `group.category_id` → `group.privilege_id.category_id`. 19.0 introduced the privilege layer between groups and categories. - Manifest version `18.0.1.0.0` → `19.0.1.0.0`. Everything else — Connection UI block, four tier toggles with sample-rate knobs, vendored Sentry SDK under `static/lib`, OWL ErrorBoundary capturing the wrapping error and dedup-marking it, per-tab UUID + `workflow_id` + `surface` tags, per-user replay opt-out, the public `/sentry_client/config.json` endpoint, the systray feedback launcher, the three split Tier-3 settings cards — ports verbatim. The OWL `error_handlers` registry, settings `<block>`/`<setting>` pattern, asset bundle keys (`web.assets_backend`, `web.assets_frontend`), `@web/core/registry` imports, `_t` translation idiom, and `Component` from `@odoo/owl` are all identical between 18.0 and 19.0.
9dc1ea5 to
80a8d6f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[DRAFT] 19.0 port of #3627
(
[18.0][ADD] sentry_client). Hold for review until the 18.0 lead PRlands — opened now to make the 19.0 delta visible alongside.
Commit ladder
The
[MIG]commit is the diff a reviewer needs to evaluate.API adaptations in the [MIG] commit
user.groups_id→user.all_group_ids. 19.0 split the groupsfield into a stored direct collection (
groups_id) plus a computedtransitive closure (
all_group_ids). We want the closure so roletags include inherited groups.
group.category_id→group.privilege_id.category_id. 19.0introduced the privilege layer between groups and categories.
18.0.1.0.0→19.0.1.0.0.That's the full delta. The OWL
error_handlersregistry, settings<block>/<setting>pattern, asset bundle keys(
web.assets_backend,web.assets_frontend),@web/core/registryimports,
_ttranslation idiom, andComponentfrom@odoo/owlareall identical between 18.0 and 19.0.
Refer to the 18.0 PR for
reference.
patterns).
public config endpoint, replay opt-out,
surfacetag, bundleselection, vendored SDK).