diff options
Diffstat (limited to 'web/script/player/player.ts')
-rw-r--r-- | web/script/player/player.ts | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/web/script/player/player.ts b/web/script/player/player.ts index aefc5e6..4eb01d5 100644 --- a/web/script/player/player.ts +++ b/web/script/player/player.ts @@ -100,20 +100,22 @@ export class Player { } async fetch_meta() { - this.set_pers("Loading node...") - const res = await fetch(`/n/${encodeURIComponent(this.node_id)}`, { headers: { "Accept": "application/json" } }) - if (!res.ok) return this.error.value = "Cannot download node." + this.set_pers("Loading metadata...") + const [res, udres] = await Promise.all([ + fetch(`/n/${encodeURIComponent(this.node_id)}`, { headers: { "Accept": "application/json" } }), + fetch(`/n/${encodeURIComponent(this.node_id)}/userdata`, { headers: { "Accept": "application/json" } }) + ]) + + if (!res.ok || !udres.ok) return this.error.value = "Cannot download node." + let metadata!: NodePublic & { error: string } try { metadata = await res.json() } - catch (_) { this.set_pers("Error: Failed to fetch node") } + catch (_) { this.set_pers("Error: Node data invalid") } if (metadata.error) return this.set_pers("server error: " + metadata.error) - this.set_pers("Loading node user data...") - const udres = await fetch(`/n/${encodeURIComponent(this.node_id)}/userdata`, { headers: { "Accept": "application/json" } }) - if (!udres.ok) return this.error.value = "Cannot download node." let userdata!: NodeUserData & { error: string } try { userdata = await udres.json() } - catch (_) { this.set_pers("Error: Failed to fetch node user data") } + catch (_) { this.set_pers("Error: Node user data invalid") } if (userdata.error) return this.set_pers("server error: " + metadata.error) this.set_pers() @@ -124,7 +126,6 @@ export class Player { this.video.src = URL.createObjectURL(this.media_source) this.media_source.addEventListener("sourceopen", async () => { - this.set_pers("Downloading track indecies...") let video = false, audio = false, subtitles = false; for (let i = 0; i < this.tracks!.length; i++) { const t = this.tracks![i]; @@ -137,7 +138,7 @@ export class Player { subtitles = true, await this.set_track_enabled(i, true, false) } - this.set_pers("Downloading initial segments...") + this.set_pers("Buffering initial stream fragments...") const start_time = get_query_start_time() ?? get_continue_time(userdata.watched); this.update(start_time) |