Commit Graph

476 Commits

Author SHA1 Message Date
Agate e9186ca813 Fx #1178: Display channel and track downloads count 2020-07-31 11:46:25 +02:00
Ciarán Ainsworth 7c031eb186 Resolve "Allow hiding compilation artists in the Artists tab" 2020-07-27 10:57:11 +02:00
Ciarán Ainsworth d6d73d8620 Resolve "Licence Art Libre" 2020-07-23 17:28:14 +02:00
Agate 21f147c0c4 Merge branch 'master' into develop 2020-07-21 14:47:07 +02:00
Agate ca056f717e Fix #1116: Can now filter subscribed content through API 2020-07-21 14:38:39 +02:00
Agate 4351331355 Fix #1175: Fix embedded player not working on channel serie/album 2020-07-21 11:19:35 +02:00
Agate e391415098 Upgraded dependencies 2020-07-18 10:29:22 +02:00
Agate 1295144681 Fixed really slow SQL 2020-07-09 11:51:58 +02:00
Agate 55f4fde0f4 Fix #1102: Do not include tracks in album API representation 2020-07-06 10:16:45 +02:00
Agate d4028450a9 Plugins infrastructure 2020-07-03 10:59:12 +02:00
Simon Arlott 93cb3e8cad
Handle PermissionError when checking existing files 2020-06-24 22:23:18 +01:00
Agate 0750aacafe
Fix #1104: invalid metadata when importing multi-artists tracks/albums 2020-06-23 12:43:58 +02:00
Agate 0c05ac6512
Fix #1104: invalid metadata when importing multi-artists tracks/albums 2020-06-23 12:37:48 +02:00
Agate e730ed45d5
Merge branch 'master' into develop 2020-06-22 14:50:52 +02:00
Agate d50cce36e2
Added a new ?related=obj_id filter for artists, albums and tracks, based on tags 2020-06-22 14:43:42 +02:00
Agate e6344338f9
Fix #1145: Support ordering=random for artists, albums, tracks and channels endpoints 2020-06-22 13:22:26 +02:00
Agate 0ebd7c610d
Linting 2020-06-21 16:38:57 +02:00
Agate 989f66315b
Fix #1165: Fixed broken mimetype detection during import 2020-06-21 16:21:16 +02:00
Simon Arlott 88a72ea14d
Handle access errors scanning directories
Trying to read a directory that is visible but not accessible, or a
symlink to a file in a directory that is not accessible will raise a
PermissionError. Output these and then continue.

If os.scandir() raises an exception then the finally block accesses
"scanner" before it is assigned, raising an UnboundLocalError.
2020-06-21 10:19:04 +01:00
Agate 45132dea75
Improved some error handling 2020-06-14 15:09:14 +02:00
Agate 85c6baca9a
Fix #1155: Fixed crash on python 3.5 with cli importer 2020-06-11 05:57:53 +02:00
Agate d43eed805b Merge branch '1151-list-librarie' into 'master'
Fix #1151: Updated the /api/v1/libraries endpoint to support listing public libraries of a pod

See merge request funkwhale/funkwhale!1135
2020-06-05 11:26:55 +02:00
Agate aa8b1b5f83
Fix #1151: Updated the /api/v1/libraries endpoint to support listing public libraries of a pod 2020-06-05 11:21:10 +02:00
Agate f54038ca83 Resolve "CLI in-place import impossible with virtualenv with python3.5" 2020-06-05 10:42:56 +02:00
Agate e331a87478
Use scoped tokens to load <audio> urls instead of JWT 2020-05-11 10:07:43 +02:00
Agate 798e3c0340
Fix #1078: Include tracks by album artist when filtering by artist on /api/v1/tracks 2020-05-07 16:43:10 +02:00
Agate c7a3dd9da5
Fix #1011: Ensure tracks linked to skipped upload can be pruned 2020-05-07 13:51:29 +02:00
Agate 752c993e8e
Importer updates: watch directories, handle metadata updates 2020-05-07 09:56:05 +02:00
Agate 85bc8d93e8
Fix #1093: mimetype detection issue that broke transcoding on certain tracks 2020-05-04 13:52:44 +02:00
Agate 19266ba3e3
Fixed broken upload status link in import_files command 2020-04-23 12:00:57 +02:00
Agate ecb7c464a1 Improved CLI importer reliability and UX 2020-04-15 11:23:50 +02:00
Eliot Berriot 8c93169d94
See #170: dispatch / handle delete and update on Audio 2020-04-08 16:17:24 +02:00
Eliot Berriot 51a44d6d5a Merge branch '170-fetch-track' into 'develop'
See #170: fixed fetch of channel track not working

See merge request funkwhale/funkwhale!1080
2020-04-08 13:58:38 +02:00
Eliot Berriot e7622729a9
See #170: fixed fetch of channel track not working 2020-04-08 13:38:22 +02:00
Eliot Berriot 9e8983bb60 See #170: reel2bits compat 2020-04-08 13:28:46 +02:00
Eliot Berriot 9e447ab523 See #170: UI for albums / series 2020-04-07 17:19:17 +02:00
Eliot Berriot 133e2e4f07
Fix #1059: fixed some broken RSS feeds 2020-04-01 16:21:41 +02:00
Eliot Berriot 02d35ded25
Switch back from pendulum to arrow to fix broken build ;) 2020-03-30 10:59:21 +02:00
Eliot Berriot f361791c1b
Fixed mutation erasing tags and description when other fields are modified 2020-03-26 16:36:03 +01:00
Eliot Berriot 9aa12db62e See #170: Funkwhale federation 2020-03-25 15:32:10 +01:00
Eliot Berriot e4b989f51a
Fixed empty results issue when browsing library with playable filter 2020-03-24 10:31:07 +01:00
Eliot Berriot 2440550591 Merge branch 'faster-ci' into 'develop'
Faster tests

See merge request funkwhale/funkwhale!1063
2020-03-23 16:22:20 +01:00
Eliot Berriot c9259c906b
Faster tests by not creating covers unless mandatory 2020-03-23 14:29:01 +01:00
Eliot Berriot 7aa299e5b4
See #170: ensure fetch works properly on tracks with public upload 2020-03-23 12:54:58 +01:00
Eliot Berriot 1654044a9f
See #170: store and compute modification date on artists 2020-03-19 14:41:15 +01:00
Eliot Berriot a119a5d90a
See #170: fixed several feed parsing issues 2020-03-13 15:26:11 +01:00
Eliot Berriot deb1f35779 See #170: subscribe to 3d-party RSS feeds in Funkwhale 2020-03-13 12:16:51 +01:00
Eliot Berriot 882e245a09
Fix #1036: Favor local uploads when playing a track with multiple uploads 2020-03-11 14:05:37 +01:00
Eliot Berriot d9afed5067 Fix #1038: Federated reports 2020-03-11 11:39:55 +01:00
Eliot Berriot 66a9a62376
Fix #1037: More resilient tag parsing with empty release date or album artist 2020-03-09 17:21:15 +01:00
Eliot Berriot b166182762 Resolve "Support browsing a specific library content" 2020-03-04 22:18:28 +01:00
Eliot Berriot c2eeee5eb1 See #170: fetching remote objects 2020-03-02 17:23:03 +01:00
Eliot Berriot e59cc33378 First round of improvements to channel management:
- use modals
- less proeminent button
- field styling/labels
2020-02-23 15:31:03 +01:00
Eliot Berriot 95497e76ac See #170: channels ui (listeners) 2020-02-05 15:06:07 +01:00
Eliot Berriot b38cec3f69
Fixed a federation issue related to images 2020-02-04 14:24:20 +01:00
Eliot Berriot a4faf44540
See #170: added proper meta and support embed for channels 2020-01-30 15:47:45 +01:00
Eliot Berriot bf99e13230
See #170: include channel info in artist representations 2020-01-30 15:08:10 +01:00
Eliot Berriot 159c07c2c0
See #170: don't expose channels libraries in API 2020-01-30 14:29:32 +01:00
Eliot Berriot 7ac5a2f333 Merge branch '170-channel-filter' into 'develop'
See #170: can now filter tracks and albums by channel

See merge request funkwhale/funkwhale!1006
2020-01-30 11:15:18 +01:00
Eliot Berriot 61cf04b376
Fix #348, #474, #557, #740, #928: improved deduplication logic to prevent skipped files during import 2020-01-29 15:39:43 +01:00
Eliot Berriot 4268fe3aeb
See #170: can now filter tracks and albums by channel 2020-01-28 09:26:38 +01:00
Eliot Berriot f107656586
Federation of avatars 2020-01-23 17:19:27 +01:00
Eliot Berriot e2ab4ce845
See #170: added content_category on artist 2020-01-22 11:47:54 +01:00
Eliot Berriot b22b9c83b0
See #170: now record downloads count on tracks/uploads 2020-01-20 13:59:12 +01:00
Eliot Berriot 71b400a9b8 See #170: cover on tracks and artists 2020-01-17 16:27:11 +01:00
Eliot Berriot cfc88847a6
See #170: use new content obj for channel description 2020-01-15 13:43:25 +01:00
Eliot Berriot 2bc71eecfd See #170: add a description field on tracks, albums, tracks 2020-01-14 14:00:08 +01:00
Eliot Berriot 20311344d7 Resolve "Switch to proper full-text-search system" 2019-12-18 15:08:58 +01:00
Eliot Berriot 57949c02c1 Revert "Revert "Fix #994: use PostgreSQL full-text-search""
This reverts commit 7b0db234e2.
2019-12-18 11:26:59 +01:00
Eliot Berriot aea8e4fc59 Resolve "Tagging artists/albums genres when importing music files" 2019-12-18 07:52:09 +01:00
Eliot Berriot 7b0db234e2
Revert "Fix #994: use PostgreSQL full-text-search"
This reverts commit b3d8d6a4da.
2019-12-17 10:57:05 +01:00
Eliot Berriot b3d8d6a4da
Fix #994: use PostgreSQL full-text-search 2019-12-16 17:46:32 +01:00
Eliot Berriot 8f0eabcb71
Fixed unhandled crash when getting empty tag 2019-12-16 09:54:15 +01:00
Eliot Berriot dd9cca432d
Disable download by default on track urls exposed over federation 2019-12-09 16:37:04 +01:00
Eliot Berriot 5a37d9771e See #170: federation for channels 2019-12-09 13:59:54 +01:00
Eliot Berriot c94d9214ec See #170: updates to upload API to support channels publishing 2019-12-04 09:55:07 +01:00
Eliot Berriot ad7274ff90
Fix #976: fix cover attachment migration under S3 2019-11-27 16:47:24 +01:00
Eliot Berriot 73e7211398
Fix album cover migration crash with cover not found on disk 2019-11-27 15:56:56 +01:00
Eliot Berriot a89eb8db6e Merge branch 'media-root' into 'develop'
Make media and static files serving more reliable when reverse proxy...

Closes #947

See merge request funkwhale/funkwhale!959
2019-11-27 15:10:23 +01:00
Eliot Berriot 8a9f7845d4
Fix #947: Make media and static files serving more reliable when reverse proxy X_FORWARDED_* headers are incorrect 2019-11-27 15:05:50 +01:00
Eliot Berriot 11a533fa92 Resolve "Adding cover art to my albums" 2019-11-27 12:26:12 +01:00
Eliot Berriot 6bbe48598e See #170: exclude by default all channels-related entities from /artists, /albums and /tracks endpoints results, for backward compatibility 2019-11-25 09:49:49 +01:00
Eliot Berriot c84396e669 Attachments 2019-11-25 09:49:06 +01:00
Eliot Berriot 4dcdc93958
Fix #966: More robust importer against malformed dates 2019-11-14 15:47:18 +01:00
Ciarán Ainsworth 1152c9da97 Resolve "Wrong sort used when sorting favorites by album name" 2019-11-06 10:22:46 +01:00
Eliot Berriot 5b960ceab5
Merge branch 'master' into develop 2019-10-28 09:05:09 +01:00
Eliot Berriot cceade4abb Merge branch 'audio-denormalization' into 'master'
Audio denormalization / Performance enhancement in music API

See merge request funkwhale/funkwhale!939
2019-10-28 09:04:42 +01:00
Eliot Berriot 413532593c
Merge branch 'master' into develop 2019-10-24 11:33:18 +02:00
Eliot Berriot 1ca7f62aab
Small performance enhancements 2019-10-22 11:44:38 +02:00
Eliot Berriot 6b5cb9759a
Improved SQL generated by ORM 2019-10-22 00:13:27 +02:00
Eliot Berriot 4e7f1e63d2
Denormalized audio permission logic in a separate table to enhance performance 2019-10-22 00:13:25 +02:00
Eliot Berriot c58c74d653
Merge branch 'master' into develop 2019-10-17 15:22:32 +02:00
Eliot Berriot 109c490639 Merge branch 's3-proxy-fails-on-nginx' into 'master'
S3 proxy fails on nginx

See merge request funkwhale/funkwhale!935
2019-10-17 10:21:59 +02:00
Eliot Berriot 4a5484c7eb
Fix audio serving issues under S3/nginx when signatures are enabled 2019-10-17 10:14:08 +02:00
Eliot Berriot 66ef7a7332
Fix #946: Fix import crash when importing M4A file with no embedded cover 2019-10-16 10:21:53 +02:00
Eliot Berriot 6d84a814d9 Revert "Apply suggestion to api/funkwhale_api/common/filters.py"
This reverts commit 4972d760e2809122af54060252be14a638cc87cc.
2019-10-15 15:46:48 +02:00
Eliot Berriot 27b248df6e Fix #661: Support for M4A/AAC files 2019-10-03 09:09:00 +02:00
Eliot Berriot f0bea39d6a
Fix #924: in-place imported files not playing under nginx when filename contains ? or % 2019-10-01 10:57:14 +02:00
Eliot Berriot 618c6d8bb0
Truncate too long long values when importing instead of crashing 2019-09-27 12:49:16 +02:00
Eliot Berriot 93b9e14f8c
Fixed broken cover import when cover file is empty 2019-09-27 12:49:16 +02:00
Eliot Berriot 81349e2b57 Fix #865: Performance optimization on /artists, /albums and /tracks endpoints 2019-09-24 09:48:04 +02:00
Eliot Berriot 94ee3c4360
Fixed unkwown typo :D 2019-09-23 11:30:37 +02:00
Eliot Berriot 921317a217 Implemented missing getSongsByGenre subsonic endpoint 2019-09-19 21:09:18 +02:00
Eliot Berriot 3204dfd342
Fix #898: Pickup folder.png and folder.jpg files for cover art when importing from CLI 2019-09-17 11:06:39 +02:00
Eliot Berriot c9a9615be8 See #890: web UI and email notifications on new reports 2019-09-13 06:09:48 +02:00
Eliot Berriot e133130176 Playlist embed 2019-09-12 09:48:28 +02:00
Eliot Berriot 1a1878445c
Fixed album art not being retrieved from Ogg/Opus files 2019-08-26 14:08:00 +02:00
Eliot Berriot a6cf2ce019 "[EPIC] Report option on everything - reports models 2019-08-22 11:30:30 +02:00
Ciarán Ainsworth 2e0883d44c Fix #895: "Display tracks count instead of albums count for artists with no albums" 2019-08-20 12:12:41 +02:00
Eliot Berriot 4d5e47466c
Updated Django Rest Framework to v3.10 2019-07-30 14:08:01 +02:00
Eliot Berriot bb1a895a9b
Merge branch 'master' into develop 2019-07-29 14:22:31 +02:00
Eliot Berriot be0b120cea
Ensure we can transcode from video/ogg files too 2019-07-25 15:43:46 +02:00
Eliot Berriot c885c10be1 Merge branch 'refetch-remote-entities' into 'develop'
Added "refresh=true" API param to artist, track and album detail to retrieve up-to-date data if needed

See merge request funkwhale/funkwhale!837
2019-07-24 09:36:15 +02:00
Eliot Berriot 4a277c17bb
Added "refresh=true" API param to artist, track and album detail to retrieve up-to-date data if needed 2019-07-22 12:16:47 +02:00
Eliot Berriot 27f0826195
See #432: expose and federate tags on artists and albums 2019-07-22 09:41:33 +02:00
Eliot Berriot 9376f808e9 Merge branch '432-tags-radio' into 'develop'
See #432: tags radio and search

See merge request funkwhale/funkwhale!834
2019-07-19 06:58:25 +02:00
Eliot Berriot e21e0e50d1
See #432: added tag search in sidebar 2019-07-18 15:26:30 +02:00
Eliot Berriot d808a1f1ac
Fixed a bug with in-place imported files not playing 2019-07-18 15:13:34 +02:00
Eliot Berriot 22bd1512c7
Ensure owner of tracks/albums/artists can approve suggestions 2019-07-18 14:24:18 +02:00
Eliot Berriot 07f8bcf215
See #432: added tag filtering for albums and artists (API) 2019-07-15 14:20:29 +02:00
Eliot Berriot aa6bece8df
See #432: expose artists, album and track tags in API 2019-07-15 14:20:29 +02:00
Eliot Berriot 2bbb2f3239
See #432: can now suggest tags on tracks/albums/artists (API) 2019-07-15 14:20:28 +02:00
Eliot Berriot bd271c8ead
See #432: Moved tag validation in the tags app 2019-07-15 11:32:14 +02:00
Eliot Berriot c8135d38b1
See #432: added model tagging logic on artists and albums 2019-07-15 10:53:33 +02:00
Eliot Berriot 7bc8109732 See #432: tags acquisition (from audio files) 2019-07-12 15:06:39 +02:00
Eliot Berriot 9f3076f4db
See #432: API endpoint to query tags 2019-07-09 16:03:41 +02:00
Eliot Berriot 6dde4b73cd Implement tag models 2019-07-08 15:26:14 +02:00
Eliot Berriot 95cd64582c
Fix #868: Added opus to the list of supported mimetypes and extensions 2019-06-27 06:07:05 +02:00
Eliot Berriot cdcba85f29 Resolve "Importing tracks without album fails" 2019-06-26 10:38:29 +02:00
Reg a1d01105a1
Fixed typo refrence => reference 2019-06-25 11:03:45 +02:00
Eliot Berriot 0a25243e25
Fix #857: Fix broken upload for specific files when using S3 storage 2019-06-13 11:10:48 +02:00
Eliot Berriot bb5e5460c4
Fix #848: Fixed invalid file extension for transcoded tracks 2019-06-10 11:56:10 +02:00
Eliot Berriot c8ee67e754
Fix #850: Ensure empty but optional fields in file metadata don't error during import 2019-06-10 11:05:07 +02:00
Eliot Berriot 1f3f790f63
Fix #819: Fixed invalid required fields in Upload django's admin 2019-05-09 12:13:00 +02:00
Eliot Berriot 86269c1b07
Can now serve audio content directly from S3 2019-05-09 11:43:35 +02:00
Eliot Berriot aad2a50536
Fixed issue when transcoding from federation 2019-05-07 12:36:29 +02:00
Eliot Berriot 119df01335
Fix #808: Advertise the list of supported upload extensions in the Nodeinfo endpoint 2019-05-02 13:15:33 +02:00
Eliot Berriot a2c52abb4f
See #565: fixed path issues with external storage 2019-04-24 15:27:07 +02:00
Eliot Berriot 6135d427e7
Fixed some issues 2019-04-24 12:56:15 +02:00
Eliot Berriot 101ae27885
Fix #565: store media files in S3 bucket 2019-04-23 18:01:42 +02:00
Eliot Berriot 0b94227782
Fix #799: Removed broken/instable lyrics feature 2019-04-23 10:32:51 +02:00
Eliot Berriot a605bcbe76 Admin UI for libraries and uploads 2019-04-19 12:05:13 +02:00
Eliot Berriot cdc617be27 Logic to refetch remote entities 2019-04-18 14:37:17 +02:00
Eliot Berriot 55d0e52c55 Edits for artists and albums 2019-04-17 16:11:24 +02:00
Eliot Berriot b4731928fc UI To manage artists, albums, tracks 2019-04-17 14:17:59 +02:00
Eliot Berriot 0e8a5a10e5
Fix #802: Now honor maxBitrate parameter in Subsonic API 2019-04-16 11:35:12 +02:00
Eliot Berriot 8cfd604e51
Fix #782: Better handling of featuring/multi-artist tracks tagged with MusicBrainz 2019-04-12 12:04:25 +02:00
Eliot Berriot 4e44e4e4b6 Attribute artist 2019-04-11 10:17:10 +02:00
Eliot Berriot 0ce51d25d4
Can now edit track copyright information 2019-04-09 11:15:43 +02:00
Eliot Berriot a3ad476c88
More configurable pagination 2019-04-09 11:15:43 +02:00