Skip to content

Graph's delete permission needs a refactor #12012

@jvillafanez

Description

@jvillafanez

Describe the bug

Some of the internal requests that happen when a space manager removes a member from a space are weird

Steps to reproduce

  1. Remove a user from a space
  2. Resend the exact same request

Expected behavior

Either no error happens because the user has been already removed, or a clear error is shown

Actual behavior

Even with owncloud/reva#527 patch applied, there are weird error logs:

{"level":"info","service":"gateway","pkg":"rgrpc","traceid":"143fd9c25333e92449b59e2a4b647cb5","time":"2026-02-11T13:09:28Z","line":"/home/juan/src/ocis/ocis/vendor/github.com/owncloud/reva/v2/internal/grpc/services/gateway/publicshareprovider.go:75","message":"get public share"}
{"level":"info","service":"sharing","pkg":"rgrpc","traceid":"143fd9c25333e92449b59e2a4b647cb5","publicshareprovider":"get","time":"2026-02-11T13:09:28Z","line":"/home/juan/src/ocis/ocis/vendor/github.com/owncloud/reva/v2/internal/grpc/services/publicshareprovider/publicshareprovider.go:417","message":"get public share"}
{"level":"info","service":"storage-system","pkg":"rgrpc","traceid":"339d8360a33698a344cf773b70d53785","time":"2026-02-11T13:09:28Z","line":"/home/juan/src/ocis/ocis/vendor/github.com/owncloud/reva/v2/internal/grpc/services/authprovider/authprovider.go:146","message":"user idp:\"internal\" opaque_id:\"4bce0814-5756-40a6-8385-dafe6f2c9e09\" type:USER_TYPE_PRIMARY authenticated"}
{"level":"error","service":"graph","graph api":"DrivesDriveItemService","error":"itemNotFound: error: not found: no shares found by id:opaque_id:\"u:7e21589b-4856-4366-9558-312c6b30f994\"","permissionID":"u:7e21589b-4856-4366-9558-312c6b30f994","time":"2026-02-11T13:09:28Z","line":"/home/juan/src/ocis/ocis/services/graph/pkg/service/v0/base.go:844","message":"GetPublicShare failed"}

That error seems to come from https://github.com/owncloud/ocis/blob/master/services/graph/pkg/service/v0/api_driveitem_permissions.go#L561 , from the getLinkPermissionResourceID method, but neither the result nor the error are considered for spaces.
It's a superfluous call that triggers an error log. This will be confusing to debug.

Setup

Please describe how you started the server and provide a list of relevant environment variables or configuration files.

Details

OCIS_XXX=somevalue
OCIS_YYY=somevalue
PROXY_XXX=somevalue

Additional context

Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions