eulerfan271
a826115907
fix(mpris): can_go_previous should always be true ( #1346 )
...
* make can_go_previous always true
* can_go_previous whenever queue is non-empty
* docs: Update CHANGELOG
---------
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-12-09 11:51:17 +01:00
Thomas Frans
0a1a9bdd4d
refactor: tabs rewrite to clean up API
...
Tabs relied heavily on `ViewExt`'s `title()` function, while also
requiring a separate `id`. The `id`, if used, should be an internal part
of the struct and not part of its API. This also removes the hashmap as
it will never be faster than sequentially looking up all the names,
since there will most likely never be that many tabs in a `TabbedView`.
2023-12-03 12:02:13 +01:00
Henrik Friedrichsen
b37fb7cc10
cargo update
2023-12-03 11:47:07 +01:00
dependabot[bot]
3dd2af5996
chore(deps): bump openssl from 0.10.57 to 0.10.60
...
Bumps [openssl](https://github.com/sfackler/rust-openssl ) from 0.10.57 to 0.10.60.
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.57...openssl-v0.10.60 )
---
updated-dependencies:
- dependency-name: openssl
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-12-03 11:45:47 +01:00
dependabot[bot]
14abdf8ba0
chore(deps): bump the cargo group with 2 updates
...
Bumps the cargo group with 2 updates: [serde](https://github.com/serde-rs/serde ) and [url](https://github.com/servo/rust-url ).
Updates `serde` from 1.0.192 to 1.0.193
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.192...v1.0.193 )
Updates `url` from 2.4.1 to 2.5.0
- [Release notes](https://github.com/servo/rust-url/releases )
- [Commits](https://github.com/servo/rust-url/compare/v2.4.1...v2.5.0 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: url
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-12-03 11:45:37 +01:00
Thomas Frans
7a9c8f3a5e
fix: allow any value to set MPRIS volume
...
This fixes a small inconsistency between the MPRIS implementation and
the specification. The specification allows any number when setting the
volume, which have to be clamped to the effectively allowed range in the
application.
https://specifications.freedesktop.org/mpris-spec/2.2/Player_Interface.html#Property:Volume
2023-12-01 16:17:00 +01:00
Thomas Frans
e0373890fe
feat: improve configuration file error handling
...
Cleans up the error messages generated when errors are encountered in
the configuration file. Instead of showing the raw error message, give
clear information about the problem.
2023-11-29 09:44:59 +01:00
Thomas Frans
0cee99ba4c
feat: add info command line subcommand ( #1330 )
...
* feat: add `info` command line subcommand
Adding an info command allows the documentation to refer to it when
mentioning platform specific information. This gives users a nicer
experience since they don't need to think about how `ncspot` will behave
on their system, but can run `ncspot info` to get that information.
* fix: info command don't create runtime directory
* fix: don't print runtime path on Windows
Windows doesn't use the runtime path so it shouldn't be printed there.
* fix: make `info` command easier to parse
* docs: add back the default configuration directory
2023-11-27 08:43:55 +01:00
dependabot[bot]
0c9be11357
chore(deps): bump the cargo group with 1 update
...
Bumps the cargo group with 1 update: [notify-rust](https://github.com/hoodie/notify-rust ).
- [Release notes](https://github.com/hoodie/notify-rust/releases )
- [Changelog](https://github.com/hoodie/notify-rust/blob/main/CHANGELOG.md )
- [Commits](https://github.com/hoodie/notify-rust/compare/v4.9.0...v4.10.0 )
---
updated-dependencies:
- dependency-name: notify-rust
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-11-24 21:20:32 +01:00
Thomas Frans
caf937d858
fix: add leading slash to gitignore paths
...
The leading slash forces Git to only look for the mentioned files from
the root of the directory, not inside allowed subdirectories.
2023-11-24 19:10:28 +01:00
dependabot[bot]
9c29f17ca1
chore(deps): bump the cargo group with 5 updates
...
Bumps the cargo group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.4.7` | `4.4.8` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.149` | `0.2.150` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.190` | `1.0.192` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.107` | `1.0.108` |
| [tokio](https://github.com/tokio-rs/tokio ) | `1.33.0` | `1.34.0` |
Updates `clap` from 4.4.7 to 4.4.8
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.4.7...v4.4.8 )
Updates `libc` from 0.2.149 to 0.2.150
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.149...0.2.150 )
Updates `serde` from 1.0.190 to 1.0.192
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.190...v1.0.192 )
Updates `serde_json` from 1.0.107 to 1.0.108
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.107...v1.0.108 )
Updates `tokio` from 1.33.0 to 1.34.0
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.33.0...tokio-1.34.0 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-11-19 11:38:08 +01:00
Thomas Frans
cd73c24150
docs: formatting fixes
2023-11-19 11:37:55 +01:00
Thomas Frans
fcf68995cb
fix!: create IPC socket in user runtime directory ( #1313 )
...
Each user has their own runtime directory at `/run/user/<uid>`. Creating
the IPC socket in there makes sure it is cleaned up regardless of
whether `ncspot` exits normally.
BREAKING CHANGE: move IPC socket location
2023-10-28 18:43:33 +02:00
Thomas Frans
2c14883f48
docs: add changelog ( #1318 )
...
* docs: add changelog
* Add PR template
* docs: tweak PR template changelog info
* docs: extend the changelog and update it
The changelog was missing some of the unreleased changes. Some more
information was also added from previous versions.
---------
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-10-28 17:15:58 +02:00
dependabot[bot]
c61f0c6508
chore(deps): bump rustix from 0.37.24 to 0.37.26
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.37.24 to 0.37.26.
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.37.24...v0.37.26 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-10-26 18:21:41 +02:00
dependabot[bot]
e0d1d267b3
chore(deps): bump the cargo group with 13 updates
...
Bumps the cargo group with 13 updates:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.4.6` | `4.4.7` |
| [futures](https://github.com/rust-lang/futures-rs ) | `0.3.28` | `0.3.29` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.148` | `0.2.149` |
| [regex](https://github.com/rust-lang/regex ) | `1.9.6` | `1.10.2` |
| [reqwest](https://github.com/seanmonstar/reqwest ) | `0.11.20` | `0.11.22` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.188` | `1.0.190` |
| [strum_macros](https://github.com/Peternator7/strum ) | `0.25.2` | `0.25.3` |
| [tokio](https://github.com/tokio-rs/tokio ) | `1.32.0` | `1.33.0` |
| [tokio-util](https://github.com/tokio-rs/tokio ) | `0.7.9` | `0.7.10` |
| [toml](https://github.com/toml-rs/toml ) | `0.8.1` | `0.8.2` |
| [wl-clipboard-rs](https://github.com/YaLTeR/wl-clipboard-rs ) | `0.7.0` | `0.8.0` |
| [clap_mangen](https://github.com/clap-rs/clap ) | `0.2.14` | `0.2.15` |
| [clap_complete](https://github.com/clap-rs/clap ) | `4.4.3` | `4.4.4` |
Updates `clap` from 4.4.6 to 4.4.7
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.4.6...v4.4.7 )
Updates `futures` from 0.3.28 to 0.3.29
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.28...0.3.29 )
Updates `libc` from 0.2.148 to 0.2.149
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.148...0.2.149 )
Updates `regex` from 1.9.6 to 1.10.2
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.9.6...1.10.2 )
Updates `reqwest` from 0.11.20 to 0.11.22
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.11.20...v0.11.22 )
Updates `serde` from 1.0.188 to 1.0.190
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.188...v1.0.190 )
Updates `strum_macros` from 0.25.2 to 0.25.3
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Peternator7/strum/commits )
Updates `tokio` from 1.32.0 to 1.33.0
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.32.0...tokio-1.33.0 )
Updates `tokio-util` from 0.7.9 to 0.7.10
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/commits )
Updates `toml` from 0.8.1 to 0.8.2
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.1...toml-v0.8.2 )
Updates `wl-clipboard-rs` from 0.7.0 to 0.8.0
- [Changelog](https://github.com/YaLTeR/wl-clipboard-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/YaLTeR/wl-clipboard-rs/compare/v0.7.0...v0.8.0 )
Updates `clap_mangen` from 0.2.14 to 0.2.15
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_mangen-v0.2.14...clap_mangen-v0.2.15 )
Updates `clap_complete` from 4.4.3 to 4.4.4
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.4.3...clap_complete-v4.4.4 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: futures
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: strum_macros
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: tokio
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: tokio-util
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: toml
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: wl-clipboard-rs
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: cargo
- dependency-name: clap_mangen
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
- dependency-name: clap_complete
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: cargo
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-10-26 18:21:01 +02:00
dependabot[bot]
08c2b8c301
chore(deps): bump the github-actions group with 1 update
...
Bumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout ).
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-10-26 18:09:59 +02:00
Henrik Friedrichsen
c4e31210a8
chore: Group Dependabot updates
...
Also, add GitHub Actions to Dependabot.
2023-10-26 18:06:05 +02:00
Henrik Friedrichsen
6ee00e39d3
Change color of unavailable song
...
If song is not available/playable, use secondary text color.
Fixes #1300
2023-10-14 22:36:22 +02:00
Henrik Friedrichsen
a1a986344f
Revert "feat: move to async POSIX signal handler"
...
This reverts commit a067ab2ae2 .
2023-10-14 12:44:47 +02:00
Thomas Frans
8d00ca74fc
fix: MPRIS loop tokio::select!() panic on exit
...
This fixes a bug that would cause a panic when quiting the process
normally. `tokio::select!()` was used to await a single branch, which is
useless as it can be replaced by a normal await.
2023-10-14 12:42:24 +02:00
Thomas Frans
51d1b34ccc
fix: prevent IPC socket cleanup panic
...
Prevent a panic when the IPC socket isn't available when the user quits
`ncspot`.
2023-10-14 12:15:38 +02:00
Thomas Frans
a69e2d763b
fix: disable cursive_buffered_backend tracing
...
Disable the useless trace logs from the `cursive_buffered_backend`
crate.
2023-10-12 11:14:51 +02:00
Thomas Frans
a067ab2ae2
feat: move to async POSIX signal handler
...
Instead of trying to handle signals for every step of the `cursive`
event loop, move the signal handling into its own asynchronous task and
send callbacks to `cursive` when a signal arrives.
2023-10-08 10:47:43 +02:00
Thomas Frans
209d8e260b
refactor: remove lazy_static crate
...
The `lazy_static` crate was superseded by the `once_cell` crate which
has been included in Rust's standard library since version `1.70`.
Remove the `lazy_static` dependency and refactor all use cases to use
`std::sync::OnceLock` instead.
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-10-07 17:33:48 +02:00
Thomas Frans
2f365c1551
chore: remove placeholder code
...
Remove the placeholder entries from the command aliases.
2023-10-07 17:27:00 +02:00
Thomas Frans
b27b067a47
fix: prevent MPRIS D-Bus duplicate name
...
Append `instance<pid>` to the MPRIS bus name to prevent two instances
from fighting over the same bus name.
2023-10-03 17:29:37 +02:00
Henrik Friedrichsen
edee66aeed
Update dependencies
2023-10-01 12:34:14 +02:00
Henrik Friedrichsen
57538e2650
Switch to Crossterm backend by default
...
- Is capable of 256 colors
- Can handle Shift+Up/Shift+Down/etc. (#1283 )
2023-09-29 22:05:12 +02:00
Thomas Frans
fe8f8e78ee
style(clippy): enforce clippy use_self lint
...
Clippy's `use_self` line ensures that `Self` is used instead of the real
name whenever possible. This makes searching easier and cleans up the
code a bit.
2023-09-27 22:06:54 +02:00
Arthur McLain
01e01b59e4
docs: update users.md ( #1274 )
...
* Update users.md
* Reformat table
---------
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-09-10 22:41:37 +02:00
Henrik Friedrichsen
fcf8223e00
Update dependencies
...
Adapt to rspotify 0.12 breaking changes
2023-09-10 20:32:07 +02:00
Henrik Friedrichsen
c0c7ea8828
Make worker command delivery more resilient
...
This may discard commands during reauthentication, but at least it doesn't crash
the application.
May help with #993 and #1257
2023-08-29 21:47:07 +02:00
Henrik Friedrichsen
b4a397c84d
Use Rc for UserData as it's !Sync
2023-08-26 15:06:23 +02:00
Henrik Friedrichsen
055a82cb77
Update dependencies
2023-08-26 14:37:46 +02:00
cyqsimon
4942647e1c
Improve how we indicate that a command arg is optional
2023-08-21 21:26:17 +02:00
Henrik Friedrichsen
bd80670345
Use step output environment file
...
See also:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2023-07-24 01:58:13 +02:00
Henrik Friedrichsen
7d9faa7b59
Document add current and save current
2023-07-24 01:32:49 +02:00
Henrik Friedrichsen
17413fbad4
Update GitHub actions for CD pipeline
2023-07-24 01:27:24 +02:00
Henrik Friedrichsen
8e31ff10a8
Bump version to 0.13.4
...
+ update dependencies
2023-07-23 23:51:38 +02:00
Henrik Friedrichsen
0c13afb46f
Fix: fetch album only once
...
Should speed up display of the context menu
Fixes #1225
2023-07-23 14:49:21 +02:00
Henrik Friedrichsen
bef4742cec
Remove duplicate album query
2023-07-23 14:49:21 +02:00
Flynn Duniho
924296ac52
Add add command for adding song to playlist ( #1232 )
...
* Add command for adding song to playlist
* edits for code style
* Return playlist dialog via `CommandResult::Modal`
---------
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-07-22 16:03:21 +02:00
Henrik Friedrichsen
92cd4f1c8b
Handle local tracks in playlist
...
- Show error on deletion, as we currently do not have a Uri we can pass to the
Spotify API to delete local files in playlists
- Mark local files in `ListView`
fixes #1213
2023-07-22 15:42:14 +02:00
Henrik Friedrichsen
90b4560a2d
Gracefully handle tracks without IDs
...
As reported in #1231 :
Local files in playlists have no IDs. When trying to delete them ncspot crashes
as it tries to extract a track ID.
2023-07-22 15:42:14 +02:00
bentheklutz
2786c6ba34
Sort Artists Ignoring "The" ( #1238 )
...
* Sorting QoL
Ignore leading "The" when sorting albums and artists by artist name
in the library.
* Simplify stripping of `The ` prefix in artist
---------
Co-authored-by: Henrik Friedrichsen <henrik@affekt.org >
2023-07-22 13:05:03 +02:00
Henrik Friedrichsen
66bb0746b6
Update to strum 0.25.0
2023-07-22 12:44:50 +02:00
cyqsimon
9709c73324
Recommend Ueberzug++
2023-07-22 12:34:14 +02:00
Henrik Friedrichsen
83f9e8d224
Update dependencies
2023-07-22 12:31:26 +02:00
hrdl
f74661a15d
feat: add save current command
2023-07-07 11:23:47 +02:00