Package v0.2.12→v0.2.124: manifest, actions, version graph

This commit is contained in:
Keysat
2026-06-13 13:36:30 -05:00
parent 318c6c4b81
commit 1243f4414c
126 changed files with 2052 additions and 441 deletions
+13
View File
@@ -0,0 +1,13 @@
import { VersionInfo } from '@start9labs/start-sdk'
export const v_0_2_57 = VersionInfo.of({
version: '0.2.57:0',
releaseNotes: {
en_US:
'Defensive title normalization in /relay/summarize-url. The yt-dlp-extracted-title fallback at line ~219 (`if (!title && audio.title) title = audio.title`) was only firing when the client either omitted the title field entirely or passed an empty string — both of which yield a falsy `title`. Recap-app < 0.2.71 actually passed the literal string "Untitled" when the operator hadn\'t pre-fetched metadata (because Recap\'s relay-mode branch built its title hint as `titleSurrogate = itemTitle || "Untitled"`). `"Untitled"` is truthy, so the fallback gate never tripped and the relay echoed `"Untitled"` back as if it were a real title — library entries on Recap stayed "Untitled" forever even though yt-dlp had fetched the right one. Fix: normalize the incoming `bodyTitle` at the route entry — treat both empty string and the literal sentinel "Untitled" as "no title supplied" (set to null). The yt-dlp fallback then fires correctly for both new Recap clients (0.2.71+, which now pass empty string) and old Recap clients (still passing "Untitled"). No behavior change for any client that passes a real title.',
},
migrations: {
up: async ({ effects }) => {},
down: async ({ effects }) => {},
},
})