- Shipped
- September 2, 2026 at 4:29 AM UTC
- Author
- Kamo
- Commit
- d49b0fd
ReportScopeResolver, its test and this class's own javadoc all name alsoGrantedBy, and ReportSecurityScope has had SELF/TEAM/ORGANIZATION since the framework landed. The builder method and the three accessors behind them did not, so SecurityService did not compile: getTeamRight, getOwnRight and grantingRights were called against a type that has never declared them. That took prod down in a way that looks unrelated to reporting. The build for the Report Studio commit went red, so SecurityService kept running the image from the commit before it, whose ServiceType has no REPORTS. A KamoInitializer run had meanwhile seeded the root org's master model with every non-deprecated ServiceType as FORCE_ENABLED, REPORTS among them, and **************** is @Enumerated(STRING). One unreadable row later, every read of that model threw: GET /api/security/master-model 500'd, so the Master Model button disappeared from Branch Types, and FeatureController could not list features, so kamocrm's apps stopped appearing for everybody. Purely additive. Both arguments are nullable and none of the nine shipped reports names either, so no report's scope changes; grantingRights on a report that names neither is exactly the required right it always was.