Fix download + casting breakages from the specta migration
Casting: restore camelCase serialization on SessionInfo/NowPlayingItem/PlayState (container rename_all = "camelCase" + per-field PascalCase serde aliases so Jellyfin PascalCase still deserializes). Bindings and the existing frontend are camelCase again — casting works with no frontend session changes. Downloads: migrate DownloadButton.svelte and downloads.ts to the typed commands.downloadItemAndStart / downloadItem / downloadVideo wrappers (request objects), matching the bundled backend signatures. Tooling: - Enable tauri-specta ErrorHandlingMode::Throw so commands.* return Promise<T> and throw (drop-in for invoke()). - Disambiguate specta name collisions: player MediaItem/MediaSource -> PlayerMediaItem/PlayerMediaSource, auth ServerInfo -> AuthServerInfo. - Regenerate bindings.ts; svelte-check passes (0 errors).
This commit is contained in:
@@ -42,6 +42,7 @@ pub struct SubtitleTrack {
|
||||
/// TRACES: UR-003, UR-004 | DR-002
|
||||
#[derive(specta::Type, Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
#[specta(rename = "PlayerMediaItem")]
|
||||
pub struct MediaItem {
|
||||
/// Unique identifier
|
||||
pub id: String,
|
||||
@@ -116,6 +117,7 @@ pub enum MediaType {
|
||||
/// TRACES: UR-002, UR-003, UR-004, UR-011 | DR-003
|
||||
#[derive(specta::Type, Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
#[serde(tag = "type", rename_all = "lowercase")]
|
||||
#[specta(rename = "PlayerMediaSource")]
|
||||
pub enum MediaSource {
|
||||
/// Streaming from Jellyfin server
|
||||
Remote {
|
||||
|
||||
Reference in New Issue
Block a user