Return false instead of throwing when event stream does not exist (#20165)
## Summary - When an event stream expires (TTL), `addQueryToEventStream` and `removeQueryFromEventStream` now return `false` instead of throwing `EVENT_STREAM_DOES_NOT_EXIST` as an `InternalServerError` - Frontend checks the mutation return value and triggers the destroy/recreate cycle, same recovery behavior without the error path - Removes `EVENT_STREAM_DOES_NOT_EXIST` from exception code, exception filter, and frontend graceful error check since it's no longer thrown ## Test plan - [x] Verify that when an event stream TTL expires, the frontend silently recreates the stream without error noise in logs/Sentry - [x] Verify that `NOT_AUTHORIZED` errors still throw correctly on both mutations - [ ] Verify that the subscription `onEventSubscription` still works end-to-end with stream creation, query registration, and heartbeat TTL refresh Made with [Cursor](https://cursor.com)
This commit is contained in:
@@ -151,11 +151,9 @@ export class EventStreamResolver {
|
||||
);
|
||||
|
||||
if (!isDefined(streamData)) {
|
||||
throw new EventStreamException(
|
||||
'Event stream does not exist',
|
||||
EventStreamExceptionCode.EVENT_STREAM_DOES_NOT_EXIST,
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
||||
const isAuthorized = await this.eventStreamService.isAuthorized({
|
||||
streamData,
|
||||
authContext: {
|
||||
@@ -170,6 +168,7 @@ export class EventStreamResolver {
|
||||
EventStreamExceptionCode.NOT_AUTHORIZED,
|
||||
);
|
||||
}
|
||||
|
||||
await this.eventStreamService.addQuery({
|
||||
workspaceId: workspace.id,
|
||||
eventStreamChannelId,
|
||||
@@ -197,10 +196,7 @@ export class EventStreamResolver {
|
||||
);
|
||||
|
||||
if (!isDefined(streamData)) {
|
||||
throw new EventStreamException(
|
||||
'Event stream does not exist',
|
||||
EventStreamExceptionCode.EVENT_STREAM_DOES_NOT_EXIST,
|
||||
);
|
||||
return false;
|
||||
}
|
||||
|
||||
const isAuthorized = await this.eventStreamService.isAuthorized({
|
||||
|
||||
Reference in New Issue
Block a user