0ffe32ae08
parse_rclone_stats still accepted rclone's `Transferring:` entries (`* a.bin: 25% / 60 MiB, 0 B/s, -`) because they contain " / " and "%". rclone writes them right after the byte-weighted line on every tick, and since the last per-file entry is glued to the *next* tick's byte line, the parsed order per second is: good byte line -> per-file 0% -> (one second later) glued byte line. The gauge therefore displayed 0% almost continuously and only ever looked right at the end. Require a real stats body to start with the transferred byte amount. Per-file lines now only feed the "current file" display (they already did, as a fallback) and can no longer touch pct/done/total. Verified with the real engine + rclone (bwlimit): mirror state now goes 0 -> 25 -> 50 -> 75 -> 100 with proper byte counts. The replay test now asserts the exact parse sequence [10%, 40%] so a regression fails when a per-file or file-count line sneaks in as 0%. Bump to 0.3.1.
22 lines
387 B
TOML
22 lines
387 B
TOML
[package]
|
|
name = "dap-tui"
|
|
version = "0.3.1"
|
|
edition = "2021"
|
|
description = "Device sync for portable players — TUI edition (ratatui)"
|
|
license = "MIT"
|
|
|
|
[dependencies]
|
|
ratatui = "0.30"
|
|
toml = "0.8"
|
|
serde = { version = "1", features = ["derive"] }
|
|
chrono = "0.4"
|
|
unicode-normalization = "0.1"
|
|
dirs = "6"
|
|
libc = "0.2"
|
|
anyhow = "1"
|
|
|
|
[profile.release]
|
|
lto = true
|
|
opt-level = 3
|
|
strip = true
|