Commit Graph

729 Commits

Author SHA1 Message Date
Eliot Berriot ff566b79dc See #872: banner setting 2019-09-17 11:03:32 +02:00
Eliot Berriot 5ca3055713
See #872: added a new terms of service setting 2019-09-16 11:34:17 +02:00
Eliot Berriot fcf223ad03 Resolve "Broken 'Less listened' Radio in develop version" 2019-09-15 20:22:10 +02:00
Eliot Berriot c3dc4e2ab4
Review fixes for report notifications not included in !880 2019-09-13 06:13:53 +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 9552b49a46 See #890: expose number of reports linked to tracks, albums, libraries, accounts and artists via the /stats route 2019-09-13 05:53:40 +02:00
Eliot Berriot daad6a5dc4
See #890: assign report to moderator on resolution 2019-09-12 11:07:42 +02:00
Eliot Berriot e133130176 Playlist embed 2019-09-12 09:48:28 +02:00
Eliot Berriot 33d1f879cf Report UI (end-user) 2019-09-09 11:10:25 +02:00
Eliot Berriot 0600819b38
See #890: review tweaks 2019-09-06 10:10:32 +02:00
Eliot Berriot 92a1914ef8
See #890: fixed failing tests 2019-09-02 16:34:39 +02:00
Eliot Berriot 5e39a85ebe
See #890: disable report deletion 2019-09-02 11:06:25 +02:00
Eliot Berriot 2ad5b9e9f3
See #890: freeze more data in reports, fixed some failing tests 2019-08-29 14:53:20 +02:00
Eliot Berriot b363d1117c
Added GenericRelationFilter 2019-08-29 12:25:41 +02:00
Eliot Berriot ab3bc96783
See #890: added moderation note model, serializers and views 2019-08-29 11:45:41 +02:00
Eliot Berriot 9488094ff9
See #890: Added is_local attribute on admin account API representations 2019-08-28 10:22:38 +02:00
Eliot Berriot 8f7ab82117
See #890: initial API endpoint to handle management of reports 2019-08-28 10:22:37 +02:00
Eliot Berriot 177f06cf2a
See #890: Ensure report handled_date is populated automatically when handling the report 2019-08-28 10:22:37 +02:00
Eliot Berriot b659eec4df
See #890: initial admin serializer for reports 2019-08-28 10:22:36 +02:00
Eliot Berriot 8b13c07625
Fixed #893: empty contentType causing client crash in some Subsonic payloads 2019-08-27 14:15:26 +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 eed411de7c Merge branch '548-library-visibility-admin' into 'develop'
Resolve "Admin tools to manage users libraries"

Closes #548

See merge request funkwhale/funkwhale!841
2019-07-29 10:50:32 +02:00
Eliot Berriot 32445c5113
Moved test date check into a dedicated function 2019-07-29 10:44:01 +02:00
Eliot Berriot 4d0fedab1f
Fix #548: Mods can now change a library visibility through the admin UI 2019-07-25 14:15:47 +02:00
Eliot Berriot 84f830829f
See #432: include tags in admin API representation of tracks, albums and artists 2019-07-25 10:50:49 +02:00
Eliot Berriot aaced60ec1
See #432: added /action endpoint to manage tags in batch 2019-07-25 10:22:42 +02:00
Eliot Berriot 13f36beec3
See #432: added admin API endpoints to retrieve and delete tags 2019-07-24 10:24:30 +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 692e175a6c
See #432: genre listing/filtering in Subsonic 2019-07-19 08:21:36 +02:00
Eliot Berriot 904a482698
Ensure we render tag text properly in Subsonic XML 2019-07-19 07:53:37 +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 f6329af215 Merge branch 'attributed-to-suggestions' into 'develop'
Ensure owner of tracks/albums/artists can approve suggestions

See merge request funkwhale/funkwhale!833
2019-07-19 06:57:56 +02:00
Eliot Berriot 918e7beb7e
See #432: can now start a radio from a tag 2019-07-18 15:13:09 +02:00
Eliot Berriot 22bd1512c7
Ensure owner of tracks/albums/artists can approve suggestions 2019-07-18 14:24:18 +02:00
Eliot Berriot fec1a43012
See #432: Removed flaky assertion in test 2019-07-18 14:11:51 +02:00
Eliot Berriot 995be49402
See #432: fixed an ordering issue on tag length 2019-07-18 14:08:36 +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 1b34ae2335
See #432: enforce a maximum number of tags per entity 2019-07-15 11:53:58 +02:00
Eliot Berriot bd271c8ead
See #432: Moved tag validation in the tags app 2019-07-15 11:32:14 +02:00
Eliot Berriot 997dcf5327 Merge branch '432-tags-albums-artists' into 'develop'
See #432: added model tagging logic on artists and albums

See merge request funkwhale/funkwhale!829
2019-07-15 10:57:34 +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 d39cfab283
Increase the security of JWT token generation by using DJANGO_SECRET_KEY as well as user-specific salt for the signature 2019-07-13 16:02:10 +02:00
Eliot Berriot 7bc8109732 See #432: tags acquisition (from audio files) 2019-07-12 15:06:39 +02:00
Eliot Berriot 8ee5578693 Merge branch '432-tags-api' into 'develop'
See #432: API endpoints to query tags

See merge request funkwhale/funkwhale!824
2019-07-12 14:53:38 +02:00
Eliot Berriot 57e0eea181 See #432: expose and reuse tags over federation 2019-07-10 19:41:00 +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 b95710bb3a
Merge branch 'master' into develop 2019-07-05 16:04:39 +02:00
Eliot Berriot 0989df4795 Merge branch 'custom-css' into 'master'
Custom css

See merge request funkwhale/funkwhale!818
2019-07-04 10:36:07 +02:00
Eliot Berriot 38ab05195b
Fix #867: Fixed remaining transcoding issue with Subsonic API 2019-07-03 11:38:06 +02:00
Eliot Berriot 7897c8ac7f
Fix #879: Admins can now add custom CSS from their pod settings 2019-07-03 11:23:45 +02:00
Eliot Berriot 78ab153734
Fixed flaky tests because of license cache 2019-07-02 16:16:12 +02:00
Eliot Berriot 53b826c81a
Fix #877: Ensure API urls answer with and without a trailing slash 2019-07-02 14:31:47 +02:00
Eliot Berriot 21259cc60f
Fixed flaky tests because of license cache 2019-07-02 12:00:52 +02:00
Eliot Berriot 4ad3d10df9
Removed test for old migrations that caused flaky results 2019-07-02 10:06:03 +02:00
Eliot Berriot 0e652103a4
Merge branch 'master' into develop 2019-07-01 14:02:28 +02:00
Eliot Berriot 76956868fa Broken pytest 2019-07-01 14:00:32 +02:00
Eliot Berriot 8f261f96e9
Merge branch 'master' into develop 2019-06-28 10:38:52 +02:00
Eliot Berriot bfff79301d Fix #867: Added a SUBSONIC_DEFAULT_TRANSCODING_FORMAT env var to support clients that don't provide the format parameter 2019-06-28 09:59:57 +02:00
Eliot Berriot 17996ca936
Merge branch 'master' into develop 2019-06-28 09:38:55 +02:00
Eliot Berriot cdcba85f29 Resolve "Importing tracks without album fails" 2019-06-26 10:38:29 +02:00
Eliot Berriot 22e9851ad8 UI for allow-list 2019-06-26 10:22:53 +02:00
Eliot Berriot 45acf7ca3f See #853: force authenticated ActivityPub checks when allow-list is enabled 2019-06-26 10:22:29 +02:00
Eliot Berriot d39edae061
Fixed crashing nodeinfo fetching when remote answers with invalid JSON 2019-06-24 16:21:06 +02:00
Eliot Berriot 62939d6826
Fixed failing test 2019-06-24 16:12:43 +02:00
Eliot Berriot 581e890ad9
See #853: advertise allow-list configuration in nodeinfo 2019-06-21 15:57:04 +02:00
Eliot Berriot 08262529ec MRF / Dropping of incoming/outgoing messages based on allow-list 2019-06-20 10:27:07 +02:00
Eliot Berriot 371dc01205
Merge branch 'master' into develop 2019-06-19 11:24:49 +02:00
Eliot Berriot 2b2b64f0a7 Model / settings for allow-listing 2019-06-17 08:48:05 +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 2523108b6a
Fix #847: Use ASCII filename before upload to S3 to avoid playback issues 2019-06-11 09:56:46 +02:00
Eliot Berriot ce4a6b0412
Fix #851: wrong og:image url when using S3 storage 2019-06-10 12:06:29 +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 4a412d36a9
Fix #830: Better handling of follow/accept messages to avoid and recover from desync between instances 2019-05-14 10:59:49 +02:00
Eliot Berriot 6749b72884
Fixed broken pipeline 2019-05-10 09:32:06 +02:00
Eliot Berriot 86269c1b07
Can now serve audio content directly from S3 2019-05-09 11:43:35 +02:00
Eliot Berriot c8fcf1b0d9
Support oauth token in URL 2019-05-03 12:30:57 +02:00
Eliot Berriot 1345ba183c
Fixed follow autoapproval not working with "instance" visibility level 2019-05-02 13:57:42 +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 048339c7a2
Fix #809: Added admin options to disable login for users, ensure related content is deleted when deleting a user account 2019-04-30 14:46:05 +02:00
Eliot Berriot 430af5560c Merge branch '565-failing-tests' into 'develop'
See #565: fixed path issues with external storage

Closes #565

See merge request funkwhale/funkwhale!736
2019-04-24 15:29:57 +02:00
Eliot Berriot a2c52abb4f
See #565: fixed path issues with external storage 2019-04-24 15:27:07 +02:00
Eliot Berriot 993783190a
Fix #619: Use attributedTo instead of actor in library ActivityPub payload 2019-04-24 14:40:58 +02:00
Qasim Ali 22f0235045 refactor playlist duplicate error structure
- use non_field_errors struct when writing duplicate track errors
- generalize frontend error handler and update frontend error parsing
2019-04-24 11:31:46 +02:00
Eliot Berriot 51d94a13fa Merge branch '798-more-flexible-user-url' into 'develop'
Fix #798: Allow users with dots in their usernames to request a subsonic password

Closes #798

See merge request funkwhale/funkwhale!733
2019-04-23 11:38:42 +02:00
Eliot Berriot b23e87e102
Fix #798: Allow users with dots in their usernames to request a subsonic password 2019-04-23 11:35:59 +02:00
Eliot Berriot 39485c8e02
Fix #806: Use proper site name/domain in emails 2019-04-23 11:14:58 +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 5e3cc99f20
See #689: fetch nodeinfo when seing a domain for the first time 2019-04-11 11:25:55 +02:00
Eliot Berriot 84e2f0af9f
See #689: added a task to refresh nodeinfo data on known domain periodically 2019-04-11 11:14:27 +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 45142bf24b
Added better dropdown for choosing licenses 2019-04-09 11:15:43 +02:00
Eliot Berriot a3ad476c88
More configurable pagination 2019-04-09 11:15:43 +02:00
Eliot Berriot 6649d0720d
Fix #781: Added a `check_inplace_files` management command to remove purge the database from references to in-place imported files that don't exist on disk anymore 2019-04-05 18:55:00 +02:00
Eliot Berriot f5a6a40d7f
Fix #787: federation issue due to missing error handling 2019-04-05 16:22:32 +02:00
Eliot Berriot 2a82367667
Fix #788: fixed crashing import with empty album artist 2019-04-05 15:41:28 +02:00
Eliot Berriot 05f0129025 Better error handling on display for import errors (#718, #583, #501, #252, #544) 2019-04-04 16:07:43 +02:00
Eliot Berriot 5916a1ba99
Fix #777: Added a prune_library management command to remove obsolete metadata 2019-03-27 17:04:10 +01:00
Eliot Berriot 8a5c85a823 Merge branch 'discard-unhandled-activities' into 'develop'
Fix #776: Don't store unhandled ActivityPub messages in database

Closes #776

See merge request funkwhale/funkwhale!696
2019-03-27 13:46:08 +01:00
Eliot Berriot ca7b39c692
Fix #740: Do not consider tracks as duplicates during import if they have different positions 2019-03-27 12:54:29 +01:00
Eliot Berriot 46f1d96206
Fix #776: Don't store unhandled ActivityPub messages in database 2019-03-27 12:53:35 +01:00
Eliot Berriot 31227b8641
Fix #772: Prevent skipping on file import if album_mbid is different 2019-03-27 12:13:25 +01:00
Eliot Berriot 4c13d47387 Resolve "Implement a Oauth provider in Funkwhale" 2019-03-25 17:02:51 +01:00
Eliot Berriot e587e5aebc
Merge branch 'master' into develop 2019-03-21 10:46:28 +01:00
Eliot Berriot cc71d2bb20
Fix #570: Exclude in-place imported files from quota computation 2019-03-21 10:32:12 +01:00
Eliot Berriot 9a162c57ca
Merge branch 'master' into develop 2019-03-20 20:45:06 +01:00
Eliot Berriot 429ffbf461 Fix #757: Ensure cover art from uploaded files is picked up properly on existing albums 2019-03-20 19:38:41 +01:00
Eliot Berriot 5715773fa7
Fix #765: Include disc number in Subsonic responses 2019-03-20 17:13:40 +01:00
Eliot Berriot 33190613a2
Fix #737: delivering of local activities causing unintended side effects, such as rollbacking changes 2019-03-20 16:21:03 +01:00
Eliot Berriot b9f0c6aecd
Revert "Merge branch '629-cookie-auth' into 'develop'"
This reverts commit 8b47af8b81, reversing
changes made to c0055b3b20.
2019-03-15 15:52:30 +01:00
Eliot Berriot da3710ff08 Fix #758: Ensure all our ActivityPub fetches are authenticated 2019-03-15 12:08:45 +01:00
Eliot Berriot c395076fce Resolve "Use cookies instead of local storage for auth in Web UI" 2019-03-13 16:50:49 +01:00
Eliot Berriot 8ae00b0698
Fix #747: Support embedding full artist discographies 2019-03-08 10:34:50 +01:00
Eliot Berriot 491c79efa0
Merge branch 'master' into develop 2019-03-07 13:44:33 +01:00
Eliot Berriot 3d94eddcfc
Fix #743: Do not send notification when rejecting a follow on a local library 2019-03-07 12:09:45 +01:00
Eliot Berriot 0afa4f2e27 Fix #737: delivering of local activities causing unintended side effects, such as rollbacking changes 2019-03-06 15:33:39 +01:00
Eliot Berriot 12c9db3960 Ensures federation urls can answer to application/ld+json, application/activity+json and application/json requests 2019-03-05 15:15:37 +01:00
Eliot Berriot d243d6a2f5 See #689: now serve AP representations for uploads, tracks, albums and artists 2019-02-28 12:32:09 +01:00
Eliot Berriot e0c5ffcb16 [EPIC] Audio metadata update - UI / API 2019-02-28 09:31:04 +01:00
Eliot Berriot f726b5e105
See #578: Added twitter:* meta tags to detect tracks and albums players automatically on more sites 2019-02-21 14:27:14 +01:00
Eliot Berriot bdf83bd8ff Resolve "Hide an artist in the UI" 2019-02-14 10:49:06 +01:00
Eliot Berriot 7e1bd1ad07
Merge branch 'master' into develop 2019-02-13 09:09:31 +01:00
jake 7a34c297ed Resolve "add a view to list albums" 2019-02-13 08:46:38 +01:00
Eliot Berriot 00846ca3e9
Fix #706: Added a 'fix_federation_ids' management command to deal with protocol/domain issues in federation
IDs after deployments
2019-02-11 11:59:32 +01:00
Eliot Berriot 98f4edeeb3
Merge branch 'master' into develop 2019-02-11 09:44:42 +01:00
Eliot Berriot d99757658c
Fix #705: Can now use a local file with FUNKWHALE_SPA_HTML_ROOT to avoid sending an HTTP request 2019-02-08 17:36:10 +01:00
Eliot Berriot 5ce4cc8379
[Experimental] Added a new "Similar" radio based on users history (suggested by @gordon) 2019-01-30 16:54:35 +01:00
Eliot Berriot 253f026dc0 System actor 2019-01-30 11:54:43 +01:00
Eliot Berriot 7df97263e5
Merge branch 'develop' 2019-01-29 10:06:04 +01:00
Vierkantor 0efdb6d980 Resolve "In-place imports cannot be transcoded" 2019-01-29 09:32:35 +01:00
Eliot Berriot cd36128769
Fix #684: Include shared/public playlists in Subsonic API responses 2019-01-25 12:12:00 +01:00
Eliot Berriot 0b66737181
Include user activity stats in nodeinfo endpoints 2019-01-21 10:16:50 +01:00
Eliot Berriot e8c81d734f
Fixed wrong value for anonymousCanListen in nodeInfo 2019-01-21 09:52:41 +01:00
Eliot Berriot 4a3c21a094
Importer will now pick embedded images in files with OTHER type if no COVER_FRONT is present 2019-01-15 17:14:11 +01:00
Eliot Berriot 6aaa51e8e7
Fix #564: Added a script to prune pre 0.17 federated tracks 2019-01-14 17:11:24 +01:00
Eliot Berriot 08ce00e3cd
Fixed #469: parsing of embedded file cover for ogg files tagged with MusicBrainz Picard 2019-01-14 14:51:35 +01:00
Eliot Berriot 5fe30cf59b
Fix #658: Support blind key rotation in HTTP Signatures 2019-01-11 15:39:33 +01:00
Eliot Berriot fe03d08a8e
Removed unused acoustid dependency / logic 2019-01-11 14:10:02 +01:00
Eliot Berriot 14392ebb0c
Updated rest framework to 3.9 2019-01-11 14:10:02 +01:00
Eliot Berriot 53ade20722 Merge branch 'more-performant-favorites' into 'develop'
More performant favorites

See merge request funkwhale/funkwhale!522
2019-01-10 12:00:35 +01:00
Eliot Berriot 3916986fb8
Performance improvement when fetching favorites, down to a single, small http request 2019-01-10 11:58:18 +01:00
Eliot Berriot 4811f35eb5
Linting 2019-01-10 11:11:32 +01:00
Eliot Berriot 377f237fdb
Rejecting media files on an instance or account now purge existing media 2019-01-10 11:11:31 +01:00
Eliot Berriot 1c55f2c9a6
Use our instance policies to discard fetched and inbox objects 2019-01-10 11:11:30 +01:00
Eliot Berriot 233ac870be
Added actions and tasks to purge domains and actors 2019-01-09 14:20:22 +01:00
Eliot Berriot 0bc9bb65b0
Model, view and serializer for instance-level policies 2019-01-07 09:45:53 +01:00
Eliot Berriot ddffbeadfa
Can now add domains via manage API / UI 2019-01-05 18:21:35 +01:00
Eliot Berriot 49e1bec7b9
Faster transcoding tests thanks to smaller audio files (see #648) 2019-01-04 12:23:53 +01:00
Eliot Berriot 7657db4212
Fix #648: Improved test suite speed by reducing / disabling expensive operations 2019-01-04 11:47:23 +01:00
Eliot Berriot e186c6bb06
Admin UI to list and manage remote and local accounts 2019-01-03 17:10:02 +01:00
Eliot Berriot 47209ee5ae
Added API to list and detail actors 2019-01-03 11:47:29 +01:00
Eliot Berriot a7d7756545
Fix #374: Strip EXIF metadata from uploaded avatars to avoid leaking private data 2019-01-02 12:39:00 +01:00
Eliot Berriot 9d55320b56
Fixed slow query on domain list / stats 2018-12-27 22:45:43 +01:00
Eliot Berriot 942e9a15cb
Linting 2018-12-27 20:39:03 +01:00
Eliot Berriot 032197da3f
Added stats endpoint for domain 2018-12-27 20:33:12 +01:00
Eliot Berriot be388870a3
Can now fetch domain nodeinfo 2018-12-27 20:33:12 +01:00
Eliot Berriot e4117043cb
Added API endpoint and UI to list known domains 2018-12-27 20:33:11 +01:00
Eliot Berriot 34ec869ca1
Removed obsolete permissions, added a new moderation permission 2018-12-27 20:33:11 +01:00
Eliot Berriot 7ac3bb98da
Moved actor domain to a dedicated table 2018-12-27 20:33:11 +01:00
Eliot Berriot 24b8ca7227
Removed dead code 2018-12-26 20:23:48 +01:00
Eliot Berriot e8b2b94df4
Fixed url escaping for good ;) 2018-12-19 16:45:40 +01:00
Eliot Berriot 94703ff296
Added missing attributes in oembed data 2018-12-19 16:13:01 +01:00
Eliot Berriot 03a7b80d03
Use cropped images for og:image 2018-12-19 16:05:45 +01:00
Eliot Berriot a56531e111
Added missing format in oembed discovery link 2018-12-19 15:53:54 +01:00
Eliot Berriot 173cd9ef78 Merge branch 'remove-superfluous-subsonic-tests' into 'develop'
Removed duplicated susbsonic tests

See merge request funkwhale/funkwhale!497
2018-12-19 15:18:03 +01:00
Eliot Berriot 5d4066d697
Removed duplicated susbsonic tests
We were testing both xml and json rendering for every view but this takes a very long time, so we only do json for most views now.
2018-12-19 15:12:19 +01:00
Eliot Berriot 9220b2f0f1
See #578: added opengraph and oembed data on artist / album / track urls 2018-12-19 15:04:33 +01:00
Eliot Berriot a493d34b8f Resolve "Track position don't take care about disc number" 2018-12-06 08:53:31 +00:00
Eliot Berriot 5a2cf9112b
Fixed #621: None extension when downloading an in-place imported file 2018-12-04 15:40:14 +01:00
Eliot Berriot e5b46402f8 Fix #308: Licenses 2018-12-04 14:13:37 +00:00
Eliot Berriot 8e84e2bf39
Fix #622: More resilient date parsing during audio import, will not crash anymore on
invalid dates
2018-11-26 17:07:55 +01:00
Eliot Berriot 837d6ad0e1
Fix #473: ".None" extension when downloading Flac file 2018-11-19 23:49:43 +01:00
Eliot Berriot 22de4a98c5
Fix #616: Fixed inconsistencies in subsonic error responses 2018-11-18 23:17:31 +01:00
Eliot Berriot 4976981926
Broadcast library updates (name, description, visibility) over federation 2018-11-09 19:57:14 +01:00
Eliot Berriot 51457aa889
Fix #553: Advertise public libraries properly in ActivityPub representations 2018-11-09 19:57:14 +01:00
Eliot Berriot bcd22eb38c
See #272: linting and changelog 2018-10-26 16:09:00 +02:00
Eliot Berriot daf2e4b863
See #272: subsonic support for transcoding 2018-10-26 16:09:00 +02:00
Eliot Berriot d3f8fb6cb0
See #272: updated API to return upload data on tracks 2018-10-26 14:26:52 +02:00
Eliot Berriot 8489c79c89
See #272: clean transcoding files task 2018-10-24 19:44:31 +02:00
Eliot Berriot 2fe1e7c950
See #272: added preference and base logic for transcoding 2018-10-24 19:17:02 +02:00
Eliot Berriot aaaa2479dc
Missing changelog and getLicense endpoint for #581 2018-10-21 20:45:24 +02:00
Eliot Berriot 77973ba6f9
See #574: linting 2018-10-21 20:33:41 +02:00
Eliot Berriot ccd600ecca
See #574: Implemented getRandomSongs endpoint 2018-10-21 20:30:16 +02:00
Eliot Berriot 439d4fd6b3
See #574: Implemented getUser view 2018-10-21 20:30:12 +02:00
Eliot Berriot d3e411fa97
See #574: Implemented getAvatar view 2018-10-21 20:30:08 +02:00
Eliot Berriot 6c7ee54dbc Merge branch '573-subsonic-type' into 'develop'
Fix #573: Added "type: funkwhale" and "funkwhale-version" in Subsonic responses

Closes #573

See merge request funkwhale/funkwhale!456
2018-10-21 15:48:57 +00:00
Eliot Berriot 941f2f6677
Fix #573: Added "type: funkwhale" and "funkwhale-version" in Subsonic responses 2018-10-21 17:43:22 +02:00
Eliot Berriot 2b70f3ba42
Fix #581: missing track count on various library cards 2018-10-21 17:38:29 +02:00
Eliot Berriot a865fcdcf1
Fix #551: Added a library widget to display libraries associated with a track, album and artist 2018-10-02 19:30:13 +02:00
Eliot Berriot 1aa9b557d1 Merge branch 'subsonic-user-libraries' into 'develop'
Subsonic user libraries

See merge request funkwhale/funkwhale!428
2018-10-01 19:22:14 +00:00
Eliot Berriot 47aa209df2
See !368: ensure we filter playable entities in subsonic API 2018-10-01 21:16:11 +02:00
Eliot Berriot 62c98b2386
See #542: Removed import requests code 2018-10-01 19:16:47 +02:00
Eliot Berriot 42933fa138 Merge branch 'cleanup-017' into 'develop'
Cleanup  unused code

See merge request funkwhale/funkwhale!426
2018-09-28 20:55:37 +00:00
Eliot Berriot f5373a9dbf
Cleanup unused code 2018-09-28 22:49:59 +02:00
Eliot Berriot ec3fcefabf
Ensure radio tracks only return playable tracks 2018-09-28 22:19:43 +02:00
Eliot Berriot 4d425e92ee Merge branch 'federation-cache-cleaning' into 'develop'
Ensure cache_cleaning only targets remote files

See merge request funkwhale/funkwhale!424
2018-09-28 19:36:38 +00:00
Eliot Berriot 428de17817
Ensure cache_cleaning only targets remote files 2018-09-28 21:30:45 +02:00
Eliot Berriot 762b9f73ad Merge branch 'disable-federation' into 'develop'
Do not deliver anything to remote instances when federation is disabled

See merge request funkwhale/funkwhale!423
2018-09-28 19:25:11 +00:00
Eliot Berriot b028f3f817
Do not deliver anything to remote instances when federation is disabled 2018-09-28 21:19:37 +02:00
Eliot Berriot 58333b5967
Failing test 2018-09-28 21:08:58 +02:00
Eliot Berriot 6572db3a83
Failing test 2018-09-28 21:05:43 +02:00
Eliot Berriot c641b8f500
Linting 2018-09-28 16:48:26 +02:00
Eliot Berriot 34373d020c
Fixed unplayable playlists 2018-09-28 16:45:28 +02:00
Eliot Berriot b6e376ed0a 0.17 release documentation initial draft and migration script 2018-09-25 20:18:02 +00:00
Eliot Berriot 125d0eed5e Federation scanning 2018-09-24 18:44:22 +00:00
Eliot Berriot 1bee3a4675 Import trust source 2018-09-23 12:38:42 +00:00
Eliot Berriot 3e49b2057a CLI for importing files with user libraries 2018-09-22 15:47:17 +00:00
Eliot Berriot e49a460203 Audio federation 2018-09-22 12:29:30 +00:00
Eliot Berriot ecd395d6b0 Library follows and user notifications 2018-09-13 15:18:23 +00:00
Eliot Berriot 2ea21994ee Resolve "Per-user libraries" (use !368 instead) 2018-09-06 18:35:02 +00:00
Eliot Berriot 330d8c21b4 Merge branch 'develop' into 'develop'
Add support for Opus files

Closes #244

See merge request funkwhale/funkwhale!390
2018-08-31 18:58:24 +00:00
Toke Høiland-Jørgensen 7d9220ed49 subsonic: Implement getSong API endpoint
The getSong API endpoint is used by, e.g., the subsonic plugin to mopidy.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-30 14:21:11 +02:00
Toke Høiland-Jørgensen 8193782f68 subsonic: Don't crash when serialising artist with no name
If the name of an artist is not set, the serialiser will crash. Instead,
just skip such an artist when serialising a list of artists.

Also add test for serialising an artist with an empty name.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-30 14:18:17 +02:00
Toke Høiland-Jørgensen 2f46d83834 subsonic: Catch ValueError when casting input parameters
A failed cast to int will raise ValueError, which is not currently caught
by the error checking code, leading to a crash. Fix this so a proper error
message can be returned.

Also add test for getting artist with non-numeric ID.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-30 14:18:02 +02:00
Toke Høiland-Jørgensen 3ce3451d35 tests: Add metadata test with opus file
This adds a metadata test case for extracting data from an opus test
file. The added file is just converted from test.ogg and the same
metadata fields are used.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-29 21:23:50 +02:00
Joshua M. Boniface 4ce46ff2a0 Implement LDAP authentication 2018-08-22 18:10:39 +00:00
Eliot Berriot b9761d6436
Fixed #397: broken federation import on big imports due to missing transaction logic 2018-08-19 17:41:19 +02:00
Eliot Berriot 4781e7821e
Fix #376: Smarter date parsing during import by replacing arrow with pendulum 2018-07-24 23:07:51 +02:00
Eliot Berriot ba76fe9f49
Apply restrictions to username characters during signup 2018-07-22 13:05:43 +02:00
Eliot Berriot 6b16a8b963 Resolve "Have an actor for our users" 2018-07-22 10:20:16 +00:00
Eliot Berriot 25755ad39b
Fixed #384: unfiltered results in favorites API 2018-07-22 11:56:25 +02:00
Eliot Berriot 979c554b4a
Use cropped covers/avatars to reduce bandwidth use 2018-07-20 19:17:39 +02:00
Eliot Berriot 99a37dcb7a Resolve "UX, UI : Browse Library" 2018-07-17 11:09:13 +00:00
Eliot Berriot af270f4abd Resolve "An avatar for users" 2018-07-13 12:10:39 +00:00
Eliot Berriot 1458c084a7 Resolve "Funkwhale unable to import Albums with multiple Artists" 2018-07-09 20:47:55 +00:00
Eliot Berriot 93cd72ff09
Fix #351: Ensure we do not import artists with empty names 2018-07-09 22:35:32 +02:00
Eliot Berriot d713ad177b
See #344: query parsing 2018-07-03 08:13:13 +02:00
Eliot Berriot 281bef48bf
Fix #339: Subsonic API login is now case insensitive 2018-06-28 16:47:45 +02:00
Eliot Berriot 9017acdb39
Fix #328: Validate Date header in HTTP Signatures 2018-06-24 19:17:56 +02:00
Eliot Berriot 697ea24b79
Fix #302: Include user's current private playlists on playlist list 2018-06-24 14:53:04 +02:00
Renon 2182227f50 Merge branch '222-update-import' into 'develop'
Resolve "Add flag during import to replace already present tracks with new version"

Closes #222

See merge request funkwhale/funkwhale!264
2018-06-22 22:04:06 +00:00
RenonDis 61eb8e4d61 Test for _do_import with replace 2018-06-22 23:50:46 +02:00
Eliot Berriot 9767c8f415
See #190: API and serializers to manage import requests 2018-06-22 18:25:17 +02:00
Eliot Berriot afe9ad2c91 Merge branch '248-invite' into 'develop'
Resolve "Invite system"

Closes #248

See merge request funkwhale/funkwhale!263
2018-06-21 17:57:54 +00:00
Eliot Berriot 7e442db524
Black/Flake8 2018-06-21 19:51:27 +02:00
Eliot Berriot 46ecc3f103
See #248: ensure invitation codes are case insensitive 2018-06-21 19:51:26 +02:00
Eliot Berriot 7cfa61292a
See #248: can now filter on invitation status and delete invitations 2018-06-21 19:51:26 +02:00
Eliot Berriot bf8b143700
See #248: better structure for action serializers 2018-06-21 19:51:24 +02:00
Eliot Berriot 107b1ea7dc
See #248: can now generate and list invitations in the front-end 2018-06-21 19:51:24 +02:00
Eliot Berriot d18f98e0f8
See #248: can now sign up using invitation code 2018-06-21 19:29:00 +02:00
Eliot Berriot 789bef38cb
See #248: model / migration 2018-06-21 19:28:59 +02:00
Renon 7f16491525 Merge branch '242-nargs-import' into 'develop'
Resolve "Make the import command accept unlimited argument"

Closes #242

See merge request funkwhale/funkwhale!261
2018-06-21 17:21:25 +00:00
RenonDis 3a2e6c3b6d
Fix #242: can now provide multiple paths at once when importing 2018-06-21 17:45:18 +02:00
Eliot Berriot 8636b456a8
See #212: user detail profile 2018-06-19 20:11:40 +02:00
Eliot Berriot 3ef5f29dd3
See #212: API viewset 2018-06-19 18:48:43 +02:00
Eliot Berriot 2e4f862387
See #212: record user last activity date 2018-06-17 17:53:40 +02:00
Eliot Berriot 98e3bb9cfc
Fix #311: Ensure radios can only be edited and deleted by their owners 2018-06-16 14:47:34 +02:00
Eliot Berriot 031784556f
Fixed #295: broken pagination in Subsonic API 2018-06-10 13:34:15 +02:00
Eliot Berriot 77c0b2b1a2
See #297: added black as a local dependency, more verbose check in CI 2018-06-10 12:13:02 +02:00
Eliot Berriot d17ceec1f0
See #297: linting of various, uncommon errors 2018-06-10 12:06:46 +02:00
Eliot Berriot 799386c2b6
See #297: removed a lot of unused variables 2018-06-10 11:27:38 +02:00
Eliot Berriot 9bea804f14
See #297: sorted imports 2018-06-10 10:55:16 +02:00
Eliot Berriot 9427f8b56e
See #297: removed unused imports 2018-06-10 10:39:47 +02:00
Eliot Berriot 639882bd34
See #297: removed unused variables 2018-06-09 17:41:59 +02:00
Eliot Berriot 62ca3bd736
Blacked the code 2018-06-09 15:36:16 +02:00
Eliot Berriot bbae4e323b
Fix #288: Huge performance boost during CLI import that queries MusicBrainz 2018-06-06 21:45:38 +02:00
Eliot Berriot 7c47348855
Fix #267: Do not crash when tag contains multiple uuids with a / separator 2018-06-05 19:44:00 +02:00
Eliot Berriot 18ad6cfa78
Fix #273: fix_track_files will now update files with bad mimetype 2018-06-03 18:57:35 +02:00
Eliot Berriot 5afc3e4637
Fix #266: Ensure we do not store bad mimetypes 2018-06-03 18:07:59 +02:00
Eliot Berriot 290cae9a8f
Fix #231 and #219: ensure we import covers regarless of the import method
Can now import covers from track metadata and track directory as well
2018-06-02 17:34:46 +02:00
Eliot Berriot 0f792bf75c
Fix #260: Implemented scrobble endpoint of subsonic API 2018-06-01 23:59:08 +02:00
Eliot Berriot 8d50743b3b
Fix #258: Implemented getCovertArt in Subsonic API to serve album covers 2018-06-01 08:42:05 +02:00
Eliot Berriot dcd150a1f1
See #223: fixed failing test 2018-05-29 22:54:53 +02:00
Eliot Berriot 7b84a988fd
See #223: dangerous actions can now prevent executing an action on all objects 2018-05-29 21:55:00 +02:00
Eliot Berriot c7782693bc
See #223: api for listing/managing library files 2018-05-29 00:07:20 +02:00
Eliot Berriot d2c99b9f5d Merge branch '220-fix-mp3-track-numbers' into 'develop'
Resolve "Track numbers from mp3 don't get imported"

Closes #220

See merge request funkwhale/funkwhale!214
2018-05-26 11:40:25 +00:00
David Magnus Henriques e478bb923e Improved Unit test
The tracknumber and the compilation number are now not identical
anymore
2018-05-26 13:16:20 +02:00
Eliot Berriot a9799e66d7
See #236: backend for users default permissions 2018-05-26 12:45:55 +02:00
Eliot Berriot 2ef36928c6
See #236: added a basic string list preference 2018-05-26 12:45:16 +02:00
Eliot Berriot c6cd3abf9d Merge branch '229-anonymous-access' into 'develop'
Resolve "Ensure anonymous users can listen to music if instance is configured accordingly"

Closes #229

See merge request funkwhale/funkwhale!211
2018-05-24 20:52:40 +00:00
Eliot Berriot 8d55040e9e
See #230: users with upload permission can now launch import and manage their own imports 2018-05-24 22:39:43 +02:00
Eliot Berriot dfb4f5f62a
See #230: can now use "or" operator to check permissions 2018-05-24 22:38:26 +02:00
Eliot Berriot 2586444db2
Fix #229: removed last hardcoded settings to protect audio files 2018-05-24 21:34:59 +02:00
Eliot Berriot 9c02954e46 Merge branch 'action-tables' into 'develop'
Action table component / implementation on federation library tracks

Closes #164 and #228

See merge request funkwhale/funkwhale!210
2018-05-24 19:11:33 +00:00
Eliot Berriot eded32c2e8
See #228: more performante federation import launch via API 2018-05-24 18:53:12 +02:00
Eliot Berriot 4f8db661fa
See #228: now expose library track status in API 2018-05-24 18:33:40 +02:00
David Magnus Henriques 7ae90305e3 Added test for OggTheora Import 2018-05-23 23:33:19 +02:00
Eliot Berriot ba4b6f6ba6
See #228: now use our new action logic for library track import 2018-05-23 21:50:23 +02:00
Eliot Berriot f1a1b93ee5
See #228: serializer logic 2018-05-23 19:52:47 +02:00
Eliot Berriot 01ea6562a6
Fix #214: Do not crash on flac import if musicbrainz tags are missing 2018-05-22 23:53:45 +02:00
Eliot Berriot 54008aa37c Merge branch '224-music-api' into 'develop'
Resolve "Better API for artists/album/tracks"

Closes #224 and #226

See merge request funkwhale/funkwhale!205
2018-05-22 21:04:09 +00:00
Eliot Berriot 857fab526d
See #224: less clutered music API, better serializers 2018-05-22 21:10:48 +02:00
Eliot Berriot 7b71463ef8
Removed acoustid support, as the integration was buggy and error-prone (#106) 2018-05-21 20:55:44 +02:00
Eliot Berriot fc48e16e65
Fix #218: Ensure inactive users cannot get auth tokens 2018-05-21 18:45:39 +02:00
Eliot Berriot ac7db73785
See #152: added management command to execute one-time migration scripts 2018-05-18 22:18:03 +02:00
Eliot Berriot 6fc4275b68
See #152: use new user permissions on relevant viewsets 2018-05-18 18:48:46 +02:00