From 8bd99a459ed50a5426e87a23c4e856865ee9cad2 Mon Sep 17 00:00:00 2001 From: Eyad <28269664+octopotato@users.noreply.github.com> Date: Wed, 4 Mar 2026 22:04:59 +0000 Subject: [PATCH] Add playbackRate to MediaProgress extraData for per-book playback speed #1173 --- server/models/MediaProgress.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/models/MediaProgress.js b/server/models/MediaProgress.js index 0ebe2f59..988d5732 100644 --- a/server/models/MediaProgress.js +++ b/server/models/MediaProgress.js @@ -165,6 +165,7 @@ class MediaProgress extends Model { hideFromContinueListening: !!this.hideFromContinueListening, ebookLocation: this.ebookLocation, ebookProgress: this.ebookProgress, + playbackRate: this.extraData?.playbackRate || null, lastUpdate: this.updatedAt.valueOf(), startedAt: this.createdAt.valueOf(), finishedAt: this.finishedAt?.valueOf() || null @@ -205,6 +206,11 @@ class MediaProgress extends Model { this.changed('extraData', true) } + if (progressPayload.playbackRate !== undefined) { + this.extraData.playbackRate = progressPayload.playbackRate + this.changed('extraData', true) + } + this.set(progressPayload) // Reset hideFromContinueListening if the progress has changed