Draft: fix(subscription): tell a throttled free org that events are already dropping
Summary
The upgrade banner has three messages, but only one could ever show.
| Org state | Banner said | Banner now says |
|---|---|---|
| Events rejected | Upgrade before throttling kicks in | Your events are being rejected |
| 10% being dropped | Upgrade before throttling kicks in | About 10% of your incoming events are being dropped |
| Under quota | Upgrade before throttling kicks in | (unchanged) |
The first two messages are chosen from isAcceptingEvents and
eventThrottleRate, and the page never passed either one. So they were always
off and everyone got the third message, including people already losing events.
It also contradicts our pricing page, which says "once your quota is full we start dropping about 10% of events and increase that gradually, blocking fully at twice your quota." Someone who read that and then checked their subscription page was told throttling had not started.
The fix passes the two fields. Both are already on the organization the page
has loaded, so no new request and no new logic. Free tier only, the
effectivePrice === 0 gate is unchanged.
Testing
Browser tested, setting the throttle state in the database:
| Set to | Result |
|---|---|
| 65% throttled | "About 65% of your incoming events are being dropped" |
| Not accepting events | "Your events are being rejected" |
| Under quota, 80%+ used | Unchanged (regression check) |
Real values are 0, 10, 50 or 100. I used 65 to prove the banner shows whatever it is given.
AI disclosure: Claude Code. Bug found and verified by hand in a browser, fix drafted with AI and reviewed by hand.
- I am respecting Sentry's proprietary Business Source License (BSL) by implementing code in a clean room environment. I have not read any BSL Sentry code. It is OK to read MIT licensed code.