From a66c7761b64b4e4538798a04f242471ffaa8cf5a Mon Sep 17 00:00:00 2001 From: Greg Pstrucha <875316+gricha@users.noreply.github.com> Date: Fri, 23 Oct 2026 18:56:26 -0700 Subject: [PATCH] build(auth): Bump sentry-viewercontext to 0.2.0 0.2.0 narrows Actor.user_id to users and agents, so get_acting_user_id delegates to it instead of repeating the type check. --- pyproject.toml | 2 +- src/sentry/viewer_context.py | 16 ++-------------- uv.lock | 6 +++--- 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3481d666bacb..5637a87fc29a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -98,7 +98,7 @@ dependencies = [ "sentry-options>=1.2.15", "sentry-protos>=0.91.0", "sentry-redis-tools>=0.5.0", - "sentry-viewercontext>=0.1.0", + "sentry-viewercontext>=0.2.0", "sentry-relay>=0.10.1", "sentry-scm>=1.9.0", "sentry-sdk[http2]>=2.72.0", diff --git a/src/sentry/viewer_context.py b/src/sentry/viewer_context.py index edf5d030086c..4fcaa4e6597f 100644 --- a/src/sentry/viewer_context.py +++ b/src/sentry/viewer_context.py @@ -55,20 +55,8 @@ def get_acting_user_id(ctx: ViewerContext | None) -> int | None: - """Return the human user *ctx* acts as, or ``None``. - - A user actor acts as itself and an agent acts for its delegating user. Other - actor types never resolve to a user, so a stray ``delegated_user_id`` on them - cannot grant user identity. - """ - if ctx is None: - return None - actor = ctx.actor - if actor.type == ActorType.USER: - return actor.actor_id - if actor.type == ActorType.AGENT: - return actor.delegated_user_id - return None + """Return the human user *ctx* acts as, or ``None``.""" + return ctx.actor.user_id if ctx is not None else None def observe_viewer_context_propagation( diff --git a/uv.lock b/uv.lock index 07b7c8372d4a..28d849b67e0d 100644 --- a/uv.lock +++ b/uv.lock @@ -2442,7 +2442,7 @@ requires-dist = [ { name = "sentry-scm", specifier = ">=1.9.0" }, { name = "sentry-sdk", extras = ["http2"], specifier = ">=2.72.0" }, { name = "sentry-usage-accountant", specifier = ">=0.0.10" }, - { name = "sentry-viewercontext", specifier = ">=0.1.0" }, + { name = "sentry-viewercontext", specifier = ">=0.2.0" }, { name = "simplejson", specifier = ">=3.17.6" }, { name = "slack-sdk", specifier = ">=3.40.1" }, { name = "snuba-sdk", specifier = ">=3.0.43" }, @@ -2694,13 +2694,13 @@ wheels = [ [[package]] name = "sentry-viewercontext" -version = "0.1.0" +version = "0.2.0" source = { registry = "https://pypi.devinfra.sentry.io/simple" } dependencies = [ { name = "pyjwt" }, ] wheels = [ - { url = "https://pypi.devinfra.sentry.io/wheels/sentry_viewercontext-0.1.0-py3-none-any.whl", hash = "sha256:388161ccf93af22ed0c3bd6e48ac4875b05d096e6839edd68befe47ec8b15132" }, + { url = "https://pypi.devinfra.sentry.io/wheels/sentry_viewercontext-0.2.0-py3-none-any.whl", hash = "sha256:c9621daade77f995b0c24f602ba11b9c2269f93d6372dc0194ad71a8b1f4c29c" }, ] [[package]]