Skip to content

feat(cells): Remove the legacy org invite route#112634

Merged
lynnagara merged 3 commits intomasterfrom
remove-legacy-org-invite-route-frontend
Apr 10, 2026
Merged

feat(cells): Remove the legacy org invite route#112634
lynnagara merged 3 commits intomasterfrom
remove-legacy-org-invite-route-frontend

Conversation

@lynnagara
Copy link
Copy Markdown
Member

  • removes the old /accept/:memberId/:token/ route. The component now only mounts via the org-scoped /accept/:orgId/:memberId/:token/ route
  • this is safe now because ref(cells): Implement org member invite redirect from old path to new #112513 added a redirect that ensures the old route is never hit anymore
  • the react component is also simplified as it no longer has to handle the case where an org is not present

- removes the old /accept/:memberId/:token/ route. The component now only mounts via the org-scoped
  /accept/:orgId/:memberId/:token/ route
- this is safe now because #112513 added a redirect that
ensures the old route is never hit anymore
- the react component is also simplified as it no longer has to handle the case where an org
is not present
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Apr 9, 2026
@lynnagara lynnagara merged commit c618f35 into master Apr 10, 2026
65 checks passed
@lynnagara lynnagara deleted the remove-legacy-org-invite-route-frontend branch April 10, 2026 20:19
lynnagara added a commit that referenced this pull request Apr 12, 2026
The /api/0/accept-invite/{member_id}/{token}/ endpoint required no organization
context, relying on a cell mapping lookup to determine the org. The org-scoped
/api/0/accept-invite/{organization_id_or_slug}/{member_id}/{token}/ is now the
only supported cell-safe route.

This PR removes the legacy API route and any references to it:
- Remove the URL pattern from api/urls.py
- Remove the legacy pattern from controlsiloUrlPatterns.ts (regenerated)
- Remove the legacy type from knownSentryApiUrls.generated.ts (regenerated)
- Remove entries from the apidocs ownership and publish status allowlists

Removing this route is harmless as the web UI has been updated to always use the
new url in #112634. This is not a public
URL that requires a formal deprecation process.
lynnagara added a commit that referenced this pull request Apr 12, 2026
The /api/0/accept-invite/{member_id}/{token}/ endpoint required no organization
context, relying on a cell mapping lookup to determine the org. The org-scoped
/api/0/accept-invite/{organization_id_or_slug}/{member_id}/{token}/ is now the
only supported cell-safe route.

This PR removes the legacy API route and any references to it:
- Remove the URL pattern from api/urls.py
- Remove the legacy pattern from controlsiloUrlPatterns.ts (regenerated)
- Remove the legacy type from knownSentryApiUrls.generated.ts (regenerated)
- Remove entries from the apidocs ownership and publish status allowlists

Removing this route is harmless as the web UI has been updated to always use the
new url in #112634. This is not a public
URL that requires a formal deprecation process.
lynnagara added a commit that referenced this pull request Apr 13, 2026
…12767)

The `/api/0/accept-invite/{member_id}/{token}/` required no organization context, relying on a cell mapping lookup to determine the org. The org-scoped `/api/0/accept-invite/{organization_id_or_slug}/{member_id}/{token}/` is now the only supported route.

This PR removes the legacy API route and any references to it:
- Remove the URL pattern from api/urls.py
- Remove the legacy pattern from controlsiloUrlPatterns.ts (regenerated)
- Remove the legacy type from knownSentryApiUrls.generated.ts (regenerated)
- Remove entries from the apidocs ownership and publish status allowlists

It also cleans up `AcceptOrganizationInvite` and `get_invite_state` now that `organization_id_or_slug` is always provided:           
  - Fix member_id and organization_id_or_slug type annotations in convert_args and get() to the proper type, django passes kwargs as strings
  - Drop `int | str` from `organization_id_or_slug` since no caller ever passes an integer
  - Remove redundant str() wrapping on .isdecimal() call                                                                      
  - Remove dead not request.user.is_authenticated branch in post()                                                            
  - Add TODO to further narrow type and remove None from get_invite_state once the temporary redirect is cleaned up  

Removing this route is harmless as the web UI has been previously updated to always
use the new url in #112634. This is effectively dead code.

This is not a public URL that requires a formal deprecation process.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants