Eliot Berriot
314765de7c
Fix #546 : Ensure from_activity field is not required in django's admin
2018-10-01 21:43:33 +02:00
Eliot Berriot
1aa9b557d1
Merge branch 'subsonic-user-libraries' into 'develop'
...
Subsonic user libraries
See merge request funkwhale/funkwhale!428
2018-10-01 19:22:14 +00:00
Eliot Berriot
47aa209df2
See !368 : ensure we filter playable entities in subsonic API
2018-10-01 21:16:11 +02:00
Eliot Berriot
224fa4bfbf
use proper pymemoize release instead of our fork
2018-10-01 19:37:58 +02:00
Eliot Berriot
02006270cd
See #542 : fixed issue with empty actor during upgrade script
2018-10-01 19:16:48 +02:00
Eliot Berriot
e8cab269b1
See #542 : ensure install_os_dependencies.sh is runnable from anywhere
2018-10-01 19:16:48 +02:00
Eliot Berriot
62c98b2386
See #542 : Removed import requests code
2018-10-01 19:16:47 +02:00
Eliot Berriot
42933fa138
Merge branch 'cleanup-017' into 'develop'
...
Cleanup unused code
See merge request funkwhale/funkwhale!426
2018-09-28 20:55:37 +00:00
Eliot Berriot
f5373a9dbf
Cleanup unused code
2018-09-28 22:49:59 +02:00
Eliot Berriot
ec3fcefabf
Ensure radio tracks only return playable tracks
2018-09-28 22:19:43 +02:00
Eliot Berriot
4d425e92ee
Merge branch 'federation-cache-cleaning' into 'develop'
...
Ensure cache_cleaning only targets remote files
See merge request funkwhale/funkwhale!424
2018-09-28 19:36:38 +00:00
Eliot Berriot
428de17817
Ensure cache_cleaning only targets remote files
2018-09-28 21:30:45 +02:00
Eliot Berriot
762b9f73ad
Merge branch 'disable-federation' into 'develop'
...
Do not deliver anything to remote instances when federation is disabled
See merge request funkwhale/funkwhale!423
2018-09-28 19:25:11 +00:00
Eliot Berriot
b028f3f817
Do not deliver anything to remote instances when federation is disabled
2018-09-28 21:19:37 +02:00
Eliot Berriot
58333b5967
Failing test
2018-09-28 21:08:58 +02:00
Eliot Berriot
6572db3a83
Failing test
2018-09-28 21:05:43 +02:00
Eliot Berriot
508873dffb
Lining
2018-09-28 20:50:28 +02:00
Eliot Berriot
54972e489b
Fixed unplayable playlists (bis repetita)
2018-09-28 20:46:18 +02:00
Eliot Berriot
d000a1329f
Can now update user quota in UI
2018-09-28 20:45:31 +02:00
Eliot Berriot
c641b8f500
Linting
2018-09-28 16:48:26 +02:00
Eliot Berriot
34373d020c
Fixed unplayable playlists
2018-09-28 16:45:28 +02:00
Eliot Berriot
59337fb5d8
Fixed import issue with empty album artist
2018-09-26 19:58:08 +02:00
Eliot Berriot
0d96e75eeb
Do not silent import errors
2018-09-26 19:23:15 +02:00
Eliot Berriot
527edc1e1e
Minor fixes
2018-09-25 22:52:09 +02:00
Eliot Berriot
b6e376ed0a
0.17 release documentation initial draft and migration script
2018-09-25 20:18:02 +00:00
Eliot Berriot
125d0eed5e
Federation scanning
2018-09-24 18:44:22 +00:00
Eliot Berriot
1bee3a4675
Import trust source
2018-09-23 12:38:42 +00:00
Eliot Berriot
3e49b2057a
CLI for importing files with user libraries
2018-09-22 15:47:17 +00:00
Eliot Berriot
e49a460203
Audio federation
2018-09-22 12:29:30 +00:00
Eliot Berriot
ecd395d6b0
Library follows and user notifications
2018-09-13 15:18:23 +00:00
Eliot Berriot
2ea21994ee
Resolve "Per-user libraries" (use !368 instead)
2018-09-06 18:35:02 +00:00
Eliot Berriot
14d8224db4
Merge branch 'develop' into 'develop'
...
Add support for setting the musicbrainz hostname
Closes #471
See merge request funkwhale/funkwhale!394
2018-08-31 20:46:04 +00:00
Toke Høiland-Jørgensen
cb5b3be844
Add support for setting the musicbrainz hostname
...
Useful for using a local musicbrainz mirror.
Fixes #471 .
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-31 22:36:12 +02:00
Eliot Berriot
330d8c21b4
Merge branch 'develop' into 'develop'
...
Add support for Opus files
Closes #244
See merge request funkwhale/funkwhale!390
2018-08-31 18:58:24 +00:00
Toke Høiland-Jørgensen
7d9220ed49
subsonic: Implement getSong API endpoint
...
The getSong API endpoint is used by, e.g., the subsonic plugin to mopidy.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-30 14:21:11 +02:00
Toke Høiland-Jørgensen
8193782f68
subsonic: Don't crash when serialising artist with no name
...
If the name of an artist is not set, the serialiser will crash. Instead,
just skip such an artist when serialising a list of artists.
Also add test for serialising an artist with an empty name.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-30 14:18:17 +02:00
Toke Høiland-Jørgensen
2f46d83834
subsonic: Catch ValueError when casting input parameters
...
A failed cast to int will raise ValueError, which is not currently caught
by the error checking code, leading to a crash. Fix this so a proper error
message can be returned.
Also add test for getting artist with non-numeric ID.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-30 14:18:02 +02:00
Toke Høiland-Jørgensen
3ce3451d35
tests: Add metadata test with opus file
...
This adds a metadata test case for extracting data from an opus test
file. The added file is just converted from test.ogg and the same
metadata fields are used.
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-29 21:23:50 +02:00
Toke Høiland-Jørgensen
0d128d40d5
Add support for Opus files
...
This adds support for reading metadata from Opus files. The metadata config
is copied from OggVorbis with just the 'track' field name changed.
Also make sure get_audio_file_data() in music/utils.py doesn't crash if no
bitrate information is set, since mutagen doesn't add a bitrate to Opus
info objects.
Fixes #244 .
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-29 21:23:50 +02:00
Joshua M. Boniface
4ce46ff2a0
Implement LDAP authentication
2018-08-22 18:10:39 +00:00
Eliot Berriot
9875e81c76
Version bump and changelog for 0.16.3
2018-08-21 20:34:06 +02:00
Eliot Berriot
658de6fe84
Version bump and changelog for 0.16.2
2018-08-21 19:03:00 +02:00
Eliot Berriot
19ace8dd40
Fixed #494 : CLI importer syntax error because of async reserved keyword usage
2018-08-21 18:30:31 +02:00
Eliot Berriot
123569b90b
Version bump and changelog for 0.16.1
2018-08-19 19:04:48 +02:00
Eliot Berriot
71c70cee39
Fixed #478 : Removed release date error in case of empty date
2018-08-19 17:52:04 +02:00
Eliot Berriot
b9761d6436
Fixed #397 : broken federation import on big imports due to missing transaction logic
2018-08-19 17:41:19 +02:00
Eliot Berriot
13a1c6daac
Fixed #487 : typos in scheduled tasks configuration
2018-08-19 16:25:42 +02:00
Eliot Berriot
4781e7821e
Fix #376 : Smarter date parsing during import by replacing arrow with pendulum
2018-07-24 23:07:51 +02:00
Eliot Berriot
c70a50c80d
Version bump and changelog for 0.16
2018-07-22 22:44:08 +02:00
Eliot Berriot
ba76fe9f49
Apply restrictions to username characters during signup
2018-07-22 13:05:43 +02:00
Eliot Berriot
6b16a8b963
Resolve "Have an actor for our users"
2018-07-22 10:20:16 +00:00
Eliot Berriot
25755ad39b
Fixed #384 : unfiltered results in favorites API
2018-07-22 11:56:25 +02:00
Eliot Berriot
b3ae2040ec
Fix #149 : better demo setup script, wider catalog
2018-07-22 11:26:33 +02:00
Eliot Berriot
3a94462bd6
Removed django-cacheops dependency
2018-07-21 12:57:48 +02:00
Eliot Berriot
886680ed15
Fixed weird bug with versatile imgae field
2018-07-21 11:57:37 +02:00
Eliot Berriot
27d54ee971
Merge branch 'playlist-perfs' into 'develop'
...
Use smaller images when possible to increase performance on client-side
See merge request funkwhale/funkwhale!328
2018-07-20 17:24:53 +00:00
Eliot Berriot
979c554b4a
Use cropped covers/avatars to reduce bandwidth use
2018-07-20 19:17:39 +02:00
Eliot Berriot
ba5c3bfc90
Update common.py with more blacklisted usernames
2018-07-19 10:49:01 +00: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
663c6238dc
Merge branch '344-query-language' into 'develop'
...
Resolve "Smarter query language in search bar"
Closes #344
See merge request funkwhale/funkwhale!301
2018-07-04 15:37:52 +00: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
Reg
14919e27c7
[doc] Arch Linux installation: OS requirements
2018-07-02 20:07:54 +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
ed305a2c7c
Fixed broken configure
2018-06-10 18:59:40 +02:00
Eliot Berriot
031784556f
Fixed #295 : broken pagination in Subsonic API
2018-06-10 13:34:15 +02:00
Eliot Berriot
77c0b2b1a2
See #297 : added black as a local dependency, more verbose check in CI
2018-06-10 12:13:02 +02:00
Eliot Berriot
d17ceec1f0
See #297 : linting of various, uncommon errors
2018-06-10 12:06:46 +02:00
Eliot Berriot
ab80dffeea
See #297 : sorted config imports
2018-06-10 11:29:24 +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
14c8073e26
Ensure we can serve images securely locally
2018-06-02 09:17:32 +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
dcd150a1f1
See #223 : fixed failing test
2018-05-29 22:54:53 +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
2569f136b7
Fix #241 : autoremove media files on model instance deletion
2018-05-28 22:17:36 +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
e478bb923e
Improved Unit test
...
The tracknumber and the compilation number are now not identical
anymore
2018-05-26 13:16:20 +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
7ae90305e3
Added test for OggTheora Import
2018-05-23 23:33:19 +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
f91ec0c810
Upgraded to django-allauth 0.36
2018-05-21 18:46:39 +02:00
Eliot Berriot
fc48e16e65
Fix #218 : Ensure inactive users cannot get auth tokens
2018-05-21 18:45:39 +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
b3a6c6d77f
Merge branch '205-html-renderer' into 'develop'
...
Resolve "Disable HTML API renderer in production"
Closes #205
See merge request funkwhale/funkwhale!195
2018-05-15 17:10:04 +00:00
Eliot Berriot
155a40e296
Fixed #205 : Disabled browsable HTML API in production
2018-05-15 19:06:08 +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
12638e1d82
Updated demo script
2018-05-09 23:24:51 +02: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
82f5dc20f3
Documentation for missing DEFAULT_FROM_EMAIL setting
2018-05-06 16:23:23 +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
4a7105ae7e
Fix #187 : documentation and changelog for email configuration
2018-05-06 13:48:23 +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
929b50183a
Now reset cookie on profile fetch, to avoid CSRF bugs
2018-05-06 11:21:36 +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
29645aab1d
Added documentation page on how to reduce memory usage.
2018-04-28 16:17:29 +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
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
c4777532eb
Bundle swagger docs with sphinx docs
2018-04-26 18:22:47 +02:00
Eliot Berriot
d2c2fb837e
Now support Bearer auth in complement of JWT
2018-04-26 15:17:51 +02:00
Eliot Berriot
2477aa31f9
Initial swagger setup
2018-04-26 14:30:26 +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
84c3b531ad
Pinned oauthlib2 version to prevent when fetching youtube data
2018-04-22 11:27:26 +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
a8bf44a494
Added dedicated settings to manage in-place import
2018-04-21 18:15:29 +02:00
Eliot Berriot
0d3eb96bec
Fixed failing tests
2018-04-21 16:33:15 +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
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
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
a37183f57e
Additional celery beat systemd unit file
2018-04-17 21:26:35 +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
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
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
6c0a43a0ea
We can now work on federation locally thank to traefik
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
836e813955
Typo in test name
2018-04-15 11:24:47 +02:00