Ensure that non-ringing notifications lead to a null pickup state

This commit is contained in:
Robin
2025-09-05 14:36:27 +02:00
parent e9c43856d0
commit 2541f810fa
2 changed files with 12 additions and 5 deletions

View File

@@ -907,15 +907,17 @@ export class CallViewModel extends ViewModel {
>
>
).pipe(
filter(
([notificationEvent]) => notificationEvent.notification_type === "ring",
),
map(([notificationEvent]) => {
// event.lifetime is expected to be in ms
const lifetime = notificationEvent?.lifetime ?? 0;
const lifetimeMs = notificationEvent?.lifetime ?? 0;
return concat(
lifetime === 0
lifetimeMs === 0
? // If no lifetime, skip the ring state
EMPTY
: // Ring until lifetime ms have passed
timer(lifetime).pipe(
timer(lifetimeMs).pipe(
ignoreElements(),
startWith("ringing" as const),
),