You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On the external-install page, after an integration is uninstalled (or deletion fails silently — see related #112438), the UI correctly shows the app as uninstalled. However, attempting to reinstall it fails because the backend still considers the app installed. The UI state and backend state are out of sync.
Steps to reproduce
Install a Sentry app integration via the external-install page
Uninstall the integration (e.g. via integration settings)
Return to the external-install page — it shows the app as uninstalled
Attempt to reinstall — the install flow fails or is blocked, as if the app is still installed
Expected behavior
After a successful uninstall, reinstalling the app via the external-install page should succeed. If the backend still considers the app installed, the UI should reflect that state consistently rather than showing conflicting information.
Actual behavior
UI shows app as uninstalled
Reinstall attempt is rejected by the backend (or the install flow silently fails)
The user has no recourse or clear error message
Root cause hypotheses
High confidence: The uninstall hook never fired (backend installation record was not cleaned up), so the app remains installed in the database despite the UI treating it as gone — likely related to Integration deletion is very slow on uninstall #112438 where deletion is slow and may not complete.
Medium confidence: A race condition or async cleanup failure left a stale SentryAppInstallation record that blocks re-install.
Summary
On the external-install page, after an integration is uninstalled (or deletion fails silently — see related #112438), the UI correctly shows the app as uninstalled. However, attempting to reinstall it fails because the backend still considers the app installed. The UI state and backend state are out of sync.
Steps to reproduce
Expected behavior
After a successful uninstall, reinstalling the app via the external-install page should succeed. If the backend still considers the app installed, the UI should reflect that state consistently rather than showing conflicting information.
Actual behavior
Root cause hypotheses
SentryAppInstallationrecord that blocks re-install.Related
Action taken on behalf of David Cramer.