Commit Graph

5913 Commits

Author SHA1 Message Date
Christian Meffert
176142f311
Merge pull request #1445 from whatdoineed2do/websocket-slow-shutdown
[web] slow 4.1.6 shutdown; request to cancel ws loop
2022-04-06 17:27:38 +02:00
whatdoineed2do/Ray
f33ccb9238 [web] slow 4.1.6 shutdown; request to cancel ws loop 2022-04-06 11:18:48 +01:00
chme
32c1516e60 [jsonapi] Add item and stream count to playlists, expose config option
"radio_playlists" in config endpoint
2022-04-05 21:48:24 +02:00
Christian Meffert
ac48c4aa07
Merge pull request #1443 from chme/fix/spotify-album-override
Fix for Spotify config option album_override has no effect
2022-04-05 20:47:08 +02:00
chme
e5d3c148ea [db/scan] Force compilation artist if track belongs to a compilation 2022-04-04 20:55:19 +02:00
chme
ecc139641a [spotify] Respect album_override setting when parsing Spotify tracks 2022-04-04 20:51:14 +02:00
Christian Meffert
0f204c66ea
Merge pull request #1436 from chme/feat/jsonapi-browse
[jsonapi] Generic browse endpoints
2022-04-03 13:57:34 +02:00
chme
9564240613 [jsonapi] New endpoint to fetch single composer/genre
Refactor "browse" endpoints (genre and composer) by defining a common
endpoint with the browse type as path parameter.
2022-03-31 20:51:00 +02:00
chme
b18b76413d [httpd] Fix parsing of uri into path parts with encoded '/' (%2F)
In path with an encoded '/' character, the parsing of the path into
parts was wrong.

E. g. an uri like
'/api/library/composers/Adam%20Gardner%2FDavid%20Schneider' would result
in the following parts:

- path_part[0] = "/api"
- path_part[1] = "library"
- path_part[2] = "composer"
- path_part[3] = "Adam Gardner"
- path_part[4] = "David Schneider"

Doing the decode after splitting the uri into parts fixes this and
results in:

- path_part[0] = "api"
- path_part[1] = "library"
- path_part[2] = "composer"
- path_part[3] = "Adam Gardner/David Schneider"
2022-03-31 20:51:00 +02:00
ejurgensen
a932cc532d [smartpl] Increase size of parse output buffer
To accommodate for larger smart playlists
2022-03-24 22:58:54 +01:00
ejurgensen
03d05ea828 [spotify] Make sure failed AP's are avoided on next connection attempt 2022-03-22 20:58:43 +01:00
ejurgensen
f27eac8341 [artwork] Also use queue_item->artwork_url for pipe sources 2022-03-22 20:57:43 +01:00
ejurgensen
54aa9c32cc [dacp] Listen for queue events to support json api metadata updates
Will only work for http and pipe sources

Fixes #1433
2022-03-22 20:57:43 +01:00
ejurgensen
5b23da9196 [player] 'clear_queue_on_stop_disable' in mpd section should keep working
Ref commit bfbd634
2022-03-20 20:30:25 +01:00
Christian Meffert
44d2c02b35
Merge pull request #1422 from chme/web/next
[web] Migration to Vue 3 and Vite
2022-03-20 15:37:04 +01:00
chme
0567e7528a [htdocs] Rebuild web interface and update htdocs-Makefile 2022-03-20 15:24:23 +01:00
chme
e5a87d0396 [web] Fix hiding singles in artists and albums views 2022-03-20 15:24:23 +01:00
chme
8f934ec690 [web] Fix running dev server with remote owntone server; update docs 2022-03-20 15:24:23 +01:00
ejurgensen
bfbd6346d0
Merge pull request #1435 from whatdoineed2do/player-clear_queue_on_stop_disable 2022-03-20 14:11:16 +01:00
whatdoineed2do/Ray
f6ce4c0df2 [player] missing update from 92279ef 2022-03-20 12:52:36 +00:00
ejurgensen
283298b0b4 [docs] Make clearer in INSTALL.md that libspotify is legacy 2022-03-19 23:38:25 +01:00
chme
02af9f2a23 [web] Update dependencies 2022-03-19 07:04:37 +01:00
Ben Willmore
965d55d67d Fix failure to detect apple-touch-icon.png (#4)
* Fix failure to detect apple-touch-icon.png

* apple-touch-icon: Use ?ver=2.0 not ?ver2.0

Co-authored-by: Ben Willmore <ben@willmore.eu>
2022-03-19 07:04:37 +01:00
Ben Willmore
decea8be66 Use vuex mutation instead of manipulating state directly 2022-03-19 07:04:37 +01:00
Ben Willmore
f484f1194b Search page: remember whether library or spotify is selected 2022-03-19 07:04:37 +01:00
Ben Willmore
a5dd6c4968 Websocket: remove unnecessary notifications 2022-03-19 07:04:37 +01:00
Ben Willmore
9d9bcc51f8 Websocket: reconnect more rapidly when closed 2022-03-19 07:04:37 +01:00
Ben Willmore
f380872540 When window gains focus or document becomes visible, update visible info
It doesn't seem necessary to also reconnect the websocket
2022-03-19 07:04:37 +01:00
chme
27e2274d8a [web] Refactor lists to improve performance
Reduces the number of Vue components that need to be created/managed.
Instead of a Vue component for each item, we now only have one Vue
component for the whole list of items.
2022-03-19 07:04:37 +01:00
Ben Willmore
a24cb11e17 Reconnect websocket when window receives focus 2022-03-19 07:04:37 +01:00
chme
6519b18aa0 [web] Fix linting errors 2022-03-19 07:04:37 +01:00
chme
c78f861f45 [web] Format web sources with prettier and run fix linting errors 2022-03-19 07:04:37 +01:00
chme
d7f1c13585 [web] Configure eslint and prettier dev tools 2022-03-19 07:04:37 +01:00
chme
de097fcf94 [web] Migration to Vue 3 and Vite 2022-03-19 07:04:37 +01:00
ejurgensen
92279ef33d [library] Move clear_queue_on_stop_disable cfg option to library section
Resolves #1430
2022-03-17 22:44:06 +01:00
ejurgensen
48051f6364 [spotify] Handle channel error (so that new AP connection is triggered) 2022-03-15 21:14:28 +01:00
ejurgensen
75f6f75da3 [smartpl] Fix bison parser regression, missing "starts with" syntax
Also adds "ends with" syntax just for good measure.

Closes #1432
2022-03-07 23:31:52 +01:00
ejurgensen
9d6eec3b18
Merge pull request #1429 from whatdoineed2do/streaming-status-leak
[streaming] memleak introduced via e1375f6ad
2022-03-06 09:46:24 +01:00
whatdoineed2do/Ray
ac9772eecf [streaming] memleak introduced via e1375f6ad 2022-03-05 21:02:18 +00:00
ejurgensen
e6823199d6
[db] Fix incorrect sorting of album/artist searches via web api (#1421)
Fix incorrect sorting of album/artist searches via web api. Also works with composers etc.

Fixes issue #1418
2022-02-20 10:18:13 +01:00
ejurgensen
1f16178036
Merge pull request #1417 from owntone/db_unicode_search2
[db] Improve search by supporting diacritics and Unicode case folding
2022-02-14 21:22:42 +01:00
ejurgensen
616be4d8cb [db] Use custom LIKE operator adapted from sqlite's icu.c (closes #1390)
Improves the search, e.g.:
- 'é' LIKE 'e'
- 'æ' LIKE 'Æ'
- 'Ö' LIKE 'o'
2022-02-13 20:52:40 +01:00
ejurgensen
edd22b6874 [scan] Remove unused libunistring includes 2022-02-12 20:58:16 +01:00
ejurgensen
6a5a27d3db [rcp] Fixup print masks, disable some logging 2022-02-11 22:09:14 +01:00
whatdoineed2do
a0ea8416f6
[db] fix 'add next' when in queue shuffle mode (#1414)
* [db] fix 'add next' when in queue shuffle mode

* [db] review on 'add next' fix

Co-authored-by: whatdoineed2do/Ray <whatdoineed2do@nospam.gmail.com>
2022-02-06 20:23:06 +01:00
ejurgensen
26d7cf453c
Merge pull request #1397 from whatdoineed2do/outputs-soundbridge
[outputs] new output: Roku/Soundbridge RCP
2022-02-06 17:17:05 +01:00
whatdoineed2do/Ray
8f722faaf2 [outputs] new output: RCP/Roku/SoundBridge devices
Roku SoundBridge devices can be treated as dumb speakers; they offer a
texted based protocol, RCP, that allows the server to request the Roku
device to connect to the server's stream.mp3 and provides ability to
control volume

Roku devices appear as speakers automatically via mDNS announcements on
the server _roku-rcp._tcp
2022-02-05 21:59:00 +00:00
ejurgensen
a19f5e3915 [db] Use static_assert() for map size consistency checking 2022-02-05 22:20:57 +01:00
ejurgensen
dd5ab6eb1d [cast] Remove djb_hash() error check 2022-02-05 22:06:25 +01:00
ejurgensen
a91d388fdf [docs] Change Raspbian -> Raspberry Pi OS in INSTALL 2022-02-04 17:06:13 +01:00