From 419aa4f2cce36302d95fb0ebfb9ba7f02e48e90f 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 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/models/MediaProgress.js b/server/models/MediaProgress.js index 9c0269a9..6a2840fd 100644 --- a/server/models/MediaProgress.js +++ b/server/models/MediaProgress.js @@ -169,6 +169,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 @@ -209,6 +210,12 @@ class MediaProgress extends Model { this.changed('extraData', true) } + if (progressPayload.playbackRate !== undefined) { + this.extraData.playbackRate = progressPayload.playbackRate + this.changed('extraData', true) + delete progressPayload.playbackRate + } + this.set(progressPayload) // Reset hideFromContinueListening if the progress has changed