Eliot Berriot
2523108b6a
Fix #847 : Use ASCII filename before upload to S3 to avoid playback issues
2019-06-11 09:56:46 +02:00
Eliot Berriot
ce4a6b0412
Fix #851 : wrong og:image url when using S3 storage
2019-06-10 12:06:29 +02:00
Eliot Berriot
bb5e5460c4
Fix #848 : Fixed invalid file extension for transcoded tracks
2019-06-10 11:56:10 +02:00
Eliot Berriot
c8ee67e754
Fix #850 : Ensure empty but optional fields in file metadata don't error during import
2019-06-10 11:05:07 +02:00
Eliot Berriot
4a412d36a9
Fix #830 : Better handling of follow/accept messages to avoid and recover from desync between instances
2019-05-14 10:59:49 +02:00
Eliot Berriot
6749b72884
Fixed broken pipeline
2019-05-10 09:32:06 +02:00
Eliot Berriot
86269c1b07
Can now serve audio content directly from S3
2019-05-09 11:43:35 +02:00
Eliot Berriot
c8fcf1b0d9
Support oauth token in URL
2019-05-03 12:30:57 +02:00
Eliot Berriot
1345ba183c
Fixed follow autoapproval not working with "instance" visibility level
2019-05-02 13:57:42 +02:00
Eliot Berriot
119df01335
Fix #808 : Advertise the list of supported upload extensions in the Nodeinfo endpoint
2019-05-02 13:15:33 +02:00
Eliot Berriot
048339c7a2
Fix #809 : Added admin options to disable login for users, ensure related content is deleted when deleting a user account
2019-04-30 14:46:05 +02:00
Eliot Berriot
430af5560c
Merge branch '565-failing-tests' into 'develop'
...
See #565 : fixed path issues with external storage
Closes #565
See merge request funkwhale/funkwhale!736
2019-04-24 15:29:57 +02:00
Eliot Berriot
a2c52abb4f
See #565 : fixed path issues with external storage
2019-04-24 15:27:07 +02:00
Eliot Berriot
993783190a
Fix #619 : Use attributedTo instead of actor in library ActivityPub payload
2019-04-24 14:40:58 +02:00
Qasim Ali
22f0235045
refactor playlist duplicate error structure
...
- use non_field_errors struct when writing duplicate track errors
- generalize frontend error handler and update frontend error parsing
2019-04-24 11:31:46 +02:00
Eliot Berriot
51d94a13fa
Merge branch '798-more-flexible-user-url' into 'develop'
...
Fix #798 : Allow users with dots in their usernames to request a subsonic password
Closes #798
See merge request funkwhale/funkwhale!733
2019-04-23 11:38:42 +02:00
Eliot Berriot
b23e87e102
Fix #798 : Allow users with dots in their usernames to request a subsonic password
2019-04-23 11:35:59 +02:00
Eliot Berriot
39485c8e02
Fix #806 : Use proper site name/domain in emails
2019-04-23 11:14:58 +02:00
Eliot Berriot
0b94227782
Fix #799 : Removed broken/instable lyrics feature
2019-04-23 10:32:51 +02:00
Eliot Berriot
a605bcbe76
Admin UI for libraries and uploads
2019-04-19 12:05:13 +02:00
Eliot Berriot
cdc617be27
Logic to refetch remote entities
2019-04-18 14:37:17 +02:00
Eliot Berriot
55d0e52c55
Edits for artists and albums
2019-04-17 16:11:24 +02:00
Eliot Berriot
b4731928fc
UI To manage artists, albums, tracks
2019-04-17 14:17:59 +02:00
Eliot Berriot
0e8a5a10e5
Fix #802 : Now honor maxBitrate parameter in Subsonic API
2019-04-16 11:35:12 +02:00
Eliot Berriot
8cfd604e51
Fix #782 : Better handling of featuring/multi-artist tracks tagged with MusicBrainz
2019-04-12 12:04:25 +02:00
Eliot Berriot
5e3cc99f20
See #689 : fetch nodeinfo when seing a domain for the first time
2019-04-11 11:25:55 +02:00
Eliot Berriot
84e2f0af9f
See #689 : added a task to refresh nodeinfo data on known domain periodically
2019-04-11 11:14:27 +02:00
Eliot Berriot
4e44e4e4b6
Attribute artist
2019-04-11 10:17:10 +02:00
Eliot Berriot
0ce51d25d4
Can now edit track copyright information
2019-04-09 11:15:43 +02:00
Eliot Berriot
45142bf24b
Added better dropdown for choosing licenses
2019-04-09 11:15:43 +02:00
Eliot Berriot
a3ad476c88
More configurable pagination
2019-04-09 11:15:43 +02:00
Eliot Berriot
6649d0720d
Fix #781 : Added a `check_inplace_files` management command to remove purge the database from references to in-place imported files that don't exist on disk anymore
2019-04-05 18:55:00 +02:00
Eliot Berriot
f5a6a40d7f
Fix #787 : federation issue due to missing error handling
2019-04-05 16:22:32 +02:00
Eliot Berriot
2a82367667
Fix #788 : fixed crashing import with empty album artist
2019-04-05 15:41:28 +02:00
Eliot Berriot
05f0129025
Better error handling on display for import errors ( #718 , #583 , #501 , #252 , #544 )
2019-04-04 16:07:43 +02:00
Eliot Berriot
5916a1ba99
Fix #777 : Added a prune_library management command to remove obsolete metadata
2019-03-27 17:04:10 +01:00
Eliot Berriot
8a5c85a823
Merge branch 'discard-unhandled-activities' into 'develop'
...
Fix #776 : Don't store unhandled ActivityPub messages in database
Closes #776
See merge request funkwhale/funkwhale!696
2019-03-27 13:46:08 +01:00
Eliot Berriot
ca7b39c692
Fix #740 : Do not consider tracks as duplicates during import if they have different positions
2019-03-27 12:54:29 +01:00
Eliot Berriot
46f1d96206
Fix #776 : Don't store unhandled ActivityPub messages in database
2019-03-27 12:53:35 +01:00
Eliot Berriot
31227b8641
Fix #772 : Prevent skipping on file import if album_mbid is different
2019-03-27 12:13:25 +01:00
Eliot Berriot
4c13d47387
Resolve "Implement a Oauth provider in Funkwhale"
2019-03-25 17:02:51 +01:00
Eliot Berriot
e587e5aebc
Merge branch 'master' into develop
2019-03-21 10:46:28 +01:00
Eliot Berriot
cc71d2bb20
Fix #570 : Exclude in-place imported files from quota computation
2019-03-21 10:32:12 +01:00
Eliot Berriot
9a162c57ca
Merge branch 'master' into develop
2019-03-20 20:45:06 +01:00
Eliot Berriot
429ffbf461
Fix #757 : Ensure cover art from uploaded files is picked up properly on existing albums
2019-03-20 19:38:41 +01:00
Eliot Berriot
5715773fa7
Fix #765 : Include disc number in Subsonic responses
2019-03-20 17:13:40 +01:00
Eliot Berriot
33190613a2
Fix #737 : delivering of local activities causing unintended side effects, such as rollbacking changes
2019-03-20 16:21:03 +01:00
Eliot Berriot
b9f0c6aecd
Revert "Merge branch '629-cookie-auth' into 'develop'"
...
This reverts commit 8b47af8b81
, reversing
changes made to c0055b3b20
.
2019-03-15 15:52:30 +01:00
Eliot Berriot
da3710ff08
Fix #758 : Ensure all our ActivityPub fetches are authenticated
2019-03-15 12:08:45 +01:00
Eliot Berriot
c395076fce
Resolve "Use cookies instead of local storage for auth in Web UI"
2019-03-13 16:50:49 +01:00
Eliot Berriot
8ae00b0698
Fix #747 : Support embedding full artist discographies
2019-03-08 10:34:50 +01:00
Eliot Berriot
491c79efa0
Merge branch 'master' into develop
2019-03-07 13:44:33 +01:00
Eliot Berriot
3d94eddcfc
Fix #743 : Do not send notification when rejecting a follow on a local library
2019-03-07 12:09:45 +01:00
Eliot Berriot
0afa4f2e27
Fix #737 : delivering of local activities causing unintended side effects, such as rollbacking changes
2019-03-06 15:33:39 +01:00
Eliot Berriot
12c9db3960
Ensures federation urls can answer to application/ld+json, application/activity+json and application/json requests
2019-03-05 15:15:37 +01:00
Eliot Berriot
d243d6a2f5
See #689 : now serve AP representations for uploads, tracks, albums and artists
2019-02-28 12:32:09 +01:00
Eliot Berriot
e0c5ffcb16
[EPIC] Audio metadata update - UI / API
2019-02-28 09:31:04 +01:00
Eliot Berriot
f726b5e105
See #578 : Added twitter:* meta tags to detect tracks and albums players automatically on more sites
2019-02-21 14:27:14 +01:00
Eliot Berriot
bdf83bd8ff
Resolve "Hide an artist in the UI"
2019-02-14 10:49:06 +01:00
Eliot Berriot
7e1bd1ad07
Merge branch 'master' into develop
2019-02-13 09:09:31 +01:00
jake
7a34c297ed
Resolve "add a view to list albums"
2019-02-13 08:46:38 +01:00
Eliot Berriot
00846ca3e9
Fix #706 : Added a 'fix_federation_ids' management command to deal with protocol/domain issues in federation
...
IDs after deployments
2019-02-11 11:59:32 +01:00
Eliot Berriot
98f4edeeb3
Merge branch 'master' into develop
2019-02-11 09:44:42 +01:00
Eliot Berriot
d99757658c
Fix #705 : Can now use a local file with FUNKWHALE_SPA_HTML_ROOT to avoid sending an HTTP request
2019-02-08 17:36:10 +01:00
Eliot Berriot
5ce4cc8379
[Experimental] Added a new "Similar" radio based on users history (suggested by @gordon)
2019-01-30 16:54:35 +01:00
Eliot Berriot
253f026dc0
System actor
2019-01-30 11:54:43 +01:00
Eliot Berriot
7df97263e5
Merge branch 'develop'
2019-01-29 10:06:04 +01:00
Vierkantor
0efdb6d980
Resolve "In-place imports cannot be transcoded"
2019-01-29 09:32:35 +01:00
Eliot Berriot
cd36128769
Fix #684 : Include shared/public playlists in Subsonic API responses
2019-01-25 12:12:00 +01:00
Eliot Berriot
0b66737181
Include user activity stats in nodeinfo endpoints
2019-01-21 10:16:50 +01:00
Eliot Berriot
e8c81d734f
Fixed wrong value for anonymousCanListen in nodeInfo
2019-01-21 09:52:41 +01:00
Eliot Berriot
4a3c21a094
Importer will now pick embedded images in files with OTHER type if no COVER_FRONT is present
2019-01-15 17:14:11 +01:00
Eliot Berriot
6aaa51e8e7
Fix #564 : Added a script to prune pre 0.17 federated tracks
2019-01-14 17:11:24 +01:00
Eliot Berriot
08ce00e3cd
Fixed #469 : parsing of embedded file cover for ogg files tagged with MusicBrainz Picard
2019-01-14 14:51:35 +01:00
Eliot Berriot
5fe30cf59b
Fix #658 : Support blind key rotation in HTTP Signatures
2019-01-11 15:39:33 +01:00
Eliot Berriot
fe03d08a8e
Removed unused acoustid dependency / logic
2019-01-11 14:10:02 +01:00
Eliot Berriot
14392ebb0c
Updated rest framework to 3.9
2019-01-11 14:10:02 +01:00
Eliot Berriot
53ade20722
Merge branch 'more-performant-favorites' into 'develop'
...
More performant favorites
See merge request funkwhale/funkwhale!522
2019-01-10 12:00:35 +01:00
Eliot Berriot
3916986fb8
Performance improvement when fetching favorites, down to a single, small http request
2019-01-10 11:58:18 +01:00
Eliot Berriot
4811f35eb5
Linting
2019-01-10 11:11:32 +01:00
Eliot Berriot
377f237fdb
Rejecting media files on an instance or account now purge existing media
2019-01-10 11:11:31 +01:00
Eliot Berriot
1c55f2c9a6
Use our instance policies to discard fetched and inbox objects
2019-01-10 11:11:30 +01:00
Eliot Berriot
233ac870be
Added actions and tasks to purge domains and actors
2019-01-09 14:20:22 +01:00
Eliot Berriot
0bc9bb65b0
Model, view and serializer for instance-level policies
2019-01-07 09:45:53 +01:00
Eliot Berriot
ddffbeadfa
Can now add domains via manage API / UI
2019-01-05 18:21:35 +01:00
Eliot Berriot
49e1bec7b9
Faster transcoding tests thanks to smaller audio files (see #648 )
2019-01-04 12:23:53 +01:00
Eliot Berriot
7657db4212
Fix #648 : Improved test suite speed by reducing / disabling expensive operations
2019-01-04 11:47:23 +01:00
Eliot Berriot
e186c6bb06
Admin UI to list and manage remote and local accounts
2019-01-03 17:10:02 +01:00
Eliot Berriot
47209ee5ae
Added API to list and detail actors
2019-01-03 11:47:29 +01:00
Eliot Berriot
a7d7756545
Fix #374 : Strip EXIF metadata from uploaded avatars to avoid leaking private data
2019-01-02 12:39:00 +01:00
Eliot Berriot
9d55320b56
Fixed slow query on domain list / stats
2018-12-27 22:45:43 +01:00
Eliot Berriot
942e9a15cb
Linting
2018-12-27 20:39:03 +01:00
Eliot Berriot
032197da3f
Added stats endpoint for domain
2018-12-27 20:33:12 +01:00
Eliot Berriot
be388870a3
Can now fetch domain nodeinfo
2018-12-27 20:33:12 +01:00
Eliot Berriot
e4117043cb
Added API endpoint and UI to list known domains
2018-12-27 20:33:11 +01:00
Eliot Berriot
34ec869ca1
Removed obsolete permissions, added a new moderation permission
2018-12-27 20:33:11 +01:00
Eliot Berriot
7ac3bb98da
Moved actor domain to a dedicated table
2018-12-27 20:33:11 +01:00
Eliot Berriot
24b8ca7227
Removed dead code
2018-12-26 20:23:48 +01:00
Eliot Berriot
e8b2b94df4
Fixed url escaping for good ;)
2018-12-19 16:45:40 +01:00
Eliot Berriot
94703ff296
Added missing attributes in oembed data
2018-12-19 16:13:01 +01:00
Eliot Berriot
03a7b80d03
Use cropped images for og:image
2018-12-19 16:05:45 +01:00
Eliot Berriot
a56531e111
Added missing format in oembed discovery link
2018-12-19 15:53:54 +01:00
Eliot Berriot
173cd9ef78
Merge branch 'remove-superfluous-subsonic-tests' into 'develop'
...
Removed duplicated susbsonic tests
See merge request funkwhale/funkwhale!497
2018-12-19 15:18:03 +01:00
Eliot Berriot
5d4066d697
Removed duplicated susbsonic tests
...
We were testing both xml and json rendering for every view but this takes a very long time, so we only do json for most views now.
2018-12-19 15:12:19 +01:00
Eliot Berriot
9220b2f0f1
See #578 : added opengraph and oembed data on artist / album / track urls
2018-12-19 15:04:33 +01:00
Eliot Berriot
a493d34b8f
Resolve "Track position don't take care about disc number"
2018-12-06 08:53:31 +00:00
Eliot Berriot
5a2cf9112b
Fixed #621 : None extension when downloading an in-place imported file
2018-12-04 15:40:14 +01:00
Eliot Berriot
e5b46402f8
Fix #308 : Licenses
2018-12-04 14:13:37 +00:00
Eliot Berriot
8e84e2bf39
Fix #622 : More resilient date parsing during audio import, will not crash anymore on
...
invalid dates
2018-11-26 17:07:55 +01:00
Eliot Berriot
837d6ad0e1
Fix #473 : ".None" extension when downloading Flac file
2018-11-19 23:49:43 +01:00
Eliot Berriot
22de4a98c5
Fix #616 : Fixed inconsistencies in subsonic error responses
2018-11-18 23:17:31 +01:00
Eliot Berriot
4976981926
Broadcast library updates (name, description, visibility) over federation
2018-11-09 19:57:14 +01:00
Eliot Berriot
51457aa889
Fix #553 : Advertise public libraries properly in ActivityPub representations
2018-11-09 19:57:14 +01:00
Eliot Berriot
bcd22eb38c
See #272 : linting and changelog
2018-10-26 16:09:00 +02:00
Eliot Berriot
daf2e4b863
See #272 : subsonic support for transcoding
2018-10-26 16:09:00 +02:00
Eliot Berriot
d3f8fb6cb0
See #272 : updated API to return upload data on tracks
2018-10-26 14:26:52 +02:00
Eliot Berriot
8489c79c89
See #272 : clean transcoding files task
2018-10-24 19:44:31 +02:00
Eliot Berriot
2fe1e7c950
See #272 : added preference and base logic for transcoding
2018-10-24 19:17:02 +02:00
Eliot Berriot
aaaa2479dc
Missing changelog and getLicense endpoint for #581
2018-10-21 20:45:24 +02:00
Eliot Berriot
77973ba6f9
See #574 : linting
2018-10-21 20:33:41 +02:00
Eliot Berriot
ccd600ecca
See #574 : Implemented getRandomSongs endpoint
2018-10-21 20:30:16 +02:00
Eliot Berriot
439d4fd6b3
See #574 : Implemented getUser view
2018-10-21 20:30:12 +02:00
Eliot Berriot
d3e411fa97
See #574 : Implemented getAvatar view
2018-10-21 20:30:08 +02:00
Eliot Berriot
6c7ee54dbc
Merge branch '573-subsonic-type' into 'develop'
...
Fix #573 : Added "type: funkwhale" and "funkwhale-version" in Subsonic responses
Closes #573
See merge request funkwhale/funkwhale!456
2018-10-21 15:48:57 +00:00
Eliot Berriot
941f2f6677
Fix #573 : Added "type: funkwhale" and "funkwhale-version" in Subsonic responses
2018-10-21 17:43:22 +02:00
Eliot Berriot
2b70f3ba42
Fix #581 : missing track count on various library cards
2018-10-21 17:38:29 +02:00
Eliot Berriot
a865fcdcf1
Fix #551 : Added a library widget to display libraries associated with a track, album and artist
2018-10-02 19:30:13 +02:00
Eliot Berriot
1aa9b557d1
Merge branch 'subsonic-user-libraries' into 'develop'
...
Subsonic user libraries
See merge request funkwhale/funkwhale!428
2018-10-01 19:22:14 +00:00
Eliot Berriot
47aa209df2
See !368 : ensure we filter playable entities in subsonic API
2018-10-01 21:16:11 +02:00
Eliot Berriot
62c98b2386
See #542 : Removed import requests code
2018-10-01 19:16:47 +02:00
Eliot Berriot
42933fa138
Merge branch 'cleanup-017' into 'develop'
...
Cleanup unused code
See merge request funkwhale/funkwhale!426
2018-09-28 20:55:37 +00:00
Eliot Berriot
f5373a9dbf
Cleanup unused code
2018-09-28 22:49:59 +02:00
Eliot Berriot
ec3fcefabf
Ensure radio tracks only return playable tracks
2018-09-28 22:19:43 +02:00
Eliot Berriot
4d425e92ee
Merge branch 'federation-cache-cleaning' into 'develop'
...
Ensure cache_cleaning only targets remote files
See merge request funkwhale/funkwhale!424
2018-09-28 19:36:38 +00:00
Eliot Berriot
428de17817
Ensure cache_cleaning only targets remote files
2018-09-28 21:30:45 +02:00
Eliot Berriot
762b9f73ad
Merge branch 'disable-federation' into 'develop'
...
Do not deliver anything to remote instances when federation is disabled
See merge request funkwhale/funkwhale!423
2018-09-28 19:25:11 +00:00
Eliot Berriot
b028f3f817
Do not deliver anything to remote instances when federation is disabled
2018-09-28 21:19:37 +02:00
Eliot Berriot
58333b5967
Failing test
2018-09-28 21:08:58 +02:00
Eliot Berriot
6572db3a83
Failing test
2018-09-28 21:05:43 +02:00
Eliot Berriot
c641b8f500
Linting
2018-09-28 16:48:26 +02:00
Eliot Berriot
34373d020c
Fixed unplayable playlists
2018-09-28 16:45:28 +02:00
Eliot Berriot
b6e376ed0a
0.17 release documentation initial draft and migration script
2018-09-25 20:18:02 +00:00
Eliot Berriot
125d0eed5e
Federation scanning
2018-09-24 18:44:22 +00:00
Eliot Berriot
1bee3a4675
Import trust source
2018-09-23 12:38:42 +00:00
Eliot Berriot
3e49b2057a
CLI for importing files with user libraries
2018-09-22 15:47:17 +00:00
Eliot Berriot
e49a460203
Audio federation
2018-09-22 12:29:30 +00:00
Eliot Berriot
ecd395d6b0
Library follows and user notifications
2018-09-13 15:18:23 +00:00
Eliot Berriot
2ea21994ee
Resolve "Per-user libraries" (use !368 instead)
2018-09-06 18:35:02 +00:00
Eliot Berriot
330d8c21b4
Merge branch 'develop' into 'develop'
...
Add support for Opus files
Closes #244
See merge request funkwhale/funkwhale!390
2018-08-31 18:58:24 +00:00
Toke Høiland-Jørgensen
7d9220ed49
subsonic: Implement getSong API endpoint
...
The getSong API endpoint is used by, e.g., the subsonic plugin to mopidy.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-30 14:21:11 +02:00
Toke Høiland-Jørgensen
8193782f68
subsonic: Don't crash when serialising artist with no name
...
If the name of an artist is not set, the serialiser will crash. Instead,
just skip such an artist when serialising a list of artists.
Also add test for serialising an artist with an empty name.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-30 14:18:17 +02:00
Toke Høiland-Jørgensen
2f46d83834
subsonic: Catch ValueError when casting input parameters
...
A failed cast to int will raise ValueError, which is not currently caught
by the error checking code, leading to a crash. Fix this so a proper error
message can be returned.
Also add test for getting artist with non-numeric ID.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-30 14:18:02 +02:00
Toke Høiland-Jørgensen
3ce3451d35
tests: Add metadata test with opus file
...
This adds a metadata test case for extracting data from an opus test
file. The added file is just converted from test.ogg and the same
metadata fields are used.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-29 21:23:50 +02:00
Joshua M. Boniface
4ce46ff2a0
Implement LDAP authentication
2018-08-22 18:10:39 +00:00
Eliot Berriot
b9761d6436
Fixed #397 : broken federation import on big imports due to missing transaction logic
2018-08-19 17:41:19 +02:00
Eliot Berriot
4781e7821e
Fix #376 : Smarter date parsing during import by replacing arrow with pendulum
2018-07-24 23:07:51 +02:00
Eliot Berriot
ba76fe9f49
Apply restrictions to username characters during signup
2018-07-22 13:05:43 +02:00
Eliot Berriot
6b16a8b963
Resolve "Have an actor for our users"
2018-07-22 10:20:16 +00:00
Eliot Berriot
25755ad39b
Fixed #384 : unfiltered results in favorites API
2018-07-22 11:56:25 +02:00
Eliot Berriot
979c554b4a
Use cropped covers/avatars to reduce bandwidth use
2018-07-20 19:17:39 +02:00
Eliot Berriot
99a37dcb7a
Resolve "UX, UI : Browse Library"
2018-07-17 11:09:13 +00:00
Eliot Berriot
af270f4abd
Resolve "An avatar for users"
2018-07-13 12:10:39 +00:00
Eliot Berriot
1458c084a7
Resolve "Funkwhale unable to import Albums with multiple Artists"
2018-07-09 20:47:55 +00:00
Eliot Berriot
93cd72ff09
Fix #351 : Ensure we do not import artists with empty names
2018-07-09 22:35:32 +02:00
Eliot Berriot
d713ad177b
See #344 : query parsing
2018-07-03 08:13:13 +02:00
Eliot Berriot
281bef48bf
Fix #339 : Subsonic API login is now case insensitive
2018-06-28 16:47:45 +02:00
Eliot Berriot
9017acdb39
Fix #328 : Validate Date header in HTTP Signatures
2018-06-24 19:17:56 +02:00
Eliot Berriot
697ea24b79
Fix #302 : Include user's current private playlists on playlist list
2018-06-24 14:53:04 +02:00
Renon
2182227f50
Merge branch '222-update-import' into 'develop'
...
Resolve "Add flag during import to replace already present tracks with new version"
Closes #222
See merge request funkwhale/funkwhale!264
2018-06-22 22:04:06 +00:00
RenonDis
61eb8e4d61
Test for _do_import with replace
2018-06-22 23:50:46 +02:00
Eliot Berriot
9767c8f415
See #190 : API and serializers to manage import requests
2018-06-22 18:25:17 +02:00
Eliot Berriot
afe9ad2c91
Merge branch '248-invite' into 'develop'
...
Resolve "Invite system"
Closes #248
See merge request funkwhale/funkwhale!263
2018-06-21 17:57:54 +00:00
Eliot Berriot
7e442db524
Black/Flake8
2018-06-21 19:51:27 +02:00
Eliot Berriot
46ecc3f103
See #248 : ensure invitation codes are case insensitive
2018-06-21 19:51:26 +02:00
Eliot Berriot
7cfa61292a
See #248 : can now filter on invitation status and delete invitations
2018-06-21 19:51:26 +02:00
Eliot Berriot
bf8b143700
See #248 : better structure for action serializers
2018-06-21 19:51:24 +02:00
Eliot Berriot
107b1ea7dc
See #248 : can now generate and list invitations in the front-end
2018-06-21 19:51:24 +02:00
Eliot Berriot
d18f98e0f8
See #248 : can now sign up using invitation code
2018-06-21 19:29:00 +02:00
Eliot Berriot
789bef38cb
See #248 : model / migration
2018-06-21 19:28:59 +02:00
Renon
7f16491525
Merge branch '242-nargs-import' into 'develop'
...
Resolve "Make the import command accept unlimited argument"
Closes #242
See merge request funkwhale/funkwhale!261
2018-06-21 17:21:25 +00:00
RenonDis
3a2e6c3b6d
Fix #242 : can now provide multiple paths at once when importing
2018-06-21 17:45:18 +02:00
Eliot Berriot
8636b456a8
See #212 : user detail profile
2018-06-19 20:11:40 +02:00
Eliot Berriot
3ef5f29dd3
See #212 : API viewset
2018-06-19 18:48:43 +02:00
Eliot Berriot
2e4f862387
See #212 : record user last activity date
2018-06-17 17:53:40 +02:00
Eliot Berriot
98e3bb9cfc
Fix #311 : Ensure radios can only be edited and deleted by their owners
2018-06-16 14:47:34 +02:00
Eliot Berriot
031784556f
Fixed #295 : broken pagination in Subsonic API
2018-06-10 13:34:15 +02:00
Eliot Berriot
77c0b2b1a2
See #297 : added black as a local dependency, more verbose check in CI
2018-06-10 12:13:02 +02:00
Eliot Berriot
d17ceec1f0
See #297 : linting of various, uncommon errors
2018-06-10 12:06:46 +02:00
Eliot Berriot
799386c2b6
See #297 : removed a lot of unused variables
2018-06-10 11:27:38 +02:00
Eliot Berriot
9bea804f14
See #297 : sorted imports
2018-06-10 10:55:16 +02:00
Eliot Berriot
9427f8b56e
See #297 : removed unused imports
2018-06-10 10:39:47 +02:00
Eliot Berriot
639882bd34
See #297 : removed unused variables
2018-06-09 17:41:59 +02:00
Eliot Berriot
62ca3bd736
Blacked the code
2018-06-09 15:36:16 +02:00
Eliot Berriot
bbae4e323b
Fix #288 : Huge performance boost during CLI import that queries MusicBrainz
2018-06-06 21:45:38 +02:00
Eliot Berriot
7c47348855
Fix #267 : Do not crash when tag contains multiple uuids with a / separator
2018-06-05 19:44:00 +02:00
Eliot Berriot
18ad6cfa78
Fix #273 : fix_track_files will now update files with bad mimetype
2018-06-03 18:57:35 +02:00
Eliot Berriot
5afc3e4637
Fix #266 : Ensure we do not store bad mimetypes
2018-06-03 18:07:59 +02:00
Eliot Berriot
290cae9a8f
Fix #231 and #219 : ensure we import covers regarless of the import method
...
Can now import covers from track metadata and track directory as well
2018-06-02 17:34:46 +02:00
Eliot Berriot
0f792bf75c
Fix #260 : Implemented scrobble endpoint of subsonic API
2018-06-01 23:59:08 +02:00
Eliot Berriot
8d50743b3b
Fix #258 : Implemented getCovertArt in Subsonic API to serve album covers
2018-06-01 08:42:05 +02:00
Eliot Berriot
dcd150a1f1
See #223 : fixed failing test
2018-05-29 22:54:53 +02:00
Eliot Berriot
7b84a988fd
See #223 : dangerous actions can now prevent executing an action on all objects
2018-05-29 21:55:00 +02:00
Eliot Berriot
c7782693bc
See #223 : api for listing/managing library files
2018-05-29 00:07:20 +02:00
Eliot Berriot
d2c99b9f5d
Merge branch '220-fix-mp3-track-numbers' into 'develop'
...
Resolve "Track numbers from mp3 don't get imported"
Closes #220
See merge request funkwhale/funkwhale!214
2018-05-26 11:40:25 +00:00
David Magnus Henriques
e478bb923e
Improved Unit test
...
The tracknumber and the compilation number are now not identical
anymore
2018-05-26 13:16:20 +02:00
Eliot Berriot
a9799e66d7
See #236 : backend for users default permissions
2018-05-26 12:45:55 +02:00
Eliot Berriot
2ef36928c6
See #236 : added a basic string list preference
2018-05-26 12:45:16 +02:00
Eliot Berriot
c6cd3abf9d
Merge branch '229-anonymous-access' into 'develop'
...
Resolve "Ensure anonymous users can listen to music if instance is configured accordingly"
Closes #229
See merge request funkwhale/funkwhale!211
2018-05-24 20:52:40 +00:00
Eliot Berriot
8d55040e9e
See #230 : users with upload permission can now launch import and manage their own imports
2018-05-24 22:39:43 +02:00
Eliot Berriot
dfb4f5f62a
See #230 : can now use "or" operator to check permissions
2018-05-24 22:38:26 +02:00
Eliot Berriot
2586444db2
Fix #229 : removed last hardcoded settings to protect audio files
2018-05-24 21:34:59 +02:00
Eliot Berriot
9c02954e46
Merge branch 'action-tables' into 'develop'
...
Action table component / implementation on federation library tracks
Closes #164 and #228
See merge request funkwhale/funkwhale!210
2018-05-24 19:11:33 +00:00
Eliot Berriot
eded32c2e8
See #228 : more performante federation import launch via API
2018-05-24 18:53:12 +02:00
Eliot Berriot
4f8db661fa
See #228 : now expose library track status in API
2018-05-24 18:33:40 +02:00
David Magnus Henriques
7ae90305e3
Added test for OggTheora Import
2018-05-23 23:33:19 +02:00
Eliot Berriot
ba4b6f6ba6
See #228 : now use our new action logic for library track import
2018-05-23 21:50:23 +02:00
Eliot Berriot
f1a1b93ee5
See #228 : serializer logic
2018-05-23 19:52:47 +02:00
Eliot Berriot
01ea6562a6
Fix #214 : Do not crash on flac import if musicbrainz tags are missing
2018-05-22 23:53:45 +02:00
Eliot Berriot
54008aa37c
Merge branch '224-music-api' into 'develop'
...
Resolve "Better API for artists/album/tracks"
Closes #224 and #226
See merge request funkwhale/funkwhale!205
2018-05-22 21:04:09 +00:00
Eliot Berriot
857fab526d
See #224 : less clutered music API, better serializers
2018-05-22 21:10:48 +02:00
Eliot Berriot
7b71463ef8
Removed acoustid support, as the integration was buggy and error-prone ( #106 )
2018-05-21 20:55:44 +02:00
Eliot Berriot
fc48e16e65
Fix #218 : Ensure inactive users cannot get auth tokens
2018-05-21 18:45:39 +02:00
Eliot Berriot
ac7db73785
See #152 : added management command to execute one-time migration scripts
2018-05-18 22:18:03 +02:00
Eliot Berriot
6fc4275b68
See #152 : use new user permissions on relevant viewsets
2018-05-18 18:48:46 +02:00
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
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
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
1bc4ceab9e
See #195 : set bitrate, duration and size when importing file
2018-05-15 22:01:52 +02:00
Eliot Berriot
6e168a54ec
Fix #204 : missing dot when downloading file
2018-05-15 19:01:49 +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
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
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
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
e31099ef33
See #75 more subsonic api endpoints (star, unstar, search...)
2018-05-08 21:22: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
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
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
9ec47f1ec9
Added dosctrings to fixtures
2018-04-28 18:39:48 +02:00
Eliot Berriot
7ad21b7d25
Fix #186 : moved high-level settings to database preferences
2018-04-28 12:28:13 +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
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
3d6f0b8b2c
Fix #183 : ensure in place imported files get a proper mimetype
2018-04-27 21:10:35 +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
300e24dbde
Ensure we return correct paths when using Apache as a reverse proxy
2018-04-22 16:34:07 +02:00
Eliot Berriot
6a67bc6fac
Fix #171 : dedicated endpoint to list import jobs, updated front-end
2018-04-22 15:17:06 +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
0d3eb96bec
Fixed failing tests
2018-04-21 16:33:15 +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
f55d2b6c9d
Updated tests
2018-04-17 23:10:46 +02:00
Eliot Berriot
c17f7eefde
Ensure follower is approved to access library
2018-04-17 23:08:15 +02:00
Eliot Berriot
f31874edf5
Implemented followers notification on import and autoimport
2018-04-17 19:35:57 +02:00
Eliot Berriot
adcbe8852d
Tmpfile fixture
2018-04-17 19:35:57 +02:00
Eliot Berriot
5ee1f18089
Fixed failing api test
2018-04-15 11:25:35 +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
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
57bf43bb96
API Endpoint to list lirary tracks
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
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
097707dec4
Added remote library scanning logic end endpoint
2018-04-15 11:24:47 +02:00
Eliot Berriot
836e813955
Typo in test name
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
4320fc77b2
Added validation on collection serializers
2018-04-15 11:24:46 +02:00
Eliot Berriot
6bf4d46362
Ensure we don't duplicate libray tracks
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
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
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
feab0f98ba
Spaces > Tabs
2018-04-05 23:27:03 +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
e0dcb87f15
Follow request approve/refuse logic
2018-04-04 23:12:41 +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
3ad1fe17d5
Test bot can now unfollow
2018-04-03 23:25:44 +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
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
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
e1ebd4988b
Fixed inconsistencies between test and prod requests
2018-03-31 18:40:41 +02:00
Eliot Berriot
de777764da
Fake_request fixture for django requests
2018-03-31 18:39:54 +02:00
Eliot Berriot
46d40c7ffa
Util function to convert django meta to proper headers
2018-03-31 18:39:10 +02: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
22370d1b2c
Use pytest-env plugin to manage test settings instead of settings file
2018-03-31 14:45:11 +02: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
4487eb4cca
Ensure cache cleaning in preferences fixture
2018-03-30 18:01:52 +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
2f473d7570
Added requests-mock dependency and fixture
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
a87a2837db
Fixed failing tests
2018-03-25 22:34:30 +02:00
Eliot Berriot
d310628cb5
refactored tests, no have __init__ everywhere
2018-03-25 22:27:38 +02:00
Eliot Berriot
18d8baae34
API Views/serializers/tests for activity ( #141 )
2018-03-25 17:24:08 +02:00
Eliot Berriot
1f2e14b20e
Use anonymous_user fixture in other tests
2018-03-25 17:18:44 +02:00
Eliot Berriot
2d4003c8c4
anonymoususer test fixture
2018-03-25 17:17:51 +02:00
Eliot Berriot
fce5ee0e7f
Renamed listening end_date to creation_date
2018-03-25 17:17:33 +02:00
Eliot Berriot
f36a9e2ac9
Merge branch '138-import-unicode' into 'develop'
...
Resolve "Importer chokes on files with bad unicode characters"
Closes #138 and #120
See merge request funkwhale/funkwhale!108
2018-03-25 13:46:26 +00: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
4b69d64db2
Fix #139 : We now restrict some usernames from being used during signup
2018-03-24 20:31:36 +01: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
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
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
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
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
d7adaf398f
Can now use nodb_factory fixtue in tests for faster tests
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
639cd5da5b
Moved playlist tests in a dedicated directory
2018-03-20 15:34:32 +01: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
17bda77efb
Fix #111 : allow skipping of acoustid matching
2018-03-06 20:29:32 +01:00
Eliot Berriot
c0ff34e8b3
Fixed failing tests
2018-03-03 23:23:42 +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
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
d875f0d070
Fixed #82 : Basic instance states are now available on /about
2018-02-27 22:38:55 +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
8c7e943013
Fixed #73 : broken file upload
2018-02-26 18:27:41 +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
dcb1915a7b
Can now bind batch to request via API
2018-02-22 23:33:44 +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
24e2555793
Added status field to import batch, it's synced based on jobs
2018-02-21 00:02:09 +01:00
Eliot Berriot
15bdf18705
logged in api client
2018-02-20 23:59:50 +01:00
Eliot Berriot
ddea5f1825
Now store track file mimetype in database
2018-02-18 23:46:15 +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
e7f0c1b88b
Views and logic for custom radios
2018-01-07 22:21:01 +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
3c08722e92
Fixed #56 : invalidate tokens on password change, also added change password form
2017-12-26 15:56:04 +01:00
Eliot Berriot
f1557ac4b9
Fixed #57 : now refresh jwt token on page refresh
2017-12-26 14:47:27 +01:00
Eliot Berriot
099cdfa99c
Fixed #54 : Now use pytest everywhere \o/
2017-12-24 19:15:21 +01:00