Skip to content

(deps) Latest Ratatui v0.30.0#144

Merged
sectore merged 7 commits intomainfrom
rat30
Jan 2, 2026
Merged

(deps) Latest Ratatui v0.30.0#144
sectore merged 7 commits intomainfrom
rat30

Conversation

@sectore
Copy link
Copy Markdown
Owner

@sectore sectore commented Jan 2, 2026

"Rats don't just survive; they discover; they create. ...
^ https://github.com/ratatui/ratatui/releases/tag/ratatui-v0.30.0

... and keep everything up-to-date.

```sh
cargo upgrade
    Checking timr-tui's dependencies
name               old req compatible latest new req
====               ======= ========== ====== =======
tokio              1.47.1  1.48.0     1.48.0 1.48.0
tokio-util         0.7.16  0.7.17     0.7.17 0.7.17
tracing            0.1.41  0.1.44     0.1.44 0.1.44
tracing-subscriber 0.3.20  0.3.22     0.3.22 0.3.22
clap               4.5.48  4.5.53     4.5.53 4.5.53
```

```sh
cargo upgrade --incompatible
    Checking timr-tui's dependencies
name        old req compatible latest new req
====        ======= ========== ====== =======
ratatui     0.29.0  0.29.0     0.30.0 0.30.0
crossterm   0.28.1  0.28.1     0.29.0 0.29.0
strum       0.26.3  0.26.3     0.27.2 0.27.2
directories 5.0.1   5.0.1      6.0.0  6.0.0
rodio       0.20.1  0.20.1     0.21.1 0.21.1
tui-input   0.14.0  0.14.0     0.15.0 0.15.0
```
Remove deprecated `utils`, which includes same (custom) helpers.
@sectore sectore merged commit 16cd09e into main Jan 2, 2026
3 checks passed
@sectore sectore deleted the rat30 branch January 2, 2026 12:27
sectore added a commit that referenced this pull request Jan 4, 2026
With #144 we upgraded `radio` `0.20.1` -> `0.21.1`, which breaks current `sound` implementation.

This PR fixes it by following `rodio`s [`UPGRADE`](https://github.com/RustAudio/rodio/blob/master/UPGRADE.md) and [`CHANGELOG`](https://github.com/RustAudio/rodio/blob/master/CHANGELOG.md) guides.

1. Address breaking changes in `rodio` `0.21`:
- `OutputStream` API changed to `OutputStreamBuilder`
- `Sink::try_new()` replaced with `mixer.add()` pattern
- `Decoder` now uses `try_from()` instead of `new()`

2. Implementation changes:
- Store persistent `Sound` instance in `App` with long-lived `OutputStream`
- Buffer decoded audio once at initialization (stored in `Arc<Buffered<Decoder>>`)
- Use non-blocking `mixer.add()` instead of `Sink` with threaded playback
- Remove redundant file validation in `sound.rs` (already done in `args.rs`)

3. Fixes "Dropping OutputStream" warnings and improves performance.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant