Commit Graph

1271 Commits

Author SHA1 Message Date
Eliot Berriot 4781e7821e
Fix #376: Smarter date parsing during import by replacing arrow with pendulum 2018-07-24 23:07:51 +02:00
Eliot Berriot c70a50c80d
Version bump and changelog for 0.16 2018-07-22 22:44:08 +02:00
Eliot Berriot ba76fe9f49
Apply restrictions to username characters during signup 2018-07-22 13:05:43 +02:00
Eliot Berriot 6b16a8b963 Resolve "Have an actor for our users" 2018-07-22 10:20:16 +00:00
Eliot Berriot 25755ad39b
Fixed #384: unfiltered results in favorites API 2018-07-22 11:56:25 +02:00
Eliot Berriot b3ae2040ec
Fix #149: better demo setup script, wider catalog 2018-07-22 11:26:33 +02:00
Eliot Berriot 3a94462bd6
Removed django-cacheops dependency 2018-07-21 12:57:48 +02:00
Eliot Berriot 886680ed15
Fixed weird bug with versatile imgae field 2018-07-21 11:57:37 +02:00
Eliot Berriot 979c554b4a
Use cropped covers/avatars to reduce bandwidth use 2018-07-20 19:17:39 +02:00
Eliot Berriot 99a37dcb7a Resolve "UX, UI : Browse Library" 2018-07-17 11:09:13 +00:00
Eliot Berriot af270f4abd Resolve "An avatar for users" 2018-07-13 12:10:39 +00:00
Eliot Berriot 1458c084a7 Resolve "Funkwhale unable to import Albums with multiple Artists" 2018-07-09 20:47:55 +00:00
Eliot Berriot ce5502cab7 Merge branch '351-empty-name' into 'develop'
Resolve "Ensure artists with empty names are not accepted"

Closes #351

See merge request funkwhale/funkwhale!312
2018-07-09 20:39:12 +00:00
Eliot Berriot 93cd72ff09
Fix #351: Ensure we do not import artists with empty names 2018-07-09 22:35:32 +02:00
Eliot Berriot 252aa31b11
Fix #138: Raise a warning instead of crashing when getting a broken path in file import 2018-07-08 10:33:23 +02:00
Eliot Berriot f156b8791d
Fix #326: Can now order tracks on federated track list 2018-07-06 21:45:51 +02:00
Eliot Berriot 6e709cdcd8
Removed non-breaking spaces and remaining gettext in templates 2018-07-06 20:44:47 +02:00
Eliot Berriot 4428d7401c
Fixed #344: Implemented a basic but functionnal Github-like search on federated tracks list 2018-07-03 08:21:48 +02:00
Eliot Berriot d713ad177b
See #344: query parsing 2018-07-03 08:13:13 +02:00
Eliot Berriot 281bef48bf
Fix #339: Subsonic API login is now case insensitive 2018-06-28 16:47:45 +02:00
Eliot Berriot 9017acdb39
Fix #328: Validate Date header in HTTP Signatures 2018-06-24 19:17:56 +02:00
Eliot Berriot b6ac2dc30a
Version bump and changelog for 0.15 2018-06-24 16:00:26 +02:00
Eliot Berriot 58be852a84 Merge branch '302-private-playlist-show-in-interface' into 'develop'
Resolve "Private playlists not shown in interface"

Closes #302

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

Closes #307

See merge request funkwhale/funkwhale!273
2018-06-24 12:09:58 +00:00
Eliot Berriot 917a6fa12e
FIx #307: Expose track files date in manage API 2018-06-24 14:03:37 +02:00
Eliot Berriot 0e1203336d
Fixed randomly failing test 2018-06-24 13:56:06 +02:00
Renon 2182227f50 Merge branch '222-update-import' into 'develop'
Resolve "Add flag during import to replace already present tracks with new version"

Closes #222

See merge request funkwhale/funkwhale!264
2018-06-22 22:04:06 +00:00
RenonDis 61eb8e4d61 Test for _do_import with replace 2018-06-22 23:50:46 +02:00
RenonDis 8d9499332f
Migration file for ImportJob.replace_if_duplicate 2018-06-22 20:25:15 +02:00
RenonDis f3f07c1f8d
Updated tasks.py to process replace flag 2018-06-22 20:25:15 +02:00
RenonDis 8103ea541f
cli import files with replace option 2018-06-22 20:25:15 +02:00
RenonDis bb79d454af
Bypassing cli skip for update flag 2018-06-22 20:24:55 +02:00
Eliot Berriot 9767c8f415
See #190: API and serializers to manage import requests 2018-06-22 18:25:17 +02:00
Eliot Berriot afe9ad2c91 Merge branch '248-invite' into 'develop'
Resolve "Invite system"

Closes #248

See merge request funkwhale/funkwhale!263
2018-06-21 17:57:54 +00:00
Eliot Berriot 7e442db524
Black/Flake8 2018-06-21 19:51:27 +02:00
Eliot Berriot 46ecc3f103
See #248: ensure invitation codes are case insensitive 2018-06-21 19:51:26 +02:00
Eliot Berriot 7cfa61292a
See #248: can now filter on invitation status and delete invitations 2018-06-21 19:51:26 +02:00
Eliot Berriot 7b0148a533
Fixed broken import 2018-06-21 19:51:25 +02:00
Eliot Berriot bf8b143700
See #248: better structure for action serializers 2018-06-21 19:51:24 +02:00
Eliot Berriot 107b1ea7dc
See #248: can now generate and list invitations in the front-end 2018-06-21 19:51:24 +02:00
Eliot Berriot d18f98e0f8
See #248: can now sign up using invitation code 2018-06-21 19:29:00 +02:00
Eliot Berriot 789bef38cb
See #248: model / migration 2018-06-21 19:28:59 +02:00
Renon 7f16491525 Merge branch '242-nargs-import' into 'develop'
Resolve "Make the import command accept unlimited argument"

Closes #242

See merge request funkwhale/funkwhale!261
2018-06-21 17:21:25 +00:00
RenonDis 3a2e6c3b6d
Fix #242: can now provide multiple paths at once when importing 2018-06-21 17:45:18 +02:00
Eliot Berriot 8636b456a8
See #212: user detail profile 2018-06-19 20:11:40 +02:00
Eliot Berriot 3ef5f29dd3
See #212: API viewset 2018-06-19 18:48:43 +02:00
Eliot Berriot 2e4f862387
See #212: record user last activity date 2018-06-17 17:53:40 +02:00
Eliot Berriot cb1957a961
Version bump and changelog for 0.14.2 2018-06-16 15:04:49 +02:00
Eliot Berriot 98e3bb9cfc
Fix #311: Ensure radios can only be edited and deleted by their owners 2018-06-16 14:47:34 +02:00
Eliot Berriot 031784556f
Fixed #295: broken pagination in Subsonic API 2018-06-10 13:34:15 +02:00
Eliot Berriot d17ceec1f0
See #297: linting of various, uncommon errors 2018-06-10 12:06:46 +02:00
Eliot Berriot 799386c2b6
See #297: removed a lot of unused variables 2018-06-10 11:27:38 +02:00
Eliot Berriot 9bea804f14
See #297: sorted imports 2018-06-10 10:55:16 +02:00
Eliot Berriot 9427f8b56e
See #297: removed unused imports 2018-06-10 10:39:47 +02:00
Eliot Berriot 639882bd34
See #297: removed unused variables 2018-06-09 17:41:59 +02:00
Eliot Berriot 62ca3bd736
Blacked the code 2018-06-09 15:36:16 +02:00
Eliot Berriot 73785d451c
Version bump and changelog for 0.14.1 2018-06-06 22:03:36 +02:00
Eliot Berriot bbae4e323b
Fix #288: Huge performance boost during CLI import that queries MusicBrainz 2018-06-06 21:45:38 +02:00
Eliot Berriot 9d9676aa17
Fix #237: Do not crash when importing track with an artist that do not match the release artist 2018-06-06 21:41:38 +02:00
Eliot Berriot 33ae51fc91 Merge branch '274-logging' into 'develop'
Resolve "Broken logging formatting in import task"

Closes #274 and #278

See merge request funkwhale/funkwhale!233
2018-06-05 18:55:17 +00:00
Eliot Berriot b7295382e7
Fix #274: Broken logging statement during import error 2018-06-05 20:52:03 +02:00
Eliot Berriot 7c47348855
Fix #267: Do not crash when tag contains multiple uuids with a / separator 2018-06-05 19:44:00 +02:00
Eliot Berriot a16bd2a409 Merge branch '273-fix-mimetypes' into 'develop'
Resolve "Update file_track_files command to handle bad mimetypes"

Closes #273

See merge request funkwhale/funkwhale!226
2018-06-03 17:00:54 +00:00
Eliot Berriot 18ad6cfa78
Fix #273: fix_track_files will now update files with bad mimetype 2018-06-03 18:57:35 +02:00
Eliot Berriot 36a0a4df4f
Removed transcoding support (#271) 2018-06-03 18:33:28 +02:00
Eliot Berriot 5afc3e4637
Fix #266: Ensure we do not store bad mimetypes 2018-06-03 18:07:59 +02:00
Eliot Berriot 73bde2fc9e
Version bump and changelog for 0.14 2018-06-02 18:11:15 +02:00
Eliot Berriot 290cae9a8f
Fix #231 and #219: ensure we import covers regarless of the import method
Can now import covers from track metadata and track directory as well
2018-06-02 17:34:46 +02:00
Eliot Berriot 5ebaa884c1
Send proper activity when listening is created through subsonic API 2018-06-02 00:11:31 +02:00
Eliot Berriot 0f792bf75c
Fix #260: Implemented scrobble endpoint of subsonic API 2018-06-01 23:59:08 +02:00
Eliot Berriot 8d50743b3b
Fix #258: Implemented getCovertArt in Subsonic API to serve album covers 2018-06-01 08:42:05 +02:00
Eliot Berriot 218a92547e Merge branch '223-management-interface' into 'develop'
Resolve "Add a management interface for artists/albums/tracks"

Closes #223 and #241

See merge request funkwhale/funkwhale!216
2018-05-29 21:28:32 +00:00
Eliot Berriot 540c6fb583
Fixed #240: ignored page_size paremeter on artist and favorites list 2018-05-29 23:21:03 +02:00
Eliot Berriot 1737a75d4e
See #223: reflect new possibilities of library permission in help text 2018-05-29 22:36:47 +02:00
Eliot Berriot 256d98b77d
See #223: delete actions is now dangerous anc cannot be applied to all files 2018-05-29 22:22:51 +02:00
Eliot Berriot 7b84a988fd
See #223: dangerous actions can now prevent executing an action on all objects 2018-05-29 21:55:00 +02:00
Eliot Berriot c7782693bc
See #223: api for listing/managing library files 2018-05-29 00:07:20 +02:00
Eliot Berriot d2c99b9f5d Merge branch '220-fix-mp3-track-numbers' into 'develop'
Resolve "Track numbers from mp3 don't get imported"

Closes #220

See merge request funkwhale/funkwhale!214
2018-05-26 11:40:25 +00:00
David Magnus Henriques 8790631a65 Removed Typo which broke oggVorbis-import 2018-05-26 13:23:08 +02:00
David Magnus Henriques 06a5ee939a Changed ID3Tag for Track-Number to TRCK
Until now the ID3Tag for the Track-Number was read from TPOS.
The Problem is, that TPOS is the part of the set (eg disc number)
and not the track-number. TRCK is the correct tag for the track
number.

Fixes #220
2018-05-26 13:06:40 +02:00
Eliot Berriot a9799e66d7
See #236: backend for users default permissions 2018-05-26 12:45:55 +02:00
Eliot Berriot 2ef36928c6
See #236: added a basic string list preference 2018-05-26 12:45:16 +02:00
Eliot Berriot c6cd3abf9d Merge branch '229-anonymous-access' into 'develop'
Resolve "Ensure anonymous users can listen to music if instance is configured accordingly"

Closes #229

See merge request funkwhale/funkwhale!211
2018-05-24 20:52:40 +00:00
Eliot Berriot 8d55040e9e
See #230: users with upload permission can now launch import and manage their own imports 2018-05-24 22:39:43 +02:00
Eliot Berriot dfb4f5f62a
See #230: can now use "or" operator to check permissions 2018-05-24 22:38:26 +02:00
Eliot Berriot ed6c1a9a5b
See #230: added an upload permission on user model 2018-05-24 22:37:41 +02:00
Eliot Berriot 2586444db2
Fix #229: removed last hardcoded settings to protect audio files 2018-05-24 21:34:59 +02:00
Eliot Berriot 9c02954e46 Merge branch 'action-tables' into 'develop'
Action table component / implementation on federation library tracks

Closes #164 and #228

See merge request funkwhale/funkwhale!210
2018-05-24 19:11:33 +00:00
Eliot Berriot eded32c2e8
See #228: more performante federation import launch via API 2018-05-24 18:53:12 +02:00
Eliot Berriot 4f8db661fa
See #228: now expose library track status in API 2018-05-24 18:33:40 +02:00
David Magnus Henriques 83738e4e04 Reading the musicBrainz-Id-Fields from correct field 2018-05-23 23:32:28 +02:00
EorlBruder dc76283ebb Added OggTheora Metadata
OggTheora wasn't support up until now. Now the config is there and the
import works

fixes #216
2018-05-23 22:23:59 +02:00
Eliot Berriot ba4b6f6ba6
See #228: now use our new action logic for library track import 2018-05-23 21:50:23 +02:00
Eliot Berriot f1a1b93ee5
See #228: serializer logic 2018-05-23 19:52:47 +02:00
Eliot Berriot b36ed8a699 Merge branch '214-flac-no-mbid' into 'develop'
Resolve "Flac import fails if no MusicBrainz-ID present"

Closes #214

See merge request funkwhale/funkwhale!208
2018-05-22 21:57:44 +00:00
Eliot Berriot 01ea6562a6
Fix #214: Do not crash on flac import if musicbrainz tags are missing 2018-05-22 23:53:45 +02:00
Eliot Berriot 47cc2a3920
Fix #179: fixed broken ordering in front-end lists 2018-05-22 23:30:37 +02:00
Eliot Berriot 54008aa37c Merge branch '224-music-api' into 'develop'
Resolve "Better API for artists/album/tracks"

Closes #224 and #226

See merge request funkwhale/funkwhale!205
2018-05-22 21:04:09 +00:00
Eliot Berriot a8baf8fa67
See #224: updated front-end with new music API 2018-05-22 22:22:53 +02:00
Eliot Berriot 857fab526d
See #224: less clutered music API, better serializers 2018-05-22 21:10:48 +02:00
Eliot Berriot 7b71463ef8
Removed acoustid support, as the integration was buggy and error-prone (#106) 2018-05-21 20:55:44 +02:00
Eliot Berriot ae00cccf14
Fix #207: Consistent constraints/checks for URL size 2018-05-21 19:04:28 +02:00
Eliot Berriot d299964c99
0.13: Version bump and changelog 2018-05-19 11:43:19 +02:00
Eliot Berriot ac7db73785
See #152: added management command to execute one-time migration scripts 2018-05-18 22:18:03 +02:00
Eliot Berriot a57d975183
See #152: updated admin interface 2018-05-18 22:18:02 +02:00
Eliot Berriot 6fc4275b68
See #152: use new user permissions on relevant viewsets 2018-05-18 18:48:46 +02:00
Eliot Berriot ff65a4b935
See #152: added permission fields on user model and corresponding API permission 2018-05-18 18:47:35 +02:00
Eliot Berriot e7619fd189
See #206: minor tweaks on settings (wording, input type...) 2018-05-17 23:40:06 +02:00
Eliot Berriot 13c5219d71
See #206: added API endpoint for managing settings 2018-05-17 23:39:34 +02:00
Eliot Berriot 6608a3153d Merge branch '200-private-nodeinfo' into 'develop'
Resolve "Add a "private" property on nodeinfo"

Closes #200

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

Closes #204

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

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

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

Closes #199

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

Closes #196

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

Closes #75

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

Closes #192

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

Closes #178

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

Closes #171

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

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

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

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

Closes #114

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

Closes #111

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

Closes #80

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

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