Repository navigation
fix: isolate Data Pruner permissions and recover web authorization - #21
Conversation
Keep pruning controls independent of channel permissions in both UIs. Allow authenticated plugin discovery and recover failed permission loads without stale sessions, duplicate Roles panels, or endless polling. Pin browser CI to the companion Web Client permission fixes. Refs gibson9583/oie-web-support-plugin#11 Refs gibson9583/oie-web-client#112
Use the next release tag instead of the companion development commit. Align the workflow comments and documentation with the release target. Refs #21
pacmano1
left a comment
There was a problem hiding this comment.
Tested against two real 4.6.0 engines (rbac 1.1.3 as the control, this branch on the other), Web Support 1.0.5, and oie-web-client #112 at be9c771.
The Data Pruner fix works. A role with channel Start/Stop and the pruner's View Settings saw Prune Now and Stop Pruner on 1.1.3 and doesn't here. A role with only the pruner grants is the reverse. Logging out and back in as someone else in the same tab picks up the new permissions, and two failed my-permissions calls recover without a reload. Your suite passes 28/28 against be9c771.
Two things:
-
The exception for users with no role doesn't do anything on a real engine. When a no-role user signs in, the web admin's first call is "who am I?" (
GET /api/users/current). RBAC refuses it, the login page shows "Missing permission: any (no role assigned)", and that's the end. Plugin loading would come after that, so it never runs. Same result on 1.1.3 and on this branch. The only change is that a no-role account can now fetch the web plugin files directly, outside the web admin. They aren't secret, so it's harmless, just pointless. The mocked tests answer "who am I?" for everyone, so login always succeeds there and they don't catch it.What's it for? If nothing, drop the four entries and the README sentence. If you want no-role users to land in an empty app instead of the login error, "who am I?" (
getCurrentUser) has to be let through too, and that's a bigger call. The login message already tells them what's wrong. -
Two of the four entries are plain names,
getWebPluginPathsandgetWebPluginResource, that don't exist in 4.6.0. They're for your engine PR, OpenIntegrationEngine/engine#336. The comment just says "native engine servlet", so the next person sees exceptions for things that don't exist and can't tell why. Name engine#336 in the comment.
Bump the version to 1.1.4 in every file that carries it (RELEASING.md, step 1). Run the browser tests against the released web client. #21 pointed the e2e job at web client v1.1.0, which isn't released, so it failed before any test ran. Point it back at v1.0.1; the 11 tests that need web client 1.1.0 features (oie-web-client #112) skip while the pin is older than 1.1, read from OIE_WEB_CLIENT_REF. Bump the tag when v1.1.0 ships and they run (#23). Correct README and CLAUDE.md claims that are no longer true: users without a role are refused at sign-in, CI runs against v1.0.1, and an unmeasured claim about idle engine sessions is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Data Pruner publishes bare Start/Stop task names that collide with channel-control permissions. The web client also needs to load RBAC for users without an assigned role and recover the Roles panel after a temporary permission API failure.
settings_Data Prunerin Swing, JavaScript, and the parity catalog. Channel-control grants remain independent.v1.1.0, the next release containing the companion fixes.Requires companion Web Client PR gibson9583/oie-web-client#112 for permission-tagged controls/navigation, failure-closed plugin bootstrap, and reactive Settings/palette recovery. Browser CI targets the
v1.1.0release tag. Deploy both components together for the complete correction.Validation: 201 Java tests, 66 web unit tests, and 28 real-bundle browser tests passed without browser retries. The package build passed, and the archived web bundle matches the tested bundle. These local checks used the companion Web Client changes. CI checkout of
v1.1.0requires that release tag to be published. Browser engine responses are mocked; no live engine or database was modified.Refs gibson9583/oie-web-support-plugin#11