fix: validate stream_url and clear stale session on error
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -60,6 +60,10 @@ pub fn resolve(url: &str, cookie_source: &CookieSource) -> Result<VideoMetadata,
|
||||
.trim()
|
||||
.to_string();
|
||||
|
||||
if stream_url.is_empty() {
|
||||
return Err("yt-dlp returned an empty stream URL".to_string());
|
||||
}
|
||||
|
||||
Ok(VideoMetadata {
|
||||
url: url.to_string(),
|
||||
title: meta.title,
|
||||
|
||||
@@ -38,19 +38,7 @@ export function setMetadata(meta: VideoMetadata) {
|
||||
session.thumbnailSpritesheets = [];
|
||||
}
|
||||
|
||||
export function setError(msg: string) {
|
||||
session.status = 'error';
|
||||
session.error = msg;
|
||||
}
|
||||
|
||||
export function setResolving() {
|
||||
session.status = 'resolving';
|
||||
session.error = null;
|
||||
}
|
||||
|
||||
export function reset() {
|
||||
session.status = 'idle';
|
||||
session.error = null;
|
||||
function clearMediaFields() {
|
||||
session.url = '';
|
||||
session.title = '';
|
||||
session.duration = 0;
|
||||
@@ -65,3 +53,21 @@ export function reset() {
|
||||
session.waveformPeaks = [];
|
||||
session.thumbnailSpritesheets = [];
|
||||
}
|
||||
|
||||
export function setError(msg: string) {
|
||||
reset();
|
||||
session.status = 'error';
|
||||
session.error = msg;
|
||||
}
|
||||
|
||||
export function setResolving() {
|
||||
clearMediaFields();
|
||||
session.status = 'resolving';
|
||||
session.error = null;
|
||||
}
|
||||
|
||||
export function reset() {
|
||||
clearMediaFields();
|
||||
session.status = 'idle';
|
||||
session.error = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user