Odoo 19 removed the rpc web service (and the user service): useService("rpc") throws at component setup(), so any component still requesting it crashes the moment it is mounted.
Two components on 19.0 still use it:
spp_change_request_v2/static/src/components/review_panel/review_panel.js:27 — this.rpc = useService("rpc");
spp_dci_compliance/static/src/components/security_warning/security_warning.js:19 — this.rpc = useService("rpc");
The asset bundle compiles fine (imports resolve), so this only surfaces at runtime when the component is actually rendered — the same latent-crash class fixed for the masked_char widget in #232.
Fix: replace with the Odoo 19 APIs already used elsewhere in the repo (e.g. spp_farmer_registry/static/src/js/registry_restriction.js, spp_gis):
import {rpc} from "@web/core/network/rpc"; for custom routes, or the orm service (useService("orm")) for model method calls;
import {user} from "@web/core/user"; where the removed user service is needed.
Each fix should verify the component actually renders afterward (these two evidently have no test/tour coverage that mounts them, or CI would have caught the crash).
Odoo 19 removed the
rpcweb service (and theuserservice):useService("rpc")throws at componentsetup(), so any component still requesting it crashes the moment it is mounted.Two components on 19.0 still use it:
spp_change_request_v2/static/src/components/review_panel/review_panel.js:27—this.rpc = useService("rpc");spp_dci_compliance/static/src/components/security_warning/security_warning.js:19—this.rpc = useService("rpc");The asset bundle compiles fine (imports resolve), so this only surfaces at runtime when the component is actually rendered — the same latent-crash class fixed for the
masked_charwidget in #232.Fix: replace with the Odoo 19 APIs already used elsewhere in the repo (e.g.
spp_farmer_registry/static/src/js/registry_restriction.js,spp_gis):import {rpc} from "@web/core/network/rpc";for custom routes, or theormservice (useService("orm")) for model method calls;import {user} from "@web/core/user";where the removeduserservice is needed.Each fix should verify the component actually renders afterward (these two evidently have no test/tour coverage that mounts them, or CI would have caught the crash).