„Wartet" für immer, obwohl der Server längst fertig war
Der Eintrag ging nach einer 202 zurück auf „wartet" und rief danach `resume`. Das nimmt aber nur auf, was **angehalten oder gescheitert** ist — ein wartender lief in die Schutzklausel und kam nie wieder heraus. Im Protokoll packte ffmpeg um, in der App stand „wartet", und dazwischen lag nichts. Jetzt wird die Warteschlange abgearbeitet statt ein einzelner Eintrag aufgenommen; „wartet" steht darin. Dazu zwei Dinge, um die du gebeten hast: **Das Protokoll liest sich wie eine Kommandozeile.** Älteste Zeile oben, neueste unten, die Ansicht steht am Ende. Mitgeschoben wird nur, wenn man unten steht — wer hochgescrollt hat, liest etwas, und ihn bei jeder neuen Zeile ans Ende zu reissen wäre, als nähme man ihm die Seite aus der Hand. **Ein Tipp auf eine Kachel führt auf die Detailseite**, am Telefon wie am iPad wie am Mac. Nur in „Weiterschauen" spielt er ab: dort steht der Titel, *weil* man ihn angefangen hat. Vorher war es umgekehrt, mit dem Argument „wer eine Kachel antippt, weiss schon, was er sehen will". Im Gebrauch stimmte das nicht — wer nachsehen wollte, wie viele Staffeln eine Serie hat, bekam den Film. Ein Umweg von einem Schritt ist ärgerlich; eine Wiedergabe, die man nicht wollte, ist schlimmer. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
ce5dc66047
commit
0a394b9b3b
@@ -648,10 +648,14 @@ public final class DownloadCoordinator {
|
||||
item.state = .waiting
|
||||
save()
|
||||
|
||||
// **Nicht `resume`.** Das nimmt nur auf, was angehalten oder
|
||||
// gescheitert ist — ein wartender Eintrag lief dort in die
|
||||
// Schutzklausel und blieb für immer auf „wartet" stehen, während der
|
||||
// Server längst fertig gepackt hatte. Die Warteschlange abzuarbeiten
|
||||
// ist das, was hier gebraucht wird: `.waiting` steht darin.
|
||||
Task { [weak self] in
|
||||
try? await Task.sleep(for: Self.wartezeit)
|
||||
guard let self else { return }
|
||||
await self.resume(item)
|
||||
await self?.startNextIfPossible()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user