Commit Graph

1199 Commits

Author SHA1 Message Date
Eliot Berriot 9f3182caf7 See #852: improved routing logic for federation messages (support multiple objects types for one route) 2019-09-21 16:20:49 +02:00
Eliot Berriot f44abfecfb Fix #883: Prevent usage of too weak passwords 2019-09-21 16:11:08 +02:00
Eliot Berriot def555bd50 Merge branch '890-assign-admin' into 'develop'
See #890: assign report to moderator on resolution

See merge request funkwhale/funkwhale!881
2019-09-20 09:28:21 +02:00
Eliot Berriot 921317a217 Implemented missing getSongsByGenre subsonic endpoint 2019-09-19 21:09:18 +02:00
Eliot Berriot dc731532b9
Expose default upload quota in nodeinfo 2019-09-19 11:31:39 +02:00
Eliot Berriot dce7a74f7e See #872: rules and contact email settings 2019-09-19 11:14:21 +02:00
Eliot Berriot d28bf65d00 See #261: Added a rate-limiting (throttling system) to limit the number of requests handled per user/IP 2019-09-17 11:23:59 +02:00
Eliot Berriot 9d0e593bcb Merge branch '898-folder-jpg' into 'develop'
Fix #898: Pickup folder.png and folder.jpg files for cover art when importing from CLI

Closes #898

See merge request funkwhale/funkwhale!895
2019-09-17 11:11:27 +02:00
Eliot Berriot 3204dfd342
Fix #898: Pickup folder.png and folder.jpg files for cover art when importing from CLI 2019-09-17 11:06:39 +02:00
Eliot Berriot 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 01d2206001
Reduce number of cache calls by retrieving multiple preferences at once in nodeinfo 2019-09-16 11:32:38 +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 bc39b18173 Merge branch '890-mods-workflow' into 'develop'
moderator interface for reports (#890)

See merge request funkwhale/funkwhale!866
2019-09-06 10:14:09 +02:00
Eliot Berriot 0600819b38
See #890: review tweaks 2019-09-06 10:10:32 +02:00
Ciaran Ainsworth 4b4daf507c Updated wording in dynamic preferences file 2019-09-04 10:01:37 +01:00
Eliot Berriot d5b89f01d7
See #890: added shortcuts for setting moderation policies directly when handling reports 2019-09-02 15:21:26 +02:00
Eliot Berriot 5e39a85ebe
See #890: disable report deletion 2019-09-02 11:06:25 +02:00
Ciarán Ainsworth 53f1f1ce47 Resolve "Setting upload limit in Django" 2019-08-30 15:39:01 +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 eb5b63c008
See #890: include notes in reports API representations 2019-08-29 14:12:26 +02:00
Eliot Berriot 7a7cc55143
See #890: tweaks / perf improvements 2019-08-29 14:00:10 +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 80c8610632
Fixed wrong ID representation in generic relation 2019-08-29 11:45:14 +02:00
Eliot Berriot f48f74dcb3
See #890: store domain name and local status of reported objects 2019-08-28 17:12:54 +02:00
Eliot Berriot fbb814bca8
See #890: added django admin module for reports 2019-08-28 11:32:08 +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 d7705593a9
See #890: added table to list reports 2019-08-28 10:22:38 +02:00
Eliot Berriot 00efe7e854
Fix unrelated broken actor filtering 2019-08-28 10:22:37 +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 815d9c02f8
See #890: Added Oauth scope for managing instance 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
Keunes 3842e7ae66 Correct English language mistake dynamic_preferences_registry.py (overrided > overridden; cf https://english.stackexchange.com/questions/75786/overrode-vs-overridden) 2019-08-27 08:21:21 +02:00
Eliot Berriot 1a1878445c
Fixed album art not being retrieved from Ogg/Opus files 2019-08-26 14:08:00 +02:00
Eliot Berriot a6cf2ce019 "[EPIC] Report option on everything - reports models 2019-08-22 11:30:30 +02:00
Ciarán Ainsworth 2e0883d44c Fix #895: "Display tracks count instead of albums count for artists with no albums" 2019-08-20 12:12:41 +02:00
Eliot Berriot 4d5e47466c
Updated Django Rest Framework to v3.10 2019-07-30 14:08:01 +02:00
Eliot Berriot bb1a895a9b
Merge branch 'master' into develop 2019-07-29 14:22:31 +02:00
Eliot Berriot 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 be0b120cea
Ensure we can transcode from video/ogg files too 2019-07-25 15:43:46 +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 a48a32c7e9
See #432: can now filter with tags in Track/album/artist admin 2019-07-25 10:43:34 +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 34d600d9df
See #432: can now build custom radios using tags 2019-07-18 15:34:23 +02:00
Eliot Berriot e21e0e50d1
See #432: added tag search in sidebar 2019-07-18 15:26:30 +02:00
Eliot Berriot d808a1f1ac
Fixed a bug with in-place imported files not playing 2019-07-18 15:13:34 +02:00
Eliot Berriot 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 be91b56fc8
Fixed broken tag generation in load_test_data command 2019-07-18 14:08:38 +02:00
Eliot Berriot 9336fec430
See #432: added some filters in tags API 2019-07-18 14:08:36 +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 c8135d38b1
See #432: added model tagging logic on artists and albums 2019-07-15 10:53:33 +02:00
Eliot Berriot 426f6f0d45
Fixed failing test 2019-07-13 11:15:31 +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 e11c1dfe29
Fix broken object creation in load_test_data command 2019-07-09 15:37:24 +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 53b826c81a
Fix #877: Ensure API urls answer with and without a trailing slash 2019-07-02 14:31:47 +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 8f3a8243ea
Version bump and changelog for 0.19.1 2019-06-28 10:24:59 +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 dc5db3a0c1
Fix #869: broken user admin for users with non-digit or letters in their username 2019-06-27 14:50:56 +02:00
Eliot Berriot 95cd64582c
Fix #868: Added opus to the list of supported mimetypes and extensions 2019-06-27 06:07:05 +02:00
Eliot Berriot cdcba85f29 Resolve "Importing tracks without album fails" 2019-06-26 10:38:29 +02:00
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
Reg a1d01105a1
Fixed typo refrence => reference 2019-06-25 11:03:45 +02:00
Eliot Berriot c55a926d33
Linting 2019-06-24 16:23:44 +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 cbf9f74e49
Fixed 500 error when adding domain without nodeinfo 2019-06-24 16:07:53 +02:00
Eliot Berriot b43bf42efc
Revert "Fixed broken logging"
This reverts commit 68b21d706c.
2019-06-24 15:31:11 +02:00
Eliot Berriot 68b21d706c
Fixed broken logging 2019-06-24 15:30:17 +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
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