update time sync bug with macos spotify hook

This commit is contained in:
Boof2015
2026-04-17 23:44:56 -04:00
parent 92e8d0b2c4
commit 8f34741769
2 changed files with 9 additions and 3 deletions
+5 -1
View File
@@ -123,6 +123,10 @@ function toSafeNumber(value: string | undefined): number {
return Math.max(0, numeric)
}
function millisecondsToSeconds(value: string | undefined): number {
return toSafeNumber(value) / 1000
}
function toOptionalUrl(value: string | undefined): string | null {
const normalized = normalizeString(value)
if (!normalized) {
@@ -160,7 +164,7 @@ function parseSpotifyStatusOutput(output: string, now: () => number): LocalSpoti
? parts[1]
: 'stopped'
const currentTime = toSafeNumber(parts[2])
const duration = toSafeNumber(parts[3])
const duration = millisecondsToSeconds(parts[3])
const trackId = normalizeString(parts[4])
const title = normalizeString(parts[5])
const artist = normalizeString(parts[6])
+4 -2
View File
@@ -104,7 +104,7 @@ test('provider reads local Spotify playback and hydrates artwork while active',
createStatusPayload({
playbackState: 'playing',
position: 42,
duration: 180,
duration: 180000,
id: 'spotify:track:123',
title: 'Song One',
artist: 'Artist One',
@@ -137,6 +137,8 @@ test('provider reads local Spotify playback and hydrates artwork while active',
assert.equal(state.snapshot?.currentTrack?.isFavorite, true)
assert.match(state.snapshot?.currentTrack?.artworkDataUrl ?? '', /^data:image\/png;base64,/)
assert.equal(state.snapshot?.playbackState, 'playing')
assert.equal(state.snapshot?.currentTime, 42)
assert.equal(state.snapshot?.duration, 180)
} finally {
await provider.dispose()
}
@@ -183,7 +185,7 @@ test('provider routes transport controls through AppleScript and records control
createStatusPayload({
playbackState: 'paused',
position: 0,
duration: 180,
duration: 180000,
id: 'spotify:track:123',
title: 'Song One',
artist: 'Artist One',