Eliot Berriot
0e1203336d
Fixed randomly failing test
2018-06-24 13:56:06 +02:00
Renon
2182227f50
Merge branch '222-update-import' into 'develop'
...
Resolve "Add flag during import to replace already present tracks with new version"
Closes #222
See merge request funkwhale/funkwhale!264
2018-06-22 22:04:06 +00:00
RenonDis
61eb8e4d61
Test for _do_import with replace
2018-06-22 23:50:46 +02:00
RenonDis
8d9499332f
Migration file for ImportJob.replace_if_duplicate
2018-06-22 20:25:15 +02:00
RenonDis
f3f07c1f8d
Updated tasks.py to process replace flag
2018-06-22 20:25:15 +02:00
RenonDis
8103ea541f
cli import files with replace option
2018-06-22 20:25:15 +02:00
RenonDis
bb79d454af
Bypassing cli skip for update flag
2018-06-22 20:24:55 +02:00
Eliot Berriot
9767c8f415
See #190 : API and serializers to manage import requests
2018-06-22 18:25:17 +02:00
Eliot Berriot
afe9ad2c91
Merge branch '248-invite' into 'develop'
...
Resolve "Invite system"
Closes #248
See merge request funkwhale/funkwhale!263
2018-06-21 17:57:54 +00:00
Eliot Berriot
7e442db524
Black/Flake8
2018-06-21 19:51:27 +02:00
Eliot Berriot
46ecc3f103
See #248 : ensure invitation codes are case insensitive
2018-06-21 19:51:26 +02:00
Eliot Berriot
7cfa61292a
See #248 : can now filter on invitation status and delete invitations
2018-06-21 19:51:26 +02:00
Eliot Berriot
7b0148a533
Fixed broken import
2018-06-21 19:51:25 +02:00
Eliot Berriot
bf8b143700
See #248 : better structure for action serializers
2018-06-21 19:51:24 +02:00
Eliot Berriot
107b1ea7dc
See #248 : can now generate and list invitations in the front-end
2018-06-21 19:51:24 +02:00
Eliot Berriot
d18f98e0f8
See #248 : can now sign up using invitation code
2018-06-21 19:29:00 +02:00
Eliot Berriot
789bef38cb
See #248 : model / migration
2018-06-21 19:28:59 +02:00
Renon
7f16491525
Merge branch '242-nargs-import' into 'develop'
...
Resolve "Make the import command accept unlimited argument"
Closes #242
See merge request funkwhale/funkwhale!261
2018-06-21 17:21:25 +00:00
RenonDis
3a2e6c3b6d
Fix #242 : can now provide multiple paths at once when importing
2018-06-21 17:45:18 +02:00
Eliot Berriot
8636b456a8
See #212 : user detail profile
2018-06-19 20:11:40 +02:00
Eliot Berriot
3ef5f29dd3
See #212 : API viewset
2018-06-19 18:48:43 +02:00
Eliot Berriot
2e4f862387
See #212 : record user last activity date
2018-06-17 17:53:40 +02:00
Eliot Berriot
cb1957a961
Version bump and changelog for 0.14.2
2018-06-16 15:04:49 +02:00
Eliot Berriot
98e3bb9cfc
Fix #311 : Ensure radios can only be edited and deleted by their owners
2018-06-16 14:47:34 +02:00
Eliot Berriot
031784556f
Fixed #295 : broken pagination in Subsonic API
2018-06-10 13:34:15 +02:00
Eliot Berriot
d17ceec1f0
See #297 : linting of various, uncommon errors
2018-06-10 12:06:46 +02:00
Eliot Berriot
799386c2b6
See #297 : removed a lot of unused variables
2018-06-10 11:27:38 +02:00
Eliot Berriot
9bea804f14
See #297 : sorted imports
2018-06-10 10:55:16 +02:00
Eliot Berriot
9427f8b56e
See #297 : removed unused imports
2018-06-10 10:39:47 +02:00
Eliot Berriot
639882bd34
See #297 : removed unused variables
2018-06-09 17:41:59 +02:00
Eliot Berriot
62ca3bd736
Blacked the code
2018-06-09 15:36:16 +02:00
Eliot Berriot
73785d451c
Version bump and changelog for 0.14.1
2018-06-06 22:03:36 +02:00
Eliot Berriot
bbae4e323b
Fix #288 : Huge performance boost during CLI import that queries MusicBrainz
2018-06-06 21:45:38 +02:00
Eliot Berriot
9d9676aa17
Fix #237 : Do not crash when importing track with an artist that do not match the release artist
2018-06-06 21:41:38 +02:00
Eliot Berriot
33ae51fc91
Merge branch '274-logging' into 'develop'
...
Resolve "Broken logging formatting in import task"
Closes #274 and #278
See merge request funkwhale/funkwhale!233
2018-06-05 18:55:17 +00:00
Eliot Berriot
b7295382e7
Fix #274 : Broken logging statement during import error
2018-06-05 20:52:03 +02:00
Eliot Berriot
7c47348855
Fix #267 : Do not crash when tag contains multiple uuids with a / separator
2018-06-05 19:44:00 +02:00
Eliot Berriot
a16bd2a409
Merge branch '273-fix-mimetypes' into 'develop'
...
Resolve "Update file_track_files command to handle bad mimetypes"
Closes #273
See merge request funkwhale/funkwhale!226
2018-06-03 17:00:54 +00:00
Eliot Berriot
18ad6cfa78
Fix #273 : fix_track_files will now update files with bad mimetype
2018-06-03 18:57:35 +02:00
Eliot Berriot
36a0a4df4f
Removed transcoding support ( #271 )
2018-06-03 18:33:28 +02:00
Eliot Berriot
5afc3e4637
Fix #266 : Ensure we do not store bad mimetypes
2018-06-03 18:07:59 +02:00
Eliot Berriot
73bde2fc9e
Version bump and changelog for 0.14
2018-06-02 18:11:15 +02:00
Eliot Berriot
290cae9a8f
Fix #231 and #219 : ensure we import covers regarless of the import method
...
Can now import covers from track metadata and track directory as well
2018-06-02 17:34:46 +02:00
Eliot Berriot
5ebaa884c1
Send proper activity when listening is created through subsonic API
2018-06-02 00:11:31 +02:00
Eliot Berriot
0f792bf75c
Fix #260 : Implemented scrobble endpoint of subsonic API
2018-06-01 23:59:08 +02:00
Eliot Berriot
8d50743b3b
Fix #258 : Implemented getCovertArt in Subsonic API to serve album covers
2018-06-01 08:42:05 +02:00
Eliot Berriot
218a92547e
Merge branch '223-management-interface' into 'develop'
...
Resolve "Add a management interface for artists/albums/tracks"
Closes #223 and #241
See merge request funkwhale/funkwhale!216
2018-05-29 21:28:32 +00:00
Eliot Berriot
540c6fb583
Fixed #240 : ignored page_size paremeter on artist and favorites list
2018-05-29 23:21:03 +02:00
Eliot Berriot
1737a75d4e
See #223 : reflect new possibilities of library permission in help text
2018-05-29 22:36:47 +02:00
Eliot Berriot
256d98b77d
See #223 : delete actions is now dangerous anc cannot be applied to all files
2018-05-29 22:22:51 +02:00
Eliot Berriot
7b84a988fd
See #223 : dangerous actions can now prevent executing an action on all objects
2018-05-29 21:55:00 +02:00
Eliot Berriot
c7782693bc
See #223 : api for listing/managing library files
2018-05-29 00:07:20 +02:00
Eliot Berriot
d2c99b9f5d
Merge branch '220-fix-mp3-track-numbers' into 'develop'
...
Resolve "Track numbers from mp3 don't get imported"
Closes #220
See merge request funkwhale/funkwhale!214
2018-05-26 11:40:25 +00:00
David Magnus Henriques
8790631a65
Removed Typo which broke oggVorbis-import
2018-05-26 13:23:08 +02:00
David Magnus Henriques
06a5ee939a
Changed ID3Tag for Track-Number to TRCK
...
Until now the ID3Tag for the Track-Number was read from TPOS.
The Problem is, that TPOS is the part of the set (eg disc number)
and not the track-number. TRCK is the correct tag for the track
number.
Fixes #220
2018-05-26 13:06:40 +02:00
Eliot Berriot
a9799e66d7
See #236 : backend for users default permissions
2018-05-26 12:45:55 +02:00
Eliot Berriot
2ef36928c6
See #236 : added a basic string list preference
2018-05-26 12:45:16 +02:00
Eliot Berriot
c6cd3abf9d
Merge branch '229-anonymous-access' into 'develop'
...
Resolve "Ensure anonymous users can listen to music if instance is configured accordingly"
Closes #229
See merge request funkwhale/funkwhale!211
2018-05-24 20:52:40 +00:00
Eliot Berriot
8d55040e9e
See #230 : users with upload permission can now launch import and manage their own imports
2018-05-24 22:39:43 +02:00
Eliot Berriot
dfb4f5f62a
See #230 : can now use "or" operator to check permissions
2018-05-24 22:38:26 +02:00
Eliot Berriot
ed6c1a9a5b
See #230 : added an upload permission on user model
2018-05-24 22:37:41 +02:00
Eliot Berriot
2586444db2
Fix #229 : removed last hardcoded settings to protect audio files
2018-05-24 21:34:59 +02:00
Eliot Berriot
9c02954e46
Merge branch 'action-tables' into 'develop'
...
Action table component / implementation on federation library tracks
Closes #164 and #228
See merge request funkwhale/funkwhale!210
2018-05-24 19:11:33 +00:00
Eliot Berriot
eded32c2e8
See #228 : more performante federation import launch via API
2018-05-24 18:53:12 +02:00
Eliot Berriot
4f8db661fa
See #228 : now expose library track status in API
2018-05-24 18:33:40 +02:00
David Magnus Henriques
83738e4e04
Reading the musicBrainz-Id-Fields from correct field
2018-05-23 23:32:28 +02:00
EorlBruder
dc76283ebb
Added OggTheora Metadata
...
OggTheora wasn't support up until now. Now the config is there and the
import works
fixes #216
2018-05-23 22:23:59 +02:00
Eliot Berriot
ba4b6f6ba6
See #228 : now use our new action logic for library track import
2018-05-23 21:50:23 +02:00
Eliot Berriot
f1a1b93ee5
See #228 : serializer logic
2018-05-23 19:52:47 +02:00
Eliot Berriot
b36ed8a699
Merge branch '214-flac-no-mbid' into 'develop'
...
Resolve "Flac import fails if no MusicBrainz-ID present"
Closes #214
See merge request funkwhale/funkwhale!208
2018-05-22 21:57:44 +00:00
Eliot Berriot
01ea6562a6
Fix #214 : Do not crash on flac import if musicbrainz tags are missing
2018-05-22 23:53:45 +02:00
Eliot Berriot
47cc2a3920
Fix #179 : fixed broken ordering in front-end lists
2018-05-22 23:30:37 +02:00
Eliot Berriot
54008aa37c
Merge branch '224-music-api' into 'develop'
...
Resolve "Better API for artists/album/tracks"
Closes #224 and #226
See merge request funkwhale/funkwhale!205
2018-05-22 21:04:09 +00:00
Eliot Berriot
a8baf8fa67
See #224 : updated front-end with new music API
2018-05-22 22:22:53 +02:00
Eliot Berriot
857fab526d
See #224 : less clutered music API, better serializers
2018-05-22 21:10:48 +02:00
Eliot Berriot
7b71463ef8
Removed acoustid support, as the integration was buggy and error-prone ( #106 )
2018-05-21 20:55:44 +02:00
Eliot Berriot
ae00cccf14
Fix #207 : Consistent constraints/checks for URL size
2018-05-21 19:04:28 +02:00
Eliot Berriot
d299964c99
0.13: Version bump and changelog
2018-05-19 11:43:19 +02:00
Eliot Berriot
ac7db73785
See #152 : added management command to execute one-time migration scripts
2018-05-18 22:18:03 +02:00
Eliot Berriot
a57d975183
See #152 : updated admin interface
2018-05-18 22:18:02 +02:00
Eliot Berriot
6fc4275b68
See #152 : use new user permissions on relevant viewsets
2018-05-18 18:48:46 +02:00
Eliot Berriot
ff65a4b935
See #152 : added permission fields on user model and corresponding API permission
2018-05-18 18:47:35 +02:00
Eliot Berriot
e7619fd189
See #206 : minor tweaks on settings (wording, input type...)
2018-05-17 23:40:06 +02:00
Eliot Berriot
13c5219d71
See #206 : added API endpoint for managing settings
2018-05-17 23:39:34 +02:00
Eliot Berriot
6608a3153d
Merge branch '200-private-nodeinfo' into 'develop'
...
Resolve "Add a "private" property on nodeinfo"
Closes #200
See merge request funkwhale/funkwhale!198
2018-05-17 18:21:18 +00:00
Eliot Berriot
1974c17e76
Fix #200 : Instances can now indicate on the nodeinfo endpoint if they want to remain private
2018-05-16 22:24:05 +02:00
Eliot Berriot
e852c84007
Fix #197 : .well-known/nodeinfo endpoint can now answer to request with Accept: application/json
2018-05-16 22:10:11 +02:00
Eliot Berriot
a28078753b
See #195 : no update track information when fetching track from federation
2018-05-16 18:55:09 +02:00
Eliot Berriot
3290a15c88
See #195 : expose bitrate, size and duration in subsonic API
2018-05-15 22:46:01 +02:00
Eliot Berriot
8994326634
See #195 : expose bitrate, duration and size in AP audio representations
2018-05-15 22:01:53 +02:00
Eliot Berriot
4b21128e46
See #195 : fix_track_files command can now recompute size, bitrate and duration
2018-05-15 22:01:53 +02:00
Eliot Berriot
af82111ade
Missing select related on trackfile viewset
2018-05-15 22:01:53 +02:00
Eliot Berriot
1bc4ceab9e
See #195 : set bitrate, duration and size when importing file
2018-05-15 22:01:52 +02:00
Eliot Berriot
7425a8ea4d
See #195 : added bitrate and size fields on track file
2018-05-15 22:01:52 +02:00
Eliot Berriot
3415d02028
Fixed wrong mimetype for flac files
2018-05-15 22:01:52 +02:00
Eliot Berriot
5abac103c4
Merge branch '204-missing-dot' into 'develop'
...
Resolve "Missing dot in file name when downloading file"
Closes #204
See merge request funkwhale/funkwhale!194
2018-05-15 17:04:35 +00:00
Eliot Berriot
6e168a54ec
Fix #204 : missing dot when downloading file
2018-05-15 19:01:49 +02:00
Eliot Berriot
8a321d4abe
Fix #201 : escaping issue of track name in playlist modal
2018-05-15 18:37:44 +02:00
Eliot Berriot
ce92747d89
Fix #157 : Can now import and play flac files
...
If you ever need an empty flac file with metadata again:
1. Get a flac file (like https://archive.org/download/NineInchNailsTheSlip24bit96khz/01999999.flac )
2. Tag it with Musicbrainz Picard
3. Truncate it, keeping only tags with `ffmpeg -i in.flac -ss 0 -to 0.001 out.flac`
Thanks @HgO for the trick!
2018-05-15 18:20:24 +02:00
Eliot Berriot
2f44dd0eb7
Merge branch '199-disabled-play' into 'develop'
...
Resolve "Unplayable tracks are not disabled in the interface"
Closes #199
See merge request funkwhale/funkwhale!191
2018-05-13 11:38:11 +00:00
Eliot Berriot
2f5a13a339
Fix #199 : unplayable tracks are now properly disabled in the interface
2018-05-12 10:52:58 +02:00
Eliot Berriot
6f79dd475d
Now return proper error payload on subsonic API
2018-05-12 10:52:58 +02:00
Eliot Berriot
9c9f6708a3
Merge branch '196-fix-filepath-encoding' into 'develop'
...
Resolve "404 for files with special utf-8-chars"
Closes #196
See merge request funkwhale/funkwhale!189
2018-05-12 08:26:02 +00:00
Eliot Berriot
1937b81699
Fix #196 : In-place imported tracks non-ascii characters don't break reverse-proxy serving
2018-05-10 18:52:00 +02:00
Eliot Berriot
190a4357dc
Fix #198 : Removed Python 3.6 dependency (secrets module)
2018-05-10 16:45:45 +02:00
David Magnus Henriques
023c6f6f5e
Encode the Filepath utf-8
...
The filepath of a track gets broken when it contains special
UTF-8-characters. Encoding it UTF-8 fixes this behaviour.
2018-05-10 13:24:26 +02:00
Eliot Berriot
0997aa4b25
0.12 Version bump and changelog
2018-05-09 23:45:14 +02:00
Eliot Berriot
805f9c6bbc
Merge branch '75-subsonic-api' into 'develop'
...
Resolve "Implement the subsonic API"
Closes #75
See merge request funkwhale/funkwhale!188
2018-05-09 21:27:57 +00:00
Eliot Berriot
24cb1d9519
See #75 : user can now manage the Subsonic API token from their settings page
2018-05-09 22:18:33 +02:00
Eliot Berriot
7595936260
See #75 : added a preference do enable/disable the subsonic API on the instance level
2018-05-09 22:13:04 +02:00
Eliot Berriot
67dc414c8a
See #75 : music direcory and indexes endpoints
2018-05-09 20:32:17 +02:00
Eliot Berriot
7c85d1ca81
See #75 : can now add multiple tracks to a playlist on creation and update
2018-05-09 20:31:47 +02:00
Eliot Berriot
1674ad919f
See #75 : implemented subsonic playlist API endpoints
2018-05-08 23:06:47 +02:00
Eliot Berriot
7e9320fc1c
Queryset methods for playlists
2018-05-08 23:06:29 +02:00
Eliot Berriot
e31099ef33
See #75 more subsonic api endpoints (star, unstar, search...)
2018-05-08 21:22:52 +02:00
Eliot Berriot
40cde0cd92
Queryset methods on artist/albums
2018-05-08 21:21:52 +02:00
Eliot Berriot
bbd273404a
See #75 : initial subsonic implementation that works with http://p.subfireplayer.net
2018-05-08 16:32:07 +02:00
Eliot Berriot
9682299480
See #75 : dedicated token for subsonic API access
2018-05-08 16:31:19 +02:00
Eliot Berriot
2ef8723485
Merge branch '192-nodeinfo' into 'develop'
...
Resolve "Use nodeinfo schema for instance statistics"
Closes #192
See merge request funkwhale/funkwhale!187
2018-05-08 07:03:47 +00:00
Eliot Berriot
cdc8388118
See #192 : renamed name to nodeName, and include anonymousCanListen value as well
2018-05-08 09:01:02 +02:00
Eliot Berriot
095b70db4b
See #192 : use proper content type for nodeinfo endpoint
2018-05-07 23:29:07 +02:00
Eliot Berriot
a679f48fcf
See #192 : removed useless localPosts and localComments
2018-05-07 23:26:48 +02:00
Eliot Berriot
d88b7869fe
See #192 : added .well-known/nodeinfo endpoint
2018-05-07 22:28:46 +02:00
Eliot Berriot
6ff8c2c8da
See #192 : use nodeinfo/2.0 namespace to be future proof
2018-05-07 22:28:21 +02:00
Eliot Berriot
b4ad7a4a71
See #192 : replaced old stats endpoint with nodeinfo
2018-05-07 22:09:03 +02:00
Eliot Berriot
23d21b0fdb
Fix #193 : broken federated import
2018-05-07 19:22:09 +02:00
Eliot Berriot
7908ae3942
Version bump and changelog
2018-05-06 16:24:12 +02:00
Eliot Berriot
bc2c9950e3
Fix #189 : federation cache should now delete properly, including orphaned files
2018-05-06 15:36:49 +02:00
Eliot Berriot
f343159856
Added an accessed_date field on TrackFile for easier cache deletion ( #189 )
2018-05-06 15:36:18 +02:00
Eliot Berriot
44ebb92874
See #187 : Front logic for password reset and email confirmation
2018-05-06 12:50:53 +02:00
Eliot Berriot
3b9024129d
See #187 : Front logic for password reset
2018-05-06 11:30:52 +02:00
Eliot Berriot
22f0b1a2d8
See #187 : API logic for password reset
2018-05-06 11:30:41 +02:00
Eliot Berriot
4325b1be4f
Removed radios and listening recording for anonymous users as it was buggy
2018-05-06 11:18:28 +02:00
Eliot Berriot
a3b2125d2a
See #186 : moved api authentication required setting to preference
2018-04-28 06:11:50 +02:00
Eliot Berriot
6100b106c0
See #186 : moved federation settings to preferences
2018-04-28 05:55:21 +02:00
Eliot Berriot
7222f7b710
See #186 : moved PLAYLISTS_MAX_TRACKS to playlists__max_tracks
2018-04-28 05:30:23 +02:00
Eliot Berriot
aa3da412a7
#186 : common utils for moving settings to preferences
2018-04-28 05:28:51 +02:00
Eliot Berriot
f4899c5387
Fix #176 : Can now relaunch erored jobs and batches
2018-04-28 04:59:47 +02:00
Eliot Berriot
6dcde77b1e
Avoid fetching Actor object on every request authentication
2018-04-28 00:25:47 +02:00
Eliot Berriot
42a2ffbf24
Fix #109 : List pending requests by default, added a status filter for requests
2018-04-27 22:23:25 +02:00
Eliot Berriot
7d3da3d757
Added a fix_track_files command to run checks and fixes against library ( #183 )
2018-04-27 21:11:20 +02:00
Eliot Berriot
3d6f0b8b2c
Fix #183 : ensure in place imported files get a proper mimetype
2018-04-27 21:10:35 +02:00
Eliot Berriot
99ff8169fc
Merge branch '178-api-documentation' into 'develop'
...
Resolve "Document important API features"
Closes #178
See merge request funkwhale/funkwhale!166
2018-04-26 16:29:44 +00:00
Eliot Berriot
d2c2fb837e
Now support Bearer auth in complement of JWT
2018-04-26 15:17:51 +02:00
Eliot Berriot
472e9f7605
Added q filter on artists
2018-04-26 14:26:01 +02:00
Eliot Berriot
a49d3b4251
Fixed #182 : X-sendfile not working with in-place imports
2018-04-25 18:50:06 +02:00
Eliot Berriot
7e8972a3b0
Version bump and Changelog
2018-04-23 19:44:38 +02:00
Eliot Berriot
300e24dbde
Ensure we return correct paths when using Apache as a reverse proxy
2018-04-22 16:34:07 +02:00
Eliot Berriot
ad43d160bd
Merge branch '171-import-jobs' into 'develop'
...
Resolve "Dedicated API endpoint for import jobs"
Closes #171
See merge request funkwhale/funkwhale!156
2018-04-22 13:20:07 +00:00
Eliot Berriot
6a67bc6fac
Fix #171 : dedicated endpoint to list import jobs, updated front-end
2018-04-22 15:17:06 +02:00
banana
0f7de68f0d
Update common.py to add USE_APACHE_HEADERS set to false
...
Update views.py to modify headers depending on Nginx or Apache
Update common.py with future proof REVERSE_PROXY_TYPE setting
Update views.py to adapt headers based on REVERSE_PROXY_TYPE
Update views.py, typo on apache
2018-04-22 15:11:04 +02:00
Eliot Berriot
93c57f08f9
Fixed broken youtube-dl import
2018-04-22 12:10:32 +02:00
Eliot Berriot
f4ac0b2d3f
Serve view can now serve in-place imported files
2018-04-21 18:21:15 +02:00
Eliot Berriot
58fced2640
updated import_task to support in place import
2018-04-21 18:20:56 +02:00
Eliot Berriot
de754b835e
Updated CLI to support in-place import
2018-04-21 18:16:43 +02:00
Eliot Berriot
3f3d6d88d6
Make music directory configurable in development
2018-04-21 16:16:43 +02:00
Eliot Berriot
1672230f39
More verbose/robust import_files command, also skips existing files
2018-04-21 16:16:43 +02:00
Eliot Berriot
d98c33e5ed
More efficient SQL query to compute import batch status
2018-04-21 16:02:11 +02:00
Eliot Berriot
e29cfb7301
Smarted UUID validation on metadata
2018-04-21 16:01:42 +02:00
Eliot Berriot
2be46b3320
Fix #142 : Increased max_length on TrackFile.source
2018-04-19 22:25:58 +02:00
Eliot Berriot
ced851891d
Fix #163 : Avoid downloading audio files multiple times from remote libraries
2018-04-19 21:19:40 +02:00
Eliot Berriot
c29a96f244
Fail graciously when AP representation includes a null_value for mediaType
2018-04-18 00:08:31 +02:00
Eliot Berriot
eb275b7e08
Version bump and changelog
2018-04-17 23:20:32 +02:00
Eliot Berriot
c17f7eefde
Ensure follower is approved to access library
2018-04-17 23:08:15 +02:00
Eliot Berriot
899ba31162
Do not fail on library page scan if one item is invalid
2018-04-17 22:58:43 +02:00
Eliot Berriot
14cadce4a6
Allow null values for musicbrainz_id in Audio ActivityPub representation
2018-04-17 21:49:11 +02:00
Eliot Berriot
dd97a9b488
Version bump and changelog
2018-04-17 21:26:58 +02:00
Eliot Berriot
5fee42f896
Can now filter by import status on library tracks
2018-04-17 20:03:31 +02:00
Eliot Berriot
f31874edf5
Implemented followers notification on import and autoimport
2018-04-17 19:35:57 +02:00
Eliot Berriot
fc09a3b320
Can now accept/deny follow requests
2018-04-15 11:25:35 +02:00
Eliot Berriot
ca02aca327
Ensure follower is approved for listening
2018-04-15 11:25:35 +02:00
Eliot Berriot
9b4d7165b7
Added federation libraries list, moved scan to a dedicate view
2018-04-15 11:25:34 +02:00
Eliot Berriot
c20e4d7c9a
Added task to delete unused cached files
2018-04-15 11:25:34 +02:00
Eliot Berriot
6a04779125
Will now fetch and cache federated tracks
2018-04-15 11:25:34 +02:00
Eliot Berriot
3a31248a3d
Can now import library tracks from front-end
2018-04-15 11:25:34 +02:00
Eliot Berriot
2cef58e6c1
Can now search in library tracks
2018-04-15 11:25:34 +02:00
Eliot Berriot
57bf43bb96
API Endpoint to list lirary tracks
2018-04-15 11:25:33 +02:00
Eliot Berriot
bdf9347917
Fixed serialization error
2018-04-15 11:25:33 +02:00
Eliot Berriot
64e88b83f7
Deliver is now a proper celery task
2018-04-15 11:25:33 +02:00
Eliot Berriot
2a4ce0a48c
ActorSerializer is not a modelserializer anymore
2018-04-15 11:25:33 +02:00
Eliot Berriot
dda1cd2531
Added scan endpoint to trigger a scan for a library
2018-04-15 11:25:33 +02:00
Eliot Berriot
077a17b093
Scan task can now handle until
2018-04-15 11:25:33 +02:00
Eliot Berriot
520fb9d078
Started work on library scanning
2018-04-15 11:25:33 +02:00
Eliot Berriot
472cc7e26a
Detail library view with settings update
2018-04-15 11:25:32 +02:00
Eliot Berriot
f4f75dcb4f
Can now scan and follow library from front-end
2018-04-15 11:25:32 +02:00
Eliot Berriot
fe7ca088c5
Library list endpoint
2018-04-15 11:25:32 +02:00
Eliot Berriot
e82a53da35
Added API endpoints to list library followees and followers
2018-04-15 11:25:32 +02:00
Eliot Berriot
3caa03aedf
use a dedicated serializer to handle library creation
2018-04-15 11:25:32 +02:00
Eliot Berriot
0b2fe8439a
Removed too complex FollowRequest model, we now use an aproved field on Follow
2018-04-15 11:25:32 +02:00
Eliot Berriot
c97db31cb1
Include following state in scan payload
2018-04-15 11:25:32 +02:00
Eliot Berriot
f0ef9ea561
Better error handling during scan
2018-04-15 11:25:31 +02:00
Eliot Berriot
238d849298
Can now disable SSL cerification for external requests
2018-04-15 11:25:31 +02:00
Eliot Berriot
097707dec4
Added remote library scanning logic end endpoint
2018-04-15 11:24:47 +02:00
Eliot Berriot
92fa348eac
Federation model admin
2018-04-15 11:24:47 +02:00
Eliot Berriot
206ae296b6
Ensure timeout in requests
2018-04-15 11:24:47 +02:00
Eliot Berriot
b8c7e960c3
Now validate incoming webfinger
2018-04-15 11:24:47 +02:00
Eliot Berriot
314587e2eb
Fixed pagination issue
2018-04-15 11:24:46 +02:00
Eliot Berriot
514e48d3fe
Library can now automatically accept follows
2018-04-15 11:24:46 +02:00
Eliot Berriot
4320fc77b2
Added validation on collection serializers
2018-04-15 11:24:46 +02:00
Eliot Berriot
33972f1f40
Fixed broken uuid migration
2018-04-15 11:24:46 +02:00
Eliot Berriot
e19fbf5436
Exclude federated files from library endpoint
2018-04-15 11:24:46 +02:00
Eliot Berriot
b5ff339efa
We now use a proper user agent including instance version and url during outgoing requests
2018-04-07 16:20:34 +02:00
Eliot Berriot
99200ad077
Merge branch 'federation-follow-request' into 'develop'
...
Federation follow request
See merge request funkwhale/funkwhale!123
2018-04-07 13:55:53 +00:00
Eliot Berriot
bf70fa1f53
Removed now useless private and public keys preferences
2018-04-07 15:53:10 +02:00
Eliot Berriot
e10a82060d
Ensure we delete existing actors to reset private and public keys
2018-04-07 15:39:17 +02:00
Eliot Berriot
9612b1bace
Can now serve track from remote library
2018-04-07 15:34:35 +02:00
Eliot Berriot
b29ca44797
Now store remote library tracks in a dedicated model, this is much simpler
2018-04-07 11:29:40 +02:00
Eliot Berriot
f273faf9de
Added Library model to have more granular federation management
2018-04-06 18:49:29 +02:00
Eliot Berriot
a03f0ffea5
We now have a library browsable via activitypub
2018-04-06 17:59:06 +02:00
Eliot Berriot
393110a7f0
Serializers for paginated collections
2018-04-06 17:58:43 +02:00
Eliot Berriot
4ce9f9bf08
Dedicated permission to access library data via activity pub
2018-04-06 17:58:16 +02:00
Eliot Berriot
b75872866c
Util function to manipulate url params
2018-04-06 17:57:50 +02:00
Eliot Berriot
8db832f03b
Now store source AP track file on track_file
2018-04-06 15:20:53 +02:00
Eliot Berriot
04d710e690
Library can now receive import info from followed instances
2018-04-06 14:53:57 +02:00
Eliot Berriot
80206761a3
Easy and resusable Audio and AudioCollection serializer
2018-04-06 14:33:13 +02:00
Eliot Berriot
679adfe156
See #126 : Added uuid field to all music models
2018-04-06 13:17:26 +02:00
Eliot Berriot
87daa81762
More factories
2018-04-05 23:27:19 +02:00
Eliot Berriot
363acca53d
AudioCollection to import job and track file creation
2018-04-05 23:26:41 +02:00
Eliot Berriot
4d6e894b62
AudioCollection to import job and track file creation
2018-04-05 23:22:28 +02:00
Eliot Berriot
1ca4505e2f
Incremented version number
2018-04-05 16:05:45 +00:00
Eliot Berriot
e0dcb87f15
Follow request approve/refuse logic
2018-04-04 23:12:41 +02:00
Eliot Berriot
cb9309c298
Factorized undo follow
2018-04-04 22:40:57 +02:00
Eliot Berriot
d8f86c4fce
Factorized follow logic between system actors, Library can now accept follows
2018-04-04 19:38:55 +02:00
Eliot Berriot
b833a11fb6
FollowRequest model
2018-04-04 19:38:28 +02:00
Eliot Berriot
3ad1fe17d5
Test bot can now unfollow
2018-04-03 23:25:44 +02:00
Eliot Berriot
81e7f03f77
Now persist actors in database during auth
2018-04-03 23:25:22 +02:00
Eliot Berriot
657bd4b01a
Follow serializer
2018-04-03 23:24:51 +02:00
Eliot Berriot
f19418d2c2
Added follow model and factory
2018-04-03 21:30:15 +02:00
Eliot Berriot
6aa6f1d8f8
Test actor can now follow back
2018-04-03 19:48:50 +02:00
Eliot Berriot
2f6d3ae180
Ensure unicity on actor username and domain
2018-04-03 18:35:08 +02:00
Eliot Berriot
168c4e7d53
system_conf property on Actor instances
2018-04-03 17:36:03 +02:00
Eliot Berriot
a81c92dbf5
Additional setting to control wether music library federation needs approval
2018-04-02 22:43:59 +02:00
Eliot Berriot
48df30dbd8
We now persist system accounts to database
2018-04-02 22:12:28 +02:00
Eliot Berriot
39c5245c1b
Fix #148 : User admin now includes signup and last login dates
2018-04-02 21:08:59 +02:00
Eliot Berriot
28700270bd
Removed factory import
2018-04-02 19:46:25 +02:00
Eliot Berriot
7bb15a3aa1
Merge branch 'federation-inbox' into 'develop'
...
Federation inbox
See merge request funkwhale/funkwhale!121
2018-04-02 17:28:53 +00:00
Eliot Berriot
77c6bd5839
Fixed failing test
2018-04-02 19:15:27 +02:00
Eliot Berriot
a252051351
PoC with receiving /ping from Mastodon and replying pong
2018-04-02 18:07:46 +02:00
Eliot Berriot
3cf1a17087
We are now able to receive a toot and react to it
2018-04-01 22:11:46 +02:00
Eliot Berriot
6fbf8fa44c
Actor factory and fixture
2018-04-01 10:17:06 +02:00
Eliot Berriot
3650c3699b
Minor tweaks (logs, exceptions)
2018-03-31 18:41:53 +02:00
Eliot Berriot
741ab533b1
Added proper header when querying activity pub actor
2018-03-31 18:41:35 +02:00
Eliot Berriot
ee0341ba1a
Ensure we truncate summary
2018-03-31 18:41:15 +02:00
Eliot Berriot
f526f0c1fe
More flexible auth signature factory
2018-03-31 18:41:03 +02:00
Eliot Berriot
e1ebd4988b
Fixed inconsistencies between test and prod requests
2018-03-31 18:40:41 +02:00
Eliot Berriot
b5a4b2ca6a
Added signature authentication on activitypub view
2018-03-31 18:39:32 +02:00
Eliot Berriot
46d40c7ffa
Util function to convert django meta to proper headers
2018-03-31 18:39:10 +02:00
Bat
c4991796e9
Add some pagination to radio details
2018-03-31 16:40:55 +01:00
Eliot Berriot
703d70d544
Use absolute urls
2018-03-31 15:57:29 +02:00
Eliot Berriot
0c8faf83c5
Can now have multiple system actors
...
We also handle webfinger/activity serialization properly
2018-03-31 15:47:21 +02:00
Eliot Berriot
2b9a5ffe18
ActivityPub Actor model
2018-03-31 15:44:35 +02:00
Bat
85aef4422a
Add a detail page for radios
2018-03-31 12:59:45 +01:00
Eliot Berriot
c63b7f929d
Use own requests-http-signing to be compatible with Signature header
2018-03-30 21:59:58 +02:00
Eliot Berriot
74945759cc
Switched from Service to Person for actor representation
2018-03-30 18:34:23 +02:00
Eliot Berriot
abca719d16
More fields on instance actor repr
2018-03-30 18:02:50 +02:00
Eliot Berriot
d8b74b9556
Proper federation namespace and prefix
2018-03-30 18:02:14 +02:00
Eliot Berriot
cde8732dfa
Use proper renderers for activity pub / webfinger
2018-03-29 23:29:56 +02:00
Eliot Berriot
75710638de
Url and views for instance actor and webfinger
2018-03-29 00:00:47 +02:00
Eliot Berriot
e793f8365f
Webfinger utils
2018-03-29 00:00:20 +02:00
Eliot Berriot
90c1d02919
Added FUNKWHALE_HOSTNAME and FEDERATION_HOSTNAME settings
2018-03-29 00:00:01 +02:00
Eliot Berriot
588da6ff33
Can now generate a key pair for the instance
2018-03-28 23:56:44 +02:00
Eliot Berriot
707868d794
Can now fetch public key from actor url
2018-03-28 23:56:44 +02:00
Eliot Berriot
5e901dc5a4
Fixed a bunch of failing tests
2018-03-28 23:54:08 +02:00
Eliot Berriot
85ce220f29
Merge branch 'federation-signing-requests' into 'develop'
...
Federation signing requests
See merge request funkwhale/funkwhale!106
2018-03-26 20:14:28 +00:00
Eliot Berriot
18d8baae34
API Views/serializers/tests for activity ( #141 )
2018-03-25 17:24:08 +02:00
Eliot Berriot
122c39075a
Fixed privacy issue in get_privacy_query utils function
2018-03-25 17:18:22 +02:00
Eliot Berriot
fce5ee0e7f
Renamed listening end_date to creation_date
2018-03-25 17:17:33 +02:00
Eliot Berriot
e99d757b57
Fix #120 : Better error handling during file import
2018-03-25 15:44:48 +02:00
Eliot Berriot
f1cf250e29
Fix #138 : Better handling of utf-8 filenames during file import
2018-03-25 15:40:37 +02:00
Eliot Berriot
4522f5997e
More test cases for request signing and added helpers to verify signature
2018-03-24 16:24:10 +01:00
Eliot Berriot
aa7365b71f
Basic logic for signing/verifying requests
2018-03-24 15:20:15 +01:00
Eliot Berriot
b780bee874
Version bump and changelog
2018-03-21 21:05:03 +01:00
Eliot Berriot
529114c89c
Added missing fields in playlist serializer
2018-03-21 20:56:26 +01:00
Eliot Berriot
71d46e4361
Simplified playlist serializer and ensure update return same payload as detail
2018-03-21 19:03:57 +01:00
Eliot Berriot
6a9a34d244
Can now clear playlist
2018-03-21 12:19:07 +01:00
Eliot Berriot
bf6fe44bed
More filters / ordering option on playlist API
2018-03-21 11:58:11 +01:00
Eliot Berriot
16f631af1a
Performance optimization on playlisttrack serialization
2018-03-20 22:44:28 +01:00
Eliot Berriot
f8b15a3f48
Added API endpoint to insert multiple tracks into playlist
2018-03-20 19:56:42 +01:00
Eliot Berriot
497f81e5ab
Typo in returned api payload
2018-03-20 19:14:45 +01:00
Eliot Berriot
244ebd7ab1
Dropped hard constraint on track indexes and added more tests
2018-03-20 19:14:07 +01:00
Eliot Berriot
f917c5d0c4
Playlist filterset
2018-03-20 15:34:35 +01:00
Eliot Berriot
08b28a7d98
Added playlist tracks count and modification date in API
2018-03-20 15:34:34 +01:00
Eliot Berriot
e87e2654e8
Permissions and db state fixes with new index field
2018-03-20 15:34:34 +01:00
Eliot Berriot
257e67b5a6
New "index" field on playlist tracks, and .insert() metod to manage playlists
2018-03-20 15:34:34 +01:00
Eliot Berriot
8821a1bb43
Removed superfluous mptt requirement
2018-03-20 15:34:33 +01:00
Eliot Berriot
944135e752
Capped number of tracks in playlists
2018-03-20 15:34:33 +01:00
Eliot Berriot
d8486beeb0
Can now list tracks from within playlist endpoint
2018-03-20 15:34:33 +01:00
Eliot Berriot
9a909798e7
Additional permissions checks on playlist views
2018-03-20 15:34:33 +01:00
Eliot Berriot
4f7fa09a78
Playlisttrack factory
2018-03-20 15:34:33 +01:00
Eliot Berriot
367014f70e
Added owner permission to check user has the right to read/update object
2018-03-20 15:34:33 +01:00
Eliot Berriot
3e277aad4f
Added helper to filter queryset by privacy level
2018-03-20 15:34:32 +01:00
Eliot Berriot
2a3f43ecb1
Ensure privacy_level is settable/inherited properly
2018-03-20 15:34:32 +01:00
Eliot Berriot
859f8a0570
Replaced is_public flag by brand new privacy_level field on playlists
2018-03-20 15:34:32 +01:00
Eliot Berriot
9fdbc7b859
factorized privacy_level field
2018-03-20 15:34:32 +01:00
Eliot Berriot
4298c4236e
Fixed #119 : forced redirection to login even with API_AUTHENTICATION_REQUIRED=False
2018-03-15 22:34:20 +01:00
Eliot Berriot
c70ab72bc0
Merge branch '114-exclude-empty-albums' into 'develop'
...
Fix #114 : can now filter artists and albums with no listenable tracks
Closes #114
See merge request funkwhale/funkwhale!83
2018-03-07 22:19:21 +00:00
Eliot Berriot
bfeb86865d
Fix #114 : can now filter artists and albums with no listenable tracks
2018-03-07 23:08:28 +01:00
Eliot Berriot
99a91c1e74
Fix #115 : broken import request admin
2018-03-07 22:36:37 +01:00
Eliot Berriot
ec3e5a4304
Version bump and changelog
2018-03-06 21:56:01 +01:00
Eliot Berriot
20ba6f926a
Merge branch '111-skip-acoustid' into 'develop'
...
Resolve "Allow skip accoustid entirely on music import (CLI)"
Closes #111
See merge request funkwhale/funkwhale!79
2018-03-06 20:54:28 +00:00