From abc8fbe352e7290a0371f0dbe0021c8f20ce6aff Mon Sep 17 00:00:00 2001 From: fallenbagel <98979876+Fallenbagel@users.noreply.github.com> Date: Sat, 4 Apr 2026 05:42:13 +0800 Subject: [PATCH] fix: send availability notification if media is available before approval When media becomes available before a pending request is approved, send a MEDIA_AVAILABLE notification to the requester instead of silently skipping all notifications. fix #2809 --- server/entity/MediaRequest.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/server/entity/MediaRequest.ts b/server/entity/MediaRequest.ts index 445b9e6ac..de792cadc 100644 --- a/server/entity/MediaRequest.ts +++ b/server/entity/MediaRequest.ts @@ -668,11 +668,19 @@ export class MediaRequest { return; } - if (media[this.is4k ? 'status4k' : 'status'] === MediaStatus.AVAILABLE) { - logger.warn( - 'Media became available before request was approved. Skipping approval notification', + if ( + this.status === MediaRequestStatus.APPROVED && + media[this.is4k ? 'status4k' : 'status'] === MediaStatus.AVAILABLE + ) { + logger.info( + 'Media is already available. Sending availability notification instead of approval.', { label: 'Media Request', requestId: this.id, mediaId: this.media.id } ); + MediaRequest.sendNotification( + this, + media, + Notification.MEDIA_AVAILABLE + ); return; } @@ -728,6 +736,10 @@ export class MediaRequest { let notifySystem = true; switch (type) { + case Notification.MEDIA_AVAILABLE: + event = `${entity.is4k ? '4K ' : ''}${mediaType} Now Available`; + notifyAdmin = false; + break; case Notification.MEDIA_APPROVED: event = `${entity.is4k ? '4K ' : ''}${mediaType} Request Approved`; notifyAdmin = false;