5 Commits

Author SHA1 Message Date
9a54f5c6bd Bump version to 0.2.2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 00:27:40 +00:00
732001771e Fix artist list scrolling to bottom on click
Restore saved scroll offset into ListState before select() so ratatui
preserves the current viewport position instead of scrolling from zero.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 00:25:53 +00:00
0823168167 Bump version to 0.2.1
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:45:26 +00:00
cdf4f611fc Add OpenSSL dev headers to build dependencies in README
reqwest pulls in openssl-sys via native-tls, which requires
OpenSSL development headers to compile from source.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:43:04 +00:00
Jamie Hewitt
ee10c9fa55 Update README.md with correct curl 2026-01-28 11:05:40 +00:00
4 changed files with 6 additions and 3 deletions

2
Cargo.lock generated
View File

@@ -632,7 +632,7 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]] [[package]]
name = "ferrosonic" name = "ferrosonic"
version = "0.2.0" version = "0.2.1"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "ferrosonic" name = "ferrosonic"
version = "0.2.0" version = "0.2.2"
edition = "2021" edition = "2021"
description = "A terminal-based Subsonic music client with bit-perfect audio playback" description = "A terminal-based Subsonic music client with bit-perfect audio playback"
license = "MIT" license = "MIT"

View File

@@ -45,6 +45,7 @@ Build dependencies (needed to compile from source):
|---|---|---|---| |---|---|---|---|
| **Rust toolchain** | `rustup` | via rustup.rs | via rustup.rs | | **Rust toolchain** | `rustup` | via rustup.rs | via rustup.rs |
| **pkg-config** | `pkgconf` | `pkgconf-pkg-config` | `pkg-config` | | **pkg-config** | `pkgconf` | `pkgconf-pkg-config` | `pkg-config` |
| **OpenSSL dev headers** | `openssl` | `openssl-devel` | `libssl-dev` |
| **D-Bus dev headers** | `dbus` | `dbus-devel` | `libdbus-1-dev` | | **D-Bus dev headers** | `dbus` | `dbus-devel` | `libdbus-1-dev` |
### Quick Install ### Quick Install
@@ -52,7 +53,7 @@ Build dependencies (needed to compile from source):
Supports Arch, Fedora, and Debian/Ubuntu. Installs dependencies, Rust (if needed), builds from source, and installs to `/usr/local/bin/`: Supports Arch, Fedora, and Debian/Ubuntu. Installs dependencies, Rust (if needed), builds from source, and installs to `/usr/local/bin/`:
```bash ```bash
curl -sSf https://github.com/jaidaken/ferrosonic/raw/branch/master/install.sh | sh curl -sSf https://raw.githubusercontent.com/jaidaken/ferrosonic/master/install.sh | sh
``` ```
### Manual Build ### Manual Build

View File

@@ -156,6 +156,7 @@ fn render_tree(frame: &mut Frame, area: Rect, state: &mut AppState, colors: &The
} }
let mut list_state = ListState::default(); let mut list_state = ListState::default();
*list_state.offset_mut() = state.artists.tree_scroll_offset;
if focused { if focused {
list_state.select(state.artists.selected_index); list_state.select(state.artists.selected_index);
} }
@@ -267,6 +268,7 @@ fn render_songs(frame: &mut Frame, area: Rect, state: &mut AppState, colors: &Th
} }
let mut list_state = ListState::default(); let mut list_state = ListState::default();
*list_state.offset_mut() = state.artists.song_scroll_offset;
if focused { if focused {
list_state.select(artists.selected_song); list_state.select(artists.selected_song);
} }