Skip to content

Commit be84b14

Browse files
committed
🐛 Fixed stream.idle webhook handling
1 parent 61d5075 commit be84b14

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

packages/server/src/controllers/index.controller.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,21 @@ export class IndexController extends Controller {
182182
break;
183183

184184
case LivepeerEvent.streamStarted:
185+
console.log('🎥 Stream started event received:', {
186+
streamId: payload.stream?.id,
187+
status: payload.stream?.status,
188+
isActive: payload.stream?.isActive,
189+
isHealthy: payload.stream?.isHealthy
190+
});
191+
await this.stageService.findStreamAndUpdate(payload.stream.id);
192+
break;
193+
185194
case LivepeerEvent.streamIdle:
186-
console.log('🎥 Stream event received:', {
187-
event: payload.event,
195+
console.log('🎥 Stream idle event received:', {
188196
streamId: payload.stream?.id,
189197
status: payload.stream?.status,
198+
isActive: payload.stream?.isActive,
199+
isHealthy: payload.stream?.isHealthy,
190200
});
191201
await this.stageService.findStreamAndUpdate(payload.stream.id);
192202
break;

packages/server/src/services/stage.service.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,17 @@ export default class StageService {
140140
const stream = await getStreamInfo(id);
141141
let stage = await Stage.findOne({ 'streamSettings.streamId': id });
142142
if (!stage) throw new HttpException(400, 'stage not found');
143-
// send message to redis
144-
const queue = await stageTranscriptionsQueue();
145-
await queue.add({
146-
stageId: stage._id,
147-
});
143+
144+
if (!stream.isActive) {
145+
const queue = await stageTranscriptionsQueue();
146+
await queue.add({
147+
stageId: stage._id,
148+
});
149+
}
150+
148151
await stage.updateOne(
149152
{
150-
'stageSettings.transcripts.status': 'in-queue',
153+
'stageSettings.transcripts.status': !stream.isActive ? 'in-queue' : undefined,
151154
'streamSettings.isActive': stream.isActive,
152155
'streamSettings.isHealthy': stream.isHealthy ?? false,
153156
},

0 commit comments

Comments
 (0)