Commit Graph

1343 Commits

Author SHA1 Message Date
Eliot Berriot 371dc01205
Merge branch 'master' into develop 2019-06-19 11:24:49 +02:00
Reg 2301982374 Fixed typo refrence => reference 2019-06-18 22:52:57 +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 024addfb4b
Added username and domain filter on /history/listenings endpoint 2019-06-10 09:51:29 +02:00
Eliot Berriot e99b7703b9
Version bump and changelog for 0.19.0 2019-05-16 10:58:00 +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 818d78344f
Version bump for 0.19.0-rc2 2019-05-10 10:05:26 +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 3b06cd25ee
Include uuid in filterable fields for music models 2019-05-07 11:29:25 +02:00
Eliot Berriot c8fcf1b0d9
Support oauth token in URL 2019-05-03 12:30:57 +02:00
Eliot Berriot e3b0efb25f
Bump to 0.19.0-rc1 2019-05-02 14:26:46 +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 8c04acd8e7
Fix #812: Ensure correct track duration and playable status when browsing radios 2019-05-02 10:17:55 +02:00
Eliot Berriot 0be93ec05b
Fix #563: unplayable radios for anonymous users 2019-05-02 10:05:20 +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
Eliot Berriot f9a9899ef9 Merge branch '565-external-storages' into 'develop'
Fix #565: store media files in S3 bucket

Closes #565

See merge request funkwhale/funkwhale!735
2019-04-24 12:59:45 +02:00
Eliot Berriot 6135d427e7
Fixed some issues 2019-04-24 12:56:15 +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 101ae27885
Fix #565: store media files in S3 bucket 2019-04-23 18:01:42 +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 d595d168e3 See #689: Fixed some performance issues with filtering on library/upload/track pages 2019-04-19 14:16:23 +02:00
Eliot Berriot 960c9ffbbe
Fixed wrong action serializer for uploads 2019-04-19 12:38:06 +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 b36b03383e
Fixed broken metadata update on track without license 2019-04-09 09:34:59 +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 c196016035
Version bump and changelog for 0.18.3 2019-03-21 10:41:14 +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 124a7c3dcf
Fix #767: broken Activity and Actor modules in django admin 2019-03-20 20:18:19 +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 b70636c2d8
Fixed a small federation issue when empty library summary 2019-03-19 17:53:17 +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
gordon 1a3e7a5e0d Fix Factories for dev data 2019-03-12 14:15:58 +01:00
Eliot Berriot 8ae00b0698
Fix #747: Support embedding full artist discographies 2019-03-08 10:34:50 +01:00
Eliot Berriot 1d787904f4
Merge branch 'master' into develop 2019-03-08 09:40:55 +01:00
Eliot Berriot f73c7714c6
Fixed a crash when federating a track with unspecified position 2019-03-08 09:29:43 +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 d23d69e11d
Fixed an issue with excluded artists 2019-02-25 10:36:02 +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 8b1801ce6d
Merge branch 'master' into develop 2019-02-13 09:28:50 +01:00
Eliot Berriot e73e6db8ef
Version bump and changelog for 0.18.2 2019-02-13 09:28:14 +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 c16258ed14
Removed popularity weight in similar radio, to avoid filter bubbles 2019-01-31 14:55:05 +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 4a197e5475
Version bump and changelog for 0.18.1 2019-01-29 14:25:19 +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 78546232d0
Fix #685: Disable makemigrations in production and misleading message when running migrate 2019-01-26 22:01:47 +01:00
Eliot Berriot 37ca06c370
Fixed celery worker defaulting to development settings instead of production 2019-01-25 15:39:48 +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 3b87580a69
Reduced number of SQL queries when loading /api/admin/music/tracks/ 2019-01-24 11:06:37 +01:00
Eliot Berriot f44d2b0694
Version bump and changelog 2019-01-22 12:04:30 +01:00
Eliot Berriot 079c66625e
Fix #663: Do not try to create unaccent extension if it's already present 2019-01-22 09:58:35 +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 4a6df06360
Upgraded django to 2.1 and django-filters to 2.0 2019-01-11 12:03:06 +01:00
Eliot Berriot 97aaffaeda
Removed youtube-dl / and another unused dependency 2019-01-11 11:26:41 +01:00
Eliot Berriot ee4e5c244f
Bumbed version number to 0.18-dev 2019-01-10 14:48:16 +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 81e7b900fe
Fixed https url-reversing issue in development 2019-01-10 11:55:48 +01:00
Eliot Berriot 4811f35eb5
Linting 2019-01-10 11:11:32 +01:00
Eliot Berriot d63f8f2e33
Added django admin module to manage instance policies 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 24fdfd345c
Display policy data in account/domain tables 2019-01-10 11:11:29 +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 031d96a0a6
Return shorter search results on Subsonic API 2019-01-05 16:07:58 +01:00
Eliot Berriot d4eff5aa32
Less DB queries in test factories 2019-01-04 14:36:08 +01:00
Eliot Berriot 67de32ccc2
Removed 2 DB queries per request when user is authenticated 2019-01-04 13:52:36 +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 2da3a3842e
Improved performance when listing playable tracks, albums and artists 2019-01-03 22:57:29 +01:00
Eliot Berriot 89f6e3656b
Show short entries first in search results to improve UX 2019-01-03 17:34:14 +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 af53ee7c7d
Ensure all our AP types are present 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 060543f62c
Fixed logging issues 2018-12-26 20:24:42 +01:00
Eliot Berriot 24b8ca7227
Removed dead code 2018-12-26 20:23:48 +01:00
Eliot Berriot 95e087b342
Removed raven on front-end 2018-12-20 11:07:30 +01:00
Eliot Berriot e8b2b94df4
Fixed url escaping for good ;) 2018-12-19 16:45:40 +01:00
Eliot Berriot d7ea78d2bf
Linting 2018-12-19 16:16:10 +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 9220b2f0f1
See #578: added opengraph and oembed data on artist / album / track urls 2018-12-19 15:04:33 +01:00
Eliot Berriot dd23dfa07c
Point to new gitlab URL 2018-12-10 16:00: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 ac4bba816d
See #272: added transcoding settings in UI 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 baf5a350b3
See #272: added admin and model for transcoding 2018-10-24 19:11:57 +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 bf3b3854dc
See #573: Added missing type / version in getLicense endpoint 2018-10-21 20:30:19 +02:00
Eliot Berriot ccd600ecca
See #574: Implemented getRandomSongs endpoint 2018-10-21 20:30:16 +02:00
Eliot Berriot 8c5924d6e3
Ensure distinct is applied on all playable_by querysets 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 dc1e4fb0c7
Version bump and release for 0.17 2018-10-07 11:53:09 +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 d7b6e54621 Merge branch 'admin-raw-id-fields' into 'develop'
Ensure we always use raw_ids for related fields in django's admin

See merge request funkwhale/funkwhale!431
2018-10-01 20:03:08 +00:00
Eliot Berriot 3895034089
Ensure we always use raw_ids for related fields in django's admin 2018-10-01 21:56:52 +02:00
Eliot Berriot 314765de7c
Fix #546: Ensure from_activity field is not required in django's admin 2018-10-01 21:43:33 +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 02006270cd
See #542: fixed issue with empty actor during upgrade script 2018-10-01 19:16:48 +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 508873dffb
Lining 2018-09-28 20:50:28 +02:00
Eliot Berriot 54972e489b
Fixed unplayable playlists (bis repetita) 2018-09-28 20:46:18 +02:00
Eliot Berriot d000a1329f
Can now update user quota in UI 2018-09-28 20:45:31 +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 59337fb5d8
Fixed import issue with empty album artist 2018-09-26 19:58:08 +02:00
Eliot Berriot 0d96e75eeb
Do not silent import errors 2018-09-26 19:23:15 +02:00
Eliot Berriot 527edc1e1e
Minor fixes 2018-09-25 22:52:09 +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 14d8224db4 Merge branch 'develop' into 'develop'
Add support for setting the musicbrainz hostname

Closes #471

See merge request funkwhale/funkwhale!394
2018-08-31 20:46:04 +00:00
Toke Høiland-Jørgensen cb5b3be844 Add support for setting the musicbrainz hostname
Useful for using a local musicbrainz mirror.

Fixes #471.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-31 22:36:12 +02: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 0d128d40d5 Add support for Opus files
This adds support for reading metadata from Opus files. The metadata config
is copied from OggVorbis with just the 'track' field name changed.

Also make sure get_audio_file_data() in music/utils.py doesn't crash if no
bitrate information is set, since mutagen doesn't add a bitrate to Opus
info objects.

Fixes #244.

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 9875e81c76
Version bump and changelog for 0.16.3 2018-08-21 20:34:06 +02:00
Eliot Berriot 658de6fe84
Version bump and changelog for 0.16.2 2018-08-21 19:03:00 +02:00
Eliot Berriot 19ace8dd40
Fixed #494: CLI importer syntax error because of async reserved keyword usage 2018-08-21 18:30:31 +02:00
Eliot Berriot 123569b90b
Version bump and changelog for 0.16.1 2018-08-19 19:04:48 +02:00
Eliot Berriot 71c70cee39
Fixed #478: Removed release date error in case of empty date 2018-08-19 17:52:04 +02: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 c70a50c80d
Version bump and changelog for 0.16 2018-07-22 22:44:08 +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 b3ae2040ec
Fix #149: better demo setup script, wider catalog 2018-07-22 11:26:33 +02:00
Eliot Berriot 3a94462bd6
Removed django-cacheops dependency 2018-07-21 12:57:48 +02:00
Eliot Berriot 886680ed15
Fixed weird bug with versatile imgae field 2018-07-21 11:57:37 +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 ce5502cab7 Merge branch '351-empty-name' into 'develop'
Resolve "Ensure artists with empty names are not accepted"

Closes #351

See merge request funkwhale/funkwhale!312
2018-07-09 20:39:12 +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 252aa31b11
Fix #138: Raise a warning instead of crashing when getting a broken path in file import 2018-07-08 10:33:23 +02:00
Eliot Berriot f156b8791d
Fix #326: Can now order tracks on federated track list 2018-07-06 21:45:51 +02:00
Eliot Berriot 6e709cdcd8
Removed non-breaking spaces and remaining gettext in templates 2018-07-06 20:44:47 +02:00
Eliot Berriot 4428d7401c
Fixed #344: Implemented a basic but functionnal Github-like search on federated tracks list 2018-07-03 08:21:48 +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 b6ac2dc30a
Version bump and changelog for 0.15 2018-06-24 16:00:26 +02:00
Eliot Berriot 58be852a84 Merge branch '302-private-playlist-show-in-interface' into 'develop'
Resolve "Private playlists not shown in interface"

Closes #302

See merge request funkwhale/funkwhale!275
2018-06-24 13:04:37 +00:00
Eliot Berriot 697ea24b79
Fix #302: Include user's current private playlists on playlist list 2018-06-24 14:53:04 +02:00
Eliot Berriot 943064791a Merge branch '307-wrong-date' into 'develop'
Resolve "import date is always "a few seconds ago" on /manage/library/files"

Closes #307

See merge request funkwhale/funkwhale!273
2018-06-24 12:09:58 +00:00
Eliot Berriot 917a6fa12e
FIx #307: Expose track files date in manage API 2018-06-24 14:03:37 +02:00
Eliot Berriot 0e1203336d
Fixed randomly failing test 2018-06-24 13:56:06 +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
RenonDis 8d9499332f
Migration file for ImportJob.replace_if_duplicate 2018-06-22 20:25:15 +02:00
RenonDis f3f07c1f8d
Updated tasks.py to process replace flag 2018-06-22 20:25:15 +02:00
RenonDis 8103ea541f
cli import files with replace option 2018-06-22 20:25:15 +02:00
RenonDis bb79d454af
Bypassing cli skip for update flag 2018-06-22 20:24:55 +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 7b0148a533
Fixed broken import 2018-06-21 19:51:25 +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 cb1957a961
Version bump and changelog for 0.14.2 2018-06-16 15:04:49 +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 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 73785d451c
Version bump and changelog for 0.14.1 2018-06-06 22:03:36 +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 9d9676aa17
Fix #237: Do not crash when importing track with an artist that do not match the release artist 2018-06-06 21:41:38 +02:00
Eliot Berriot 33ae51fc91 Merge branch '274-logging' into 'develop'
Resolve "Broken logging formatting in import task"

Closes #274 and #278

See merge request funkwhale/funkwhale!233
2018-06-05 18:55:17 +00:00
Eliot Berriot b7295382e7
Fix #274: Broken logging statement during import error 2018-06-05 20:52:03 +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 a16bd2a409 Merge branch '273-fix-mimetypes' into 'develop'
Resolve "Update file_track_files command to handle bad mimetypes"

Closes #273

See merge request funkwhale/funkwhale!226
2018-06-03 17:00:54 +00: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 36a0a4df4f
Removed transcoding support (#271) 2018-06-03 18:33:28 +02:00
Eliot Berriot 5afc3e4637
Fix #266: Ensure we do not store bad mimetypes 2018-06-03 18:07:59 +02:00
Eliot Berriot 73bde2fc9e
Version bump and changelog for 0.14 2018-06-02 18:11:15 +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 5ebaa884c1
Send proper activity when listening is created through subsonic API 2018-06-02 00:11:31 +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 218a92547e Merge branch '223-management-interface' into 'develop'
Resolve "Add a management interface for artists/albums/tracks"

Closes #223 and #241

See merge request funkwhale/funkwhale!216
2018-05-29 21:28:32 +00:00
Eliot Berriot 540c6fb583
Fixed #240: ignored page_size paremeter on artist and favorites list 2018-05-29 23:21:03 +02:00
Eliot Berriot 1737a75d4e
See #223: reflect new possibilities of library permission in help text 2018-05-29 22:36:47 +02:00
Eliot Berriot 256d98b77d
See #223: delete actions is now dangerous anc cannot be applied to all files 2018-05-29 22:22:51 +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 8790631a65 Removed Typo which broke oggVorbis-import 2018-05-26 13:23:08 +02:00
David Magnus Henriques 06a5ee939a Changed ID3Tag for Track-Number to TRCK
Until now the ID3Tag for the Track-Number was read from TPOS.
The Problem is, that TPOS is the part of the set (eg disc number)
and not the track-number. TRCK is the correct tag for the track
number.

Fixes #220
2018-05-26 13:06:40 +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 ed6c1a9a5b
See #230: added an upload permission on user model 2018-05-24 22:37:41 +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 83738e4e04 Reading the musicBrainz-Id-Fields from correct field 2018-05-23 23:32:28 +02:00
EorlBruder dc76283ebb Added OggTheora Metadata
OggTheora wasn't support up until now. Now the config is there and the
import works

fixes #216
2018-05-23 22:23:59 +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 b36ed8a699 Merge branch '214-flac-no-mbid' into 'develop'
Resolve "Flac import fails if no MusicBrainz-ID present"

Closes #214

See merge request funkwhale/funkwhale!208
2018-05-22 21:57:44 +00: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 47cc2a3920
Fix #179: fixed broken ordering in front-end lists 2018-05-22 23:30:37 +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 a8baf8fa67
See #224: updated front-end with new music API 2018-05-22 22:22:53 +02: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 ae00cccf14
Fix #207: Consistent constraints/checks for URL size 2018-05-21 19:04:28 +02:00
Eliot Berriot d299964c99
0.13: Version bump and changelog 2018-05-19 11:43:19 +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 a57d975183
See #152: updated admin interface 2018-05-18 22:18:02 +02:00
Eliot Berriot 6fc4275b68
See #152: use new user permissions on relevant viewsets 2018-05-18 18:48:46 +02:00
Eliot Berriot ff65a4b935
See #152: added permission fields on user model and corresponding API permission 2018-05-18 18:47:35 +02:00
Eliot Berriot e7619fd189
See #206: minor tweaks on settings (wording, input type...) 2018-05-17 23:40:06 +02:00
Eliot Berriot 13c5219d71
See #206: added API endpoint for managing settings 2018-05-17 23:39:34 +02:00
Eliot Berriot 6608a3153d Merge branch '200-private-nodeinfo' into 'develop'
Resolve "Add a "private" property on nodeinfo"

Closes #200

See merge request funkwhale/funkwhale!198
2018-05-17 18:21:18 +00:00
Eliot Berriot 1974c17e76
Fix #200: Instances can now indicate on the nodeinfo endpoint if they want to remain private 2018-05-16 22:24:05 +02:00
Eliot Berriot e852c84007
Fix #197: .well-known/nodeinfo endpoint can now answer to request with Accept: application/json 2018-05-16 22:10:11 +02:00
Eliot Berriot a28078753b
See #195: no update track information when fetching track from federation 2018-05-16 18:55:09 +02:00
Eliot Berriot 3290a15c88
See #195: expose bitrate, size and duration in subsonic API 2018-05-15 22:46:01 +02:00
Eliot Berriot 8994326634
See #195: expose bitrate, duration and size in AP audio representations 2018-05-15 22:01:53 +02:00
Eliot Berriot 4b21128e46
See #195: fix_track_files command can now recompute size, bitrate and duration 2018-05-15 22:01:53 +02:00
Eliot Berriot af82111ade
Missing select related on trackfile viewset 2018-05-15 22:01:53 +02:00
Eliot Berriot 1bc4ceab9e
See #195: set bitrate, duration and size when importing file 2018-05-15 22:01:52 +02:00
Eliot Berriot 7425a8ea4d
See #195: added bitrate and size fields on track file 2018-05-15 22:01:52 +02:00
Eliot Berriot 3415d02028
Fixed wrong mimetype for flac files 2018-05-15 22:01:52 +02:00
Eliot Berriot 5abac103c4 Merge branch '204-missing-dot' into 'develop'
Resolve "Missing dot in file name when downloading file"

Closes #204

See merge request funkwhale/funkwhale!194
2018-05-15 17:04:35 +00:00
Eliot Berriot 6e168a54ec
Fix #204: missing dot when downloading file 2018-05-15 19:01:49 +02:00
Eliot Berriot 8a321d4abe
Fix #201: escaping issue of track name in playlist modal 2018-05-15 18:37:44 +02:00
Eliot Berriot ce92747d89
Fix #157: Can now import and play flac files
If you ever need an empty flac file with metadata again:

1. Get a flac file (like https://archive.org/download/NineInchNailsTheSlip24bit96khz/01999999.flac)
2. Tag it with Musicbrainz Picard
3. Truncate it, keeping only tags with `ffmpeg -i in.flac -ss 0 -to 0.001 out.flac`

Thanks @HgO for the trick!
2018-05-15 18:20:24 +02:00
Eliot Berriot 2f44dd0eb7 Merge branch '199-disabled-play' into 'develop'
Resolve "Unplayable tracks are not disabled in the interface"

Closes #199

See merge request funkwhale/funkwhale!191
2018-05-13 11:38:11 +00:00
Eliot Berriot 2f5a13a339
Fix #199: unplayable tracks are now properly disabled in the interface 2018-05-12 10:52:58 +02:00
Eliot Berriot 6f79dd475d
Now return proper error payload on subsonic API 2018-05-12 10:52:58 +02:00
Eliot Berriot 9c9f6708a3 Merge branch '196-fix-filepath-encoding' into 'develop'
Resolve "404 for files with special utf-8-chars"

Closes #196

See merge request funkwhale/funkwhale!189
2018-05-12 08:26:02 +00:00
Eliot Berriot 1937b81699
Fix #196: In-place imported tracks non-ascii characters don't break reverse-proxy serving 2018-05-10 18:52:00 +02:00
Eliot Berriot 190a4357dc
Fix #198: Removed Python 3.6 dependency (secrets module) 2018-05-10 16:45:45 +02:00
David Magnus Henriques 023c6f6f5e Encode the Filepath utf-8
The filepath of a track gets broken when it contains special
UTF-8-characters. Encoding it UTF-8 fixes this behaviour.
2018-05-10 13:24:26 +02:00
Eliot Berriot 0997aa4b25
0.12 Version bump and changelog 2018-05-09 23:45:14 +02:00
Eliot Berriot 805f9c6bbc Merge branch '75-subsonic-api' into 'develop'
Resolve "Implement the subsonic API"

Closes #75

See merge request funkwhale/funkwhale!188
2018-05-09 21:27:57 +00:00
Eliot Berriot 24cb1d9519
See #75: user can now manage the Subsonic API token from their settings page 2018-05-09 22:18:33 +02:00
Eliot Berriot 7595936260
See #75: added a preference do enable/disable the subsonic API on the instance level 2018-05-09 22:13:04 +02:00
Eliot Berriot 67dc414c8a
See #75: music direcory and indexes endpoints 2018-05-09 20:32:17 +02:00
Eliot Berriot 7c85d1ca81
See #75: can now add multiple tracks to a playlist on creation and update 2018-05-09 20:31:47 +02:00
Eliot Berriot 1674ad919f
See #75: implemented subsonic playlist API endpoints 2018-05-08 23:06:47 +02:00
Eliot Berriot 7e9320fc1c
Queryset methods for playlists 2018-05-08 23:06:29 +02:00
Eliot Berriot e31099ef33
See #75 more subsonic api endpoints (star, unstar, search...) 2018-05-08 21:22:52 +02:00
Eliot Berriot 40cde0cd92
Queryset methods on artist/albums 2018-05-08 21:21:52 +02:00
Eliot Berriot bbd273404a
See #75: initial subsonic implementation that works with http://p.subfireplayer.net 2018-05-08 16:32:07 +02:00
Eliot Berriot 9682299480
See #75: dedicated token for subsonic API access 2018-05-08 16:31:19 +02:00
Eliot Berriot 2ef8723485 Merge branch '192-nodeinfo' into 'develop'
Resolve "Use nodeinfo schema for instance statistics"

Closes #192

See merge request funkwhale/funkwhale!187
2018-05-08 07:03:47 +00:00
Eliot Berriot cdc8388118
See #192: renamed name to nodeName, and include anonymousCanListen value as well 2018-05-08 09:01:02 +02:00
Eliot Berriot 095b70db4b
See #192: use proper content type for nodeinfo endpoint 2018-05-07 23:29:07 +02:00
Eliot Berriot a679f48fcf
See #192: removed useless localPosts and localComments 2018-05-07 23:26:48 +02:00
Eliot Berriot d88b7869fe
See #192: added .well-known/nodeinfo endpoint 2018-05-07 22:28:46 +02:00
Eliot Berriot 6ff8c2c8da
See #192: use nodeinfo/2.0 namespace to be future proof 2018-05-07 22:28:21 +02:00
Eliot Berriot b4ad7a4a71
See #192: replaced old stats endpoint with nodeinfo 2018-05-07 22:09:03 +02:00
Eliot Berriot 23d21b0fdb
Fix #193: broken federated import 2018-05-07 19:22:09 +02:00
Eliot Berriot 7908ae3942
Version bump and changelog 2018-05-06 16:24:12 +02:00
Eliot Berriot bc2c9950e3
Fix #189: federation cache should now delete properly, including orphaned files 2018-05-06 15:36:49 +02:00
Eliot Berriot f343159856
Added an accessed_date field on TrackFile for easier cache deletion (#189) 2018-05-06 15:36:18 +02:00
Eliot Berriot 44ebb92874
See #187: Front logic for password reset and email confirmation 2018-05-06 12:50:53 +02:00
Eliot Berriot 3b9024129d
See #187: Front logic for password reset 2018-05-06 11:30:52 +02:00
Eliot Berriot 22f0b1a2d8
See #187: API logic for password reset 2018-05-06 11:30:41 +02:00
Eliot Berriot 4325b1be4f
Removed radios and listening recording for anonymous users as it was buggy 2018-05-06 11:18:28 +02:00
Eliot Berriot a3b2125d2a
See #186: moved api authentication required setting to preference 2018-04-28 06:11:50 +02:00
Eliot Berriot 6100b106c0
See #186: moved federation settings to preferences 2018-04-28 05:55:21 +02:00
Eliot Berriot 7222f7b710
See #186: moved PLAYLISTS_MAX_TRACKS to playlists__max_tracks 2018-04-28 05:30:23 +02:00
Eliot Berriot aa3da412a7
#186: common utils for moving settings to preferences 2018-04-28 05:28:51 +02:00
Eliot Berriot f4899c5387
Fix #176: Can now relaunch erored jobs and batches 2018-04-28 04:59:47 +02:00
Eliot Berriot 6dcde77b1e
Avoid fetching Actor object on every request authentication 2018-04-28 00:25:47 +02:00
Eliot Berriot 42a2ffbf24
Fix #109: List pending requests by default, added a status filter for requests 2018-04-27 22:23:25 +02:00
Eliot Berriot 7d3da3d757
Added a fix_track_files command to run checks and fixes against library (#183) 2018-04-27 21:11:20 +02:00
Eliot Berriot 3d6f0b8b2c
Fix #183: ensure in place imported files get a proper mimetype 2018-04-27 21:10:35 +02:00
Eliot Berriot 99ff8169fc Merge branch '178-api-documentation' into 'develop'
Resolve "Document important API features"

Closes #178

See merge request funkwhale/funkwhale!166
2018-04-26 16:29:44 +00:00
Eliot Berriot d2c2fb837e
Now support Bearer auth in complement of JWT 2018-04-26 15:17:51 +02:00
Eliot Berriot 472e9f7605
Added q filter on artists 2018-04-26 14:26:01 +02:00
Eliot Berriot a49d3b4251
Fixed #182: X-sendfile not working with in-place imports 2018-04-25 18:50:06 +02:00
Eliot Berriot 7e8972a3b0
Version bump and Changelog 2018-04-23 19:44:38 +02:00
Eliot Berriot 300e24dbde
Ensure we return correct paths when using Apache as a reverse proxy 2018-04-22 16:34:07 +02:00
Eliot Berriot ad43d160bd Merge branch '171-import-jobs' into 'develop'
Resolve "Dedicated API endpoint for import jobs"

Closes #171

See merge request funkwhale/funkwhale!156
2018-04-22 13:20:07 +00:00
Eliot Berriot 6a67bc6fac
Fix #171: dedicated endpoint to list import jobs, updated front-end 2018-04-22 15:17:06 +02:00
banana 0f7de68f0d Update common.py to add USE_APACHE_HEADERS set to false
Update views.py to modify headers depending on Nginx or Apache
Update common.py with future proof REVERSE_PROXY_TYPE setting
Update views.py to adapt headers based on REVERSE_PROXY_TYPE
Update views.py, typo on apache
2018-04-22 15:11:04 +02:00
Eliot Berriot 93c57f08f9
Fixed broken youtube-dl import 2018-04-22 12:10:32 +02:00
Eliot Berriot f4ac0b2d3f
Serve view can now serve in-place imported files 2018-04-21 18:21:15 +02:00
Eliot Berriot 58fced2640
updated import_task to support in place import 2018-04-21 18:20:56 +02:00
Eliot Berriot de754b835e
Updated CLI to support in-place import 2018-04-21 18:16:43 +02:00
Eliot Berriot 3f3d6d88d6
Make music directory configurable in development 2018-04-21 16:16:43 +02:00
Eliot Berriot 1672230f39
More verbose/robust import_files command, also skips existing files 2018-04-21 16:16:43 +02:00
Eliot Berriot d98c33e5ed
More efficient SQL query to compute import batch status 2018-04-21 16:02:11 +02:00
Eliot Berriot e29cfb7301
Smarted UUID validation on metadata 2018-04-21 16:01:42 +02:00
Eliot Berriot 2be46b3320
Fix #142: Increased max_length on TrackFile.source 2018-04-19 22:25:58 +02:00
Eliot Berriot ced851891d
Fix #163: Avoid downloading audio files multiple times from remote libraries 2018-04-19 21:19:40 +02:00
Eliot Berriot c29a96f244
Fail graciously when AP representation includes a null_value for mediaType 2018-04-18 00:08:31 +02:00
Eliot Berriot eb275b7e08
Version bump and changelog 2018-04-17 23:20:32 +02:00
Eliot Berriot c17f7eefde
Ensure follower is approved to access library 2018-04-17 23:08:15 +02:00
Eliot Berriot 899ba31162
Do not fail on library page scan if one item is invalid 2018-04-17 22:58:43 +02:00
Eliot Berriot 14cadce4a6
Allow null values for musicbrainz_id in Audio ActivityPub representation 2018-04-17 21:49:11 +02:00
Eliot Berriot dd97a9b488
Version bump and changelog 2018-04-17 21:26:58 +02:00
Eliot Berriot 5fee42f896
Can now filter by import status on library tracks 2018-04-17 20:03:31 +02:00
Eliot Berriot f31874edf5
Implemented followers notification on import and autoimport 2018-04-17 19:35:57 +02:00
Eliot Berriot fc09a3b320
Can now accept/deny follow requests 2018-04-15 11:25:35 +02:00
Eliot Berriot ca02aca327
Ensure follower is approved for listening 2018-04-15 11:25:35 +02:00
Eliot Berriot 9b4d7165b7
Added federation libraries list, moved scan to a dedicate view 2018-04-15 11:25:34 +02:00
Eliot Berriot c20e4d7c9a
Added task to delete unused cached files 2018-04-15 11:25:34 +02:00
Eliot Berriot 6a04779125
Will now fetch and cache federated tracks 2018-04-15 11:25:34 +02:00
Eliot Berriot 3a31248a3d
Can now import library tracks from front-end 2018-04-15 11:25:34 +02:00
Eliot Berriot 2cef58e6c1
Can now search in library tracks 2018-04-15 11:25:34 +02:00
Eliot Berriot 57bf43bb96
API Endpoint to list lirary tracks 2018-04-15 11:25:33 +02:00
Eliot Berriot bdf9347917
Fixed serialization error 2018-04-15 11:25:33 +02:00
Eliot Berriot 64e88b83f7
Deliver is now a proper celery task 2018-04-15 11:25:33 +02:00
Eliot Berriot 2a4ce0a48c
ActorSerializer is not a modelserializer anymore 2018-04-15 11:25:33 +02:00
Eliot Berriot dda1cd2531
Added scan endpoint to trigger a scan for a library 2018-04-15 11:25:33 +02:00
Eliot Berriot 077a17b093
Scan task can now handle until 2018-04-15 11:25:33 +02:00
Eliot Berriot 520fb9d078
Started work on library scanning 2018-04-15 11:25:33 +02:00
Eliot Berriot 472cc7e26a
Detail library view with settings update 2018-04-15 11:25:32 +02:00
Eliot Berriot f4f75dcb4f
Can now scan and follow library from front-end 2018-04-15 11:25:32 +02:00
Eliot Berriot fe7ca088c5
Library list endpoint 2018-04-15 11:25:32 +02:00
Eliot Berriot e82a53da35
Added API endpoints to list library followees and followers 2018-04-15 11:25:32 +02:00
Eliot Berriot 3caa03aedf
use a dedicated serializer to handle library creation 2018-04-15 11:25:32 +02:00
Eliot Berriot 0b2fe8439a
Removed too complex FollowRequest model, we now use an aproved field on Follow 2018-04-15 11:25:32 +02:00
Eliot Berriot c97db31cb1
Include following state in scan payload 2018-04-15 11:25:32 +02:00
Eliot Berriot f0ef9ea561
Better error handling during scan 2018-04-15 11:25:31 +02:00
Eliot Berriot 238d849298
Can now disable SSL cerification for external requests 2018-04-15 11:25:31 +02:00
Eliot Berriot 097707dec4
Added remote library scanning logic end endpoint 2018-04-15 11:24:47 +02:00
Eliot Berriot 92fa348eac
Federation model admin 2018-04-15 11:24:47 +02:00
Eliot Berriot 206ae296b6
Ensure timeout in requests 2018-04-15 11:24:47 +02:00
Eliot Berriot b8c7e960c3
Now validate incoming webfinger 2018-04-15 11:24:47 +02:00
Eliot Berriot 314587e2eb
Fixed pagination issue 2018-04-15 11:24:46 +02:00
Eliot Berriot 514e48d3fe
Library can now automatically accept follows 2018-04-15 11:24:46 +02:00
Eliot Berriot 4320fc77b2
Added validation on collection serializers 2018-04-15 11:24:46 +02:00
Eliot Berriot 33972f1f40
Fixed broken uuid migration 2018-04-15 11:24:46 +02:00
Eliot Berriot e19fbf5436
Exclude federated files from library endpoint 2018-04-15 11:24:46 +02:00
Eliot Berriot b5ff339efa
We now use a proper user agent including instance version and url during outgoing requests 2018-04-07 16:20:34 +02:00
Eliot Berriot 99200ad077 Merge branch 'federation-follow-request' into 'develop'
Federation follow request

See merge request funkwhale/funkwhale!123
2018-04-07 13:55:53 +00:00
Eliot Berriot bf70fa1f53
Removed now useless private and public keys preferences 2018-04-07 15:53:10 +02:00
Eliot Berriot e10a82060d
Ensure we delete existing actors to reset private and public keys 2018-04-07 15:39:17 +02:00
Eliot Berriot 9612b1bace
Can now serve track from remote library 2018-04-07 15:34:35 +02:00
Eliot Berriot b29ca44797
Now store remote library tracks in a dedicated model, this is much simpler 2018-04-07 11:29:40 +02:00
Eliot Berriot f273faf9de
Added Library model to have more granular federation management 2018-04-06 18:49:29 +02:00
Eliot Berriot a03f0ffea5
We now have a library browsable via activitypub 2018-04-06 17:59:06 +02:00
Eliot Berriot 393110a7f0
Serializers for paginated collections 2018-04-06 17:58:43 +02:00
Eliot Berriot 4ce9f9bf08
Dedicated permission to access library data via activity pub 2018-04-06 17:58:16 +02:00
Eliot Berriot b75872866c
Util function to manipulate url params 2018-04-06 17:57:50 +02:00
Eliot Berriot 8db832f03b
Now store source AP track file on track_file 2018-04-06 15:20:53 +02:00
Eliot Berriot 04d710e690
Library can now receive import info from followed instances 2018-04-06 14:53:57 +02:00
Eliot Berriot 80206761a3
Easy and resusable Audio and AudioCollection serializer 2018-04-06 14:33:13 +02:00
Eliot Berriot 679adfe156
See #126: Added uuid field to all music models 2018-04-06 13:17:26 +02:00
Eliot Berriot 87daa81762
More factories 2018-04-05 23:27:19 +02:00
Eliot Berriot 363acca53d
AudioCollection to import job and track file creation 2018-04-05 23:26:41 +02:00
Eliot Berriot 4d6e894b62
AudioCollection to import job and track file creation 2018-04-05 23:22:28 +02:00
Eliot Berriot 1ca4505e2f Incremented version number 2018-04-05 16:05:45 +00:00
Eliot Berriot e0dcb87f15
Follow request approve/refuse logic 2018-04-04 23:12:41 +02:00
Eliot Berriot cb9309c298
Factorized undo follow 2018-04-04 22:40:57 +02:00
Eliot Berriot d8f86c4fce
Factorized follow logic between system actors, Library can now accept follows 2018-04-04 19:38:55 +02:00
Eliot Berriot b833a11fb6
FollowRequest model 2018-04-04 19:38:28 +02:00
Eliot Berriot 3ad1fe17d5
Test bot can now unfollow 2018-04-03 23:25:44 +02:00
Eliot Berriot 81e7f03f77
Now persist actors in database during auth 2018-04-03 23:25:22 +02:00
Eliot Berriot 657bd4b01a
Follow serializer 2018-04-03 23:24:51 +02:00
Eliot Berriot f19418d2c2
Added follow model and factory 2018-04-03 21:30:15 +02:00
Eliot Berriot 6aa6f1d8f8
Test actor can now follow back 2018-04-03 19:48:50 +02:00
Eliot Berriot 2f6d3ae180
Ensure unicity on actor username and domain 2018-04-03 18:35:08 +02:00
Eliot Berriot 168c4e7d53
system_conf property on Actor instances 2018-04-03 17:36:03 +02:00
Eliot Berriot a81c92dbf5
Additional setting to control wether music library federation needs approval 2018-04-02 22:43:59 +02:00
Eliot Berriot 48df30dbd8
We now persist system accounts to database 2018-04-02 22:12:28 +02:00
Eliot Berriot 39c5245c1b
Fix #148: User admin now includes signup and last login dates 2018-04-02 21:08:59 +02:00
Eliot Berriot 28700270bd
Removed factory import 2018-04-02 19:46:25 +02:00
Eliot Berriot 7bb15a3aa1 Merge branch 'federation-inbox' into 'develop'
Federation inbox

See merge request funkwhale/funkwhale!121
2018-04-02 17:28:53 +00:00
Eliot Berriot 77c6bd5839
Fixed failing test 2018-04-02 19:15:27 +02:00
Eliot Berriot a252051351
PoC with receiving /ping from Mastodon and replying pong 2018-04-02 18:07:46 +02:00
Eliot Berriot 3cf1a17087
We are now able to receive a toot and react to it 2018-04-01 22:11:46 +02:00
Eliot Berriot 6fbf8fa44c
Actor factory and fixture 2018-04-01 10:17:06 +02:00
Eliot Berriot 3650c3699b
Minor tweaks (logs, exceptions) 2018-03-31 18:41:53 +02:00
Eliot Berriot 741ab533b1
Added proper header when querying activity pub actor 2018-03-31 18:41:35 +02:00
Eliot Berriot ee0341ba1a
Ensure we truncate summary 2018-03-31 18:41:15 +02:00
Eliot Berriot f526f0c1fe
More flexible auth signature factory 2018-03-31 18:41:03 +02:00
Eliot Berriot e1ebd4988b
Fixed inconsistencies between test and prod requests 2018-03-31 18:40:41 +02:00
Eliot Berriot b5a4b2ca6a
Added signature authentication on activitypub view 2018-03-31 18:39:32 +02:00
Eliot Berriot 46d40c7ffa
Util function to convert django meta to proper headers 2018-03-31 18:39:10 +02:00
Bat c4991796e9 Add some pagination to radio details 2018-03-31 16:40:55 +01:00
Eliot Berriot 703d70d544
Use absolute urls 2018-03-31 15:57:29 +02:00
Eliot Berriot 0c8faf83c5
Can now have multiple system actors
We also handle webfinger/activity serialization properly
2018-03-31 15:47:21 +02:00
Eliot Berriot 2b9a5ffe18
ActivityPub Actor model 2018-03-31 15:44:35 +02:00
Bat 85aef4422a Add a detail page for radios 2018-03-31 12:59:45 +01:00
Eliot Berriot c63b7f929d
Use own requests-http-signing to be compatible with Signature header 2018-03-30 21:59:58 +02:00
Eliot Berriot 74945759cc
Switched from Service to Person for actor representation 2018-03-30 18:34:23 +02:00
Eliot Berriot abca719d16
More fields on instance actor repr 2018-03-30 18:02:50 +02:00
Eliot Berriot d8b74b9556
Proper federation namespace and prefix 2018-03-30 18:02:14 +02:00
Eliot Berriot cde8732dfa
Use proper renderers for activity pub / webfinger 2018-03-29 23:29:56 +02:00
Eliot Berriot 75710638de
Url and views for instance actor and webfinger 2018-03-29 00:00:47 +02:00
Eliot Berriot e793f8365f
Webfinger utils 2018-03-29 00:00:20 +02:00
Eliot Berriot 90c1d02919
Added FUNKWHALE_HOSTNAME and FEDERATION_HOSTNAME settings 2018-03-29 00:00:01 +02:00
Eliot Berriot 588da6ff33
Can now generate a key pair for the instance 2018-03-28 23:56:44 +02:00
Eliot Berriot 707868d794
Can now fetch public key from actor url 2018-03-28 23:56:44 +02:00
Eliot Berriot 5e901dc5a4
Fixed a bunch of failing tests 2018-03-28 23:54:08 +02:00
Eliot Berriot 85ce220f29 Merge branch 'federation-signing-requests' into 'develop'
Federation signing requests

See merge request funkwhale/funkwhale!106
2018-03-26 20:14:28 +00:00
Eliot Berriot 18d8baae34
API Views/serializers/tests for activity (#141) 2018-03-25 17:24:08 +02:00
Eliot Berriot 122c39075a
Fixed privacy issue in get_privacy_query utils function 2018-03-25 17:18:22 +02:00
Eliot Berriot fce5ee0e7f
Renamed listening end_date to creation_date 2018-03-25 17:17:33 +02:00
Eliot Berriot e99d757b57
Fix #120: Better error handling during file import 2018-03-25 15:44:48 +02:00
Eliot Berriot f1cf250e29
Fix #138: Better handling of utf-8 filenames during file import 2018-03-25 15:40:37 +02:00
Eliot Berriot 4522f5997e
More test cases for request signing and added helpers to verify signature 2018-03-24 16:24:10 +01:00
Eliot Berriot aa7365b71f
Basic logic for signing/verifying requests 2018-03-24 15:20:15 +01:00
Eliot Berriot b780bee874
Version bump and changelog 2018-03-21 21:05:03 +01:00
Eliot Berriot 529114c89c
Added missing fields in playlist serializer 2018-03-21 20:56:26 +01:00
Eliot Berriot 71d46e4361
Simplified playlist serializer and ensure update return same payload as detail 2018-03-21 19:03:57 +01:00
Eliot Berriot 6a9a34d244
Can now clear playlist 2018-03-21 12:19:07 +01:00
Eliot Berriot bf6fe44bed
More filters / ordering option on playlist API 2018-03-21 11:58:11 +01:00
Eliot Berriot 16f631af1a
Performance optimization on playlisttrack serialization 2018-03-20 22:44:28 +01:00
Eliot Berriot f8b15a3f48
Added API endpoint to insert multiple tracks into playlist 2018-03-20 19:56:42 +01:00
Eliot Berriot 497f81e5ab
Typo in returned api payload 2018-03-20 19:14:45 +01:00
Eliot Berriot 244ebd7ab1
Dropped hard constraint on track indexes and added more tests 2018-03-20 19:14:07 +01:00
Eliot Berriot f917c5d0c4
Playlist filterset 2018-03-20 15:34:35 +01:00
Eliot Berriot 08b28a7d98
Added playlist tracks count and modification date in API 2018-03-20 15:34:34 +01:00
Eliot Berriot e87e2654e8
Permissions and db state fixes with new index field 2018-03-20 15:34:34 +01:00
Eliot Berriot 257e67b5a6
New "index" field on playlist tracks, and .insert() metod to manage playlists 2018-03-20 15:34:34 +01:00
Eliot Berriot 8821a1bb43
Removed superfluous mptt requirement 2018-03-20 15:34:33 +01:00
Eliot Berriot 944135e752
Capped number of tracks in playlists 2018-03-20 15:34:33 +01:00
Eliot Berriot d8486beeb0
Can now list tracks from within playlist endpoint 2018-03-20 15:34:33 +01:00
Eliot Berriot 9a909798e7
Additional permissions checks on playlist views 2018-03-20 15:34:33 +01:00
Eliot Berriot 4f7fa09a78
Playlisttrack factory 2018-03-20 15:34:33 +01:00
Eliot Berriot 367014f70e
Added owner permission to check user has the right to read/update object 2018-03-20 15:34:33 +01:00
Eliot Berriot 3e277aad4f
Added helper to filter queryset by privacy level 2018-03-20 15:34:32 +01:00
Eliot Berriot 2a3f43ecb1
Ensure privacy_level is settable/inherited properly 2018-03-20 15:34:32 +01:00
Eliot Berriot 859f8a0570
Replaced is_public flag by brand new privacy_level field on playlists 2018-03-20 15:34:32 +01:00
Eliot Berriot 9fdbc7b859
factorized privacy_level field 2018-03-20 15:34:32 +01:00
Eliot Berriot 4298c4236e
Fixed #119: forced redirection to login even with API_AUTHENTICATION_REQUIRED=False 2018-03-15 22:34:20 +01:00
Eliot Berriot c70ab72bc0 Merge branch '114-exclude-empty-albums' into 'develop'
Fix #114: can now filter artists and albums with no listenable tracks

Closes #114

See merge request funkwhale/funkwhale!83
2018-03-07 22:19:21 +00:00
Eliot Berriot bfeb86865d
Fix #114: can now filter artists and albums with no listenable tracks 2018-03-07 23:08:28 +01:00
Eliot Berriot 99a91c1e74
Fix #115: broken import request admin 2018-03-07 22:36:37 +01:00
Eliot Berriot ec3e5a4304
Version bump and changelog 2018-03-06 21:56:01 +01:00
Eliot Berriot 20ba6f926a Merge branch '111-skip-acoustid' into 'develop'
Resolve "Allow skip accoustid entirely on music import (CLI)"

Closes #111

See merge request funkwhale/funkwhale!79
2018-03-06 20:54:28 +00:00
Eliot Berriot dd61dd7416
Fix #112: missing batch ID in import output 2018-03-06 20:41:39 +01:00
Eliot Berriot 17bda77efb
Fix #111: allow skipping of acoustid matching 2018-03-06 20:29:32 +01:00
Eliot Berriot e4c044638b
Fixed 500 error in authentication 2018-03-05 21:43:07 +01:00
Eliot Berriot 2354721cd9
Fixed import crashing when no acoustid found 2018-03-04 18:14:37 +01:00
Eliot Berriot eef2ff3f9a
Fixed broken daphne and removed useless templates 2018-03-04 16:05:41 +01:00
Eliot Berriot 6011cf2098
Version bump and changelog 2018-03-04 15:16:35 +01:00
Eliot Berriot 1800f7ad17
API endpoint for updating privacy 2018-03-03 11:20:21 +01:00
Eliot Berriot a6da10be41
API refinements for activity stream 2018-03-01 23:41:51 +01:00
Eliot Berriot d509c090d3
Basic working poc with favorites send over websocket 2018-03-01 21:51:20 +01:00
Eliot Berriot e490284511
Use our new event system for track favorites 2018-03-01 20:38:48 +01:00
Eliot Berriot dd5881f2c6
Founndations for real-time event serialization/subscription/broadcasting 2018-03-01 20:38:20 +01:00
Eliot Berriot fd7c1e5dd8
Added privacy level for user 2018-03-01 20:36:29 +01:00
Eliot Berriot 691665e3cf
Activity stream representations for user and favorites 2018-03-01 18:38:32 +01:00
Eliot Berriot 5c2ddc56c4
Basic channels middleware for token auth 2018-03-01 18:38:31 +01:00
Eliot Berriot 3b6d474d69
Changelog and version bump 2018-02-28 19:29:31 +01:00
Eliot Berriot 41404a5988
Version bump and changelog 2018-02-27 23:10:23 +01:00
Eliot Berriot ce45b252cf Merge branch '80-admins' into 'develop'
Fixed #80: Added admin interface for radios, track files, favorites...

Closes #80

See merge request funkwhale/funkwhale!69
2018-02-27 22:03:53 +00:00
Eliot Berriot e13ac32370
Fixed #80: Added admin interface for radios, track files, favorites... 2018-02-27 23:01:55 +01:00
Eliot Berriot d875f0d070
Fixed #82: Basic instance states are now available on /about 2018-02-27 22:38:55 +01:00
Eliot Berriot 62d0381f91
Fixed #81: Search now unaccent letters for queries 2018-02-27 19:56:02 +01:00
Eliot Berriot db4ae18055
Fixed #88: Now exclude tracks without file from radio candidates 2018-02-27 19:20:55 +01:00
Eliot Berriot b5226367a5
Fixed broken import because of missing transaction 2018-02-27 18:12:23 +01:00
Eliot Berriot 84d6e22e67
Version bump and changelog 2018-02-26 21:39:22 +01:00
Eliot Berriot 8c7e943013
Fixed #73: broken file upload 2018-02-26 18:27:41 +01:00
Eliot Berriot c415d759e4
Version bump and changelog 2018-02-24 18:07:51 +01:00
Eliot Berriot 8a657a0a9f
Version bump and changelog 2018-02-24 15:37:22 +01:00
Eliot Berriot cdabb26989
Fix #30: added instance preferences for name and descriptions 2018-02-24 15:27:51 +01:00
Eliot Berriot 3dd1a20b68
Fix #58: enabling registrations is now done via a preference 2018-02-24 12:20:42 +01:00
Eliot Berriot dac47da584
Import request filter 2018-02-22 23:33:59 +01:00
Eliot Berriot dcb1915a7b
Can now bind batch to request via API 2018-02-22 23:33:44 +01:00
Eliot Berriot 999198b1c5
Serialize user with requests 2018-02-22 22:01:51 +01:00
Eliot Berriot 9d5e07872d
Removed dead code 2018-02-21 00:09:15 +01:00
Eliot Berriot 98b62caa24
Import request viewset, serializer and url 2018-02-21 00:09:15 +01:00
Eliot Berriot f3d77ef7d9
Update request status based on batch status 2018-02-21 00:09:15 +01:00
Eliot Berriot b492e133c6
Job signal to update batch status 2018-02-21 00:08:46 +01:00
Eliot Berriot 8900f5581b
ImportRequest factory 2018-02-21 00:03:05 +01:00
Eliot Berriot 3fa7d0009e
Initial import request model 2018-02-21 00:02:48 +01:00
Eliot Berriot 24e2555793
Added status field to import batch, it's synced based on jobs 2018-02-21 00:02:09 +01:00
Eliot Berriot 1cfdf31e00
Can now stream transcoded version of audio tracks \o/ 2018-02-18 23:49:42 +01:00
Eliot Berriot ddea5f1825
Now store track file mimetype in database 2018-02-18 23:46:15 +01:00
Eliot Berriot a38ca1ede1
Version bump and changelog 2018-02-18 14:48:38 +01:00
Eliot Berriot 50af04345b
Use webpack dev proxy to serve api/media 2018-02-18 14:42:17 +01:00
Eliot Berriot bb9a614aa7
Added raven front dsn and enabled preference 2018-02-17 21:31:32 +01:00
Eliot Berriot 6152b3bb36
Added API endpoint for listing public instance settings 2018-02-17 21:31:32 +01:00
Eliot Berriot e4edf55c47
Replaced vue-resource by axios 2018-01-11 21:35:51 +01:00
Eliot Berriot b5ba6d6205
Version bump and changelog 2018-01-07 23:08:02 +01:00
Eliot Berriot 83f3fdddbb
Version bump and changelog 2018-01-07 22:51:44 +01:00
Eliot Berriot 56c220275b
Version bump and changelog 2018-01-07 22:27:34 +01:00
Eliot Berriot e7f0c1b88b
Views and logic for custom radios 2018-01-07 22:21:01 +01:00
Eliot Berriot df63252105
Models and migrations for custom radios 2018-01-07 22:21:01 +01:00
Eliot Berriot a8f775460c
Version bump and changelog 2017-12-27 23:43:53 +01:00
Eliot Berriot 0b8f61b25d
Version bump and changelog 2017-12-27 23:36:42 +01:00
Eliot Berriot 1c8f055490
Brand new file importer 2017-12-27 23:32:02 +01:00
Eliot Berriot 2e616282fd
Now use import job everywhere, even for direct file imports 2017-12-27 20:30:50 +01:00
Eliot Berriot 5d2dbbc828
Upgraded celery to 4.1, added endpoint logic for fingerprinting audio files 2017-12-27 17:30:09 +01:00
Eliot Berriot 7bbb738793
Version bump and changelog 2017-12-26 21:28:56 +01:00
Eliot Berriot 3c08722e92
Fixed #56: invalidate tokens on password change, also added change password form 2017-12-26 15:56:04 +01:00
Eliot Berriot 099cdfa99c
Fixed #54: Now use pytest everywhere \o/ 2017-12-24 19:15:21 +01:00
Eliot Berriot 6ad8b212cf
Fixed #50: ordering for favorites 2017-12-17 20:07:18 +01:00
Eliot Berriot 04c70116c3
See #50: pagination, search and ordering on artist browsing 2017-12-17 19:42:58 +01:00
Eliot Berriot 89fec1f2cc
Version bump and changelog 2017-12-16 16:37:45 +01:00
Eliot Berriot 5ac9d261c1
Version bump and changelog 2017-12-16 16:15:33 +01:00
Eliot Berriot e2ff2a1e02
Broken migrations 2017-12-16 15:27:42 +01:00
Eliot Berriot 3396329c19
Fixed reverse import in django.urls 2017-12-16 15:19:33 +01:00
Eliot Berriot 7422ea8357
Update urls app_name 2017-12-16 14:33:10 +01:00
Eliot Berriot 4d09e75262
Update models with on_cascade 2017-12-16 00:36:06 +01:00
Eliot Berriot 7c0b4b9a8f
New-style middlewares 2017-12-15 23:48:45 +01:00
Eliot Berriot 0559b1b1ab
Switched to is_authenticated (no parenthesis) 2017-12-15 23:42:20 +01:00
Eliot Berriot e9c3eb59a3
Replaced model_mummy with factory_boy 2017-12-15 23:41:04 +01:00
Eliot Berriot 9d81ece007
Version bump and changelog 2017-12-14 23:08:41 +01:00
Eliot Berriot e90e9dc7aa
Fixed #44: now bind track file to import job 2017-12-14 23:06:21 +01:00
Eliot Berriot dcb66690bb
Fixed #7: store release-group id on Album 2017-12-13 23:36:10 +01:00
Eliot Berriot 4c9469ac54 Merge branch 'feature/22-debian-installation' into 'develop'
Initial documentation on debian

See merge request funkwhale/funkwhale!15
2017-12-13 21:57:47 +00:00
Eliot Berriot 4be052c0e7
version bump 2017-12-12 23:54:57 +01:00
Eliot Berriot 926db0f366
Fixed #40: added artist browsing view 2017-12-12 23:41:47 +01:00
Eliot Berriot c6d408924b
Added artist filtering on API 2017-12-12 23:27:17 +01:00
Eliot Berriot 4515210162
better pagination on favorites 2017-12-12 22:58:17 +01:00
Eliot Berriot f74b6b5a7d
version bump 2017-12-11 21:15:44 +01:00
Eliot Berriot ee1449bdd0
added real file in track factory 2017-12-11 19:32:56 +01:00
Eliot Berriot d63e7677e4 WIP: Debian installation instructions 2017-07-20 23:30:25 +02:00
Eliot Berriot 6adc8f0cde Fixed #37: do not pass recursive flag on import unless needed 2017-07-20 23:25:01 +02:00
Eliot Berriot 05ce2ba721 Changelog && version bump 2017-07-17 22:08:44 +02:00
Eliot Berriot da4c76ace8 Now return media files with absolute URL 2017-07-11 09:14:54 +02:00
Eliot Berriot e8eaf6db94 Now display CLI instructions to download a set of tracks 2017-07-11 08:40:54 +02:00
Eliot Berriot 0786c58d3d Fixed #33: sort by track position in album in API vy default, also reuse that information on frontend side 2017-07-10 23:24:04 +02:00
Eliot Berriot 0b01bf3038 Changelog && version bump 2017-07-09 11:37:47 +02:00
Eliot Berriot aa80bd15fa Fixed #4: can now import artists and releases with a clean interface :party: 2017-07-09 11:33:33 +02:00
Eliot Berriot 3ccb70d0a8 Fixed #15 again, now check authorization also using query param 2017-06-29 02:27:35 +02:00
Eliot Berriot bab3981d25 Fixed #15: Ensure we check for authorization for serving audio files, meaning we don't leak the absolute URL anymore 2017-06-28 23:31:43 +02:00
Eliot Berriot 6e7d0ae243 Fixed #21: can now import MP3 files via command line, also improved musicbrainz ID handling in import process 2017-06-26 21:56:24 +02:00
Eliot Berriot 70634048c6 Fixed #18: added v1 namespace under API 2017-06-26 20:19:09 +02:00
Eliot Berriot edc8794a4f Fixed #17: removed a few useless dependencies and files 2017-06-26 18:46:19 +02:00
Eliot Berriot 4cb2f53db3 Fixed #11: Upgraded to django 1.11 2017-06-26 18:31:22 +02:00
Eliot Berriot 072605dea6 CI builds / pipeline now run tests and build static assets 2017-06-25 18:31:00 +02:00
Eliot Berriot 76f98b74dd Initial commit that merge both the front end and the API in the same repository 2017-06-23 23:00:42 +02:00