Soloist download failure logs no underlying cause

オープン
#950 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
54/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
rust
領域
cli

調査の方向性

Start with src/infra/soloist/download.rs, especially run and fetch, and inspect how download errors and their source chain are logged. Reproduce or trace a body read failure, then check whether its underlying cause reaches the warning and whether a single retry is appropriate. Done when the warning exposes the cause and the issue’s expected retry behavior is addressed.

索引モデルが issue の本文から書いたものです。

説明

bug enhancement
What happened

A user's first Soloist download failed and the log only says:

[19:14:07][spotatui::infra::soloist::download][WARN] soloist: download failed: error decoding response body
[19:14:29][spotatui::infra::soloist::download][INFO] soloist: downloaded soloist_release_x86_64.tar.gz to /home/<user>/.local/state/spotatui/soloist-bin/1793195061/soloist

The second try 22 seconds later worked. error decoding response body is reqwest's top-level text for any error while it reads the body (a reset connection, the 30 s read_timeout, a cut stream), so the log does not say which one it was. run in src/infra/soloist/download.rs logs {error} only, without the source chain.

Expected: the warning shows the underlying cause. A single automatic retry in fetch for a body read error would also have saved the user the second click.

Steps to reproduce
  1. Set Playback Engine to Soloist on a machine without the binary.
  2. Have the connection drop or stall during the download.
  3. The log shows download failed: error decoding response body and nothing more.
Frontend

Terminal app

Source

Spotify

spotatui version

0.47.0

OS

Debian

How you installed spotatui

Download from GitHub Releases

Debug log

The two lines above are from the user's log; the rest of it is unrelated librespot audio-key errors from before the switch.

主要言語
Rust
スター
1.4k
フォーク
238
平均マージ
11時間 35分
マージ済み PR(30日)
190

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

LargeModGames/spotatui のほかの issue

LargeModGames/spotatui の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。