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