Skip to content

Conversation

@markstory
Copy link
Member

Mulligan on #104552 which broke sentry-wizard.

We render the bulk of our HTML via ReactPage. Right now that endpoint is marked as all_silo to make integration with tests simpler. Switch these endpoints to control as we're trying to have a minimal number of endpoints marked as all_silo and I want to better understand the scope of test failures from this change.

This time around I've limited the excluded views to only subclasses of ReactPage as we do have HTML views that the UI code uses.

Refs INFRENG-238

Mulligan on #104552 which broke sentry-wizard.

We render the bulk of our HTML via ReactPage. Right now that endpoint is
marked as all_silo to make integration with tests simpler. Switch these
endpoints to control as we're trying to have a minimal number of
endpoints marked as all_silo and I want to better understand the scope
of test failures from this change.

This time around I've limited the excluded views to only subclasses of
`ReactPage` as we *do* have HTML views that the UI code uses.

Refs INFRENG-238
@linear
Copy link

linear bot commented Jan 8, 2026

@github-actions github-actions bot added Scope: Frontend Automatically applied to PRs that change frontend components Scope: Backend Automatically applied to PRs that change backend components labels Jan 8, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Jan 8, 2026

🚨 Warning: This pull request contains Frontend and Backend changes!

It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently.

Have questions? Please ask in the #discuss-dev-infra channel.

if isinstance(func, functools.partial):
func = func.func
if hasattr(func, "view_class"):
elif hasattr(func, "view_class"):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Logic change breaks view_class extraction for partial-wrapped views

Medium Severity

The change from if to elif for the view_class check alters the control flow logic. Previously, if func was a functools.partial, the code would unwrap it and then independently check if the unwrapped function has a view_class attribute. With elif, these checks are now mutually exclusive - if func is a partial, the code unwraps it but never extracts view_class from the unwrapped function. This could cause incorrect module/function name resolution and break the issubclass check for ReactPageView/GenericReactPageView for any partial-wrapped class-based views.

Fix in Cursor Fix in Web

@markstory markstory merged commit 0a6335e into master Jan 9, 2026
70 checks passed
@markstory markstory deleted the chore-reactpage-silo-v2 branch January 9, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants