fix: keep stream titles when playlist:edit saves the file

playlist:edit saved the playlist without the raw option, so every title
was rebuilt from the API channel name and country instead of being
written back as read. For a stream whose channel is not in the database,
that becomes "undefined (undefined)". playlist:format, playlist:update
and playlist:test already save with { public: false, raw: true }.
This commit is contained in:
leoca committed 2026-10-17 13:40:28 +00:00
1 parent 69d79b1d1a
commit c96d3eea10
2 files changed
+14 -1

No files matched your search

+1 -1
View File
@@ -189,7 +189,7 @@ function getFeedChoises(feeds: Collection<sdk.Models.Feed>): Choice[] {
function save(filepath: string) {
if (!storage.existsSync(filepath)) return
const playlist = new Playlist(parsedStreams)
const playlist = new Playlist(parsedStreams, { public: false, raw: true })
storage.saveSync(filepath, playlist.toString())
logger.info(`\nFile '${filepath}' successfully saved`)
}
+13
View File
@@ -30,6 +30,19 @@ describe('playlist:edit', () => {
checkStdout((error as ExecError).stdout)
}
})
it('keeps the stream titles when saving the playlist', () => {
const cmd = `${ENV_VAR} npm run playlist:edit --- tests/__data__/output/playlist.m3u`
try {
execSync(cmd, { encoding: 'utf8' })
} catch {
// NOTE: for Windows only
}
const content = fs.readFileSync('tests/__data__/output/playlist.m3u', 'utf8')
expect(content).toContain('tvg-id="HewadTV.af",Hewad TV (720p) [Not 24/7]')
expect(content).toContain('tvg-id="",Télévision française 1 (480p)')
})
})
function checkStdout(stdout: string) {