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
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
6bf4d46362
Ensure we don't duplicate libray tracks
2018-04-15 11:24:46 +02:00
Eliot Berriot
e19fbf5436
Exclude federated files from library endpoint
2018-04-15 11:24:46 +02:00
Eliot Berriot
b5ff339efa
We now use a proper user agent including instance version and url during outgoing requests
2018-04-07 16:20:34 +02:00
Eliot Berriot
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
feab0f98ba
Spaces > Tabs
2018-04-05 23:27:03 +02:00
Eliot Berriot
363acca53d
AudioCollection to import job and track file creation
2018-04-05 23:26:41 +02:00
Eliot Berriot
4d6e894b62
AudioCollection to import job and track file creation
2018-04-05 23:22:28 +02:00
Eliot Berriot
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
de777764da
Fake_request fixture for django requests
2018-03-31 18:39:54 +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
99e7e98bae
Fixed broken dev entrypoint
2018-03-31 16:25:23 +02:00
Eliot Berriot
703d70d544
Use absolute urls
2018-03-31 15:57:29 +02:00
Eliot Berriot
0c8faf83c5
Can now have multiple system actors
...
We also handle webfinger/activity serialization properly
2018-03-31 15:47:21 +02:00
Eliot Berriot
6c3b7ce154
More reserved usernames
2018-03-31 15:44:46 +02:00
Eliot Berriot
2b9a5ffe18
ActivityPub Actor model
2018-03-31 15:44:35 +02:00
Eliot Berriot
22370d1b2c
Use pytest-env plugin to manage test settings instead of settings file
2018-03-31 14:45:11 +02:00
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
4487eb4cca
Ensure cache cleaning in preferences fixture
2018-03-30 18:01:52 +02:00
Eliot Berriot
cde8732dfa
Use proper renderers for activity pub / webfinger
2018-03-29 23:29:56 +02:00
Eliot Berriot
75710638de
Url and views for instance actor and webfinger
2018-03-29 00:00:47 +02:00
Eliot Berriot
e793f8365f
Webfinger utils
2018-03-29 00:00:20 +02:00
Eliot Berriot
90c1d02919
Added FUNKWHALE_HOSTNAME and FEDERATION_HOSTNAME settings
2018-03-29 00:00:01 +02:00
Eliot Berriot
588da6ff33
Can now generate a key pair for the instance
2018-03-28 23:56:44 +02:00
Eliot Berriot
707868d794
Can now fetch public key from actor url
2018-03-28 23:56:44 +02:00
Eliot Berriot
2f473d7570
Added requests-mock dependency and fixture
2018-03-28 23:56:44 +02:00
Eliot Berriot
5e901dc5a4
Fixed a bunch of failing tests
2018-03-28 23:54:08 +02:00
Eliot Berriot
85ce220f29
Merge branch 'federation-signing-requests' into 'develop'
...
Federation signing requests
See merge request funkwhale/funkwhale!106
2018-03-26 20:14:28 +00:00
Eliot Berriot
4612a8a560
Merge branch '121-upgrade-to-python36' into 'develop'
...
Resolve "Random issue on import"
Closes #121
See merge request funkwhale/funkwhale!113
2018-03-25 21:32:44 +00:00
Eliot Berriot
5e1dce5883
Fix #121 : Upgraded to Python 3.6 to fix weird but harmless weakref error on django task
2018-03-25 23:30:46 +02:00
Eliot Berriot
e1bdd14fff
Fix #140 : Better error messages in case of missing environment variable
2018-03-25 23:05:46 +02:00
Eliot Berriot
c2985b7dba
Merge branch 'coverage' into 'develop'
...
Compute coverage on API tests
See merge request funkwhale/funkwhale!111
2018-03-25 20:50:30 +00:00
Eliot Berriot
82aa8c4e22
Compute coverage on API tests
2018-03-25 22:45:37 +02:00
Eliot Berriot
32e3d82738
Switched to psycopg2-binary to avoid warning
2018-03-25 22:42:14 +02:00
Eliot Berriot
a87a2837db
Fixed failing tests
2018-03-25 22:34:30 +02:00
Eliot Berriot
d310628cb5
refactored tests, no have __init__ everywhere
2018-03-25 22:27:38 +02:00
Eliot Berriot
18d8baae34
API Views/serializers/tests for activity ( #141 )
2018-03-25 17:24:08 +02:00
Eliot Berriot
1f2e14b20e
Use anonymous_user fixture in other tests
2018-03-25 17:18:44 +02:00
Eliot Berriot
122c39075a
Fixed privacy issue in get_privacy_query utils function
2018-03-25 17:18:22 +02:00
Eliot Berriot
2d4003c8c4
anonymoususer test fixture
2018-03-25 17:17:51 +02:00
Eliot Berriot
fce5ee0e7f
Renamed listening end_date to creation_date
2018-03-25 17:17:33 +02:00
Eliot Berriot
f36a9e2ac9
Merge branch '138-import-unicode' into 'develop'
...
Resolve "Importer chokes on files with bad unicode characters"
Closes #138 and #120
See merge request funkwhale/funkwhale!108
2018-03-25 13:46:26 +00:00
Eliot Berriot
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
952407d173
Merge branch '139-restrict-usernames' into 'develop'
...
Resolve "Allow restricting allowed usernames"
Closes #139
See merge request funkwhale/funkwhale!107
2018-03-24 19:33:38 +00:00
Eliot Berriot
4b69d64db2
Fix #139 : We now restrict some usernames from being used during signup
2018-03-24 20:31:36 +01:00
Eliot Berriot
4522f5997e
More test cases for request signing and added helpers to verify signature
2018-03-24 16:24:10 +01:00
Eliot Berriot
aa7365b71f
Basic logic for signing/verifying requests
2018-03-24 15:20:15 +01:00
Eliot Berriot
a890bc490b
Ensure we update all requirements when installing from pip/requirements.txt
2018-03-23 12:10:18 +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
1729c4f83e
250 is a saner default for playlist size
2018-03-20 19:55:36 +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
15300e255c
Removed pytest warning
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
d7adaf398f
Can now use nodb_factory fixtue in tests for faster tests
2018-03-20 15:34:33 +01:00
Eliot Berriot
367014f70e
Added owner permission to check user has the right to read/update object
2018-03-20 15:34:33 +01:00
Eliot Berriot
3e277aad4f
Added helper to filter queryset by privacy level
2018-03-20 15:34:32 +01:00
Eliot Berriot
2a3f43ecb1
Ensure privacy_level is settable/inherited properly
2018-03-20 15:34:32 +01:00
Eliot Berriot
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
639cd5da5b
Moved playlist tests in a dedicated directory
2018-03-20 15:34:32 +01:00
Eliot Berriot
cec0dcfc12
Merge branch '119-login-redirection' into 'develop'
...
Fixed #119 : forced redirection to login even with API_AUTHENTICATION_REQUIRED=False
Closes #119
See merge request funkwhale/funkwhale!91
2018-03-15 21:58:09 +00: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
70cd96f198
Removed unused sphinx dependency in requirements now we use a separate container
2018-03-13 22:28:18 +01:00
Eliot Berriot
89f90d1585
Moved daphne to common requirements
2018-03-12 23:15:39 +01:00
Eliot Berriot
c5e28519dd
Removed unused dependencies
2018-03-12 23:15:28 +01:00
Eliot Berriot
99f33dd392
Make api docker image able to run tests
2018-03-12 23:07:08 +01:00
Eliot Berriot
046648ce6c
Moved pytest.ini to setup.cfg
2018-03-12 23:06:32 +01:00
Eliot Berriot
69aacfea51
Deleted unused files
2018-03-12 23:06:21 +01:00
Eliot Berriot
a448eaaf17
Fix #117 : Use django-cacheops to cache common ORM requests
2018-03-08 23:21:59 +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
b1d210aeb2
Merge branch '110-remove-cachalot' into 'develop'
...
Fix #110 : completely removed django cachalot
Closes #110
See merge request funkwhale/funkwhale!82
2018-03-06 20:34:56 +00:00
Eliot Berriot
88092322d8
Fix #110 : completely removed django cachalot
2018-03-06 20:51:28 +01:00
Eliot Berriot
88ea79ab0b
Merge branch '112-batch-id' into 'develop'
...
Fix #112 : missing batch ID in import output
Closes #112
See merge request funkwhale/funkwhale!80
2018-03-06 19:48:45 +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
2167c1731c
Removed duplicate variable
2018-03-06 17:44:53 +01:00
Eliot Berriot
20d8daa115
More generic entrypoint to work with non-compose setups
2018-03-06 13:15:53 +01:00
Eliot Berriot
e4c044638b
Fixed 500 error in authentication
2018-03-05 21:43:07 +01:00
Eliot Berriot
d1d06ce760
Bash script to setup / reload the demo, fix #29
2018-03-04 18:18:30 +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
c0ff34e8b3
Fixed failing tests
2018-03-03 23:23:42 +01:00
Eliot Berriot
120dda2c75
Sample updates, changelog and documentation for channels and activity
2018-03-03 23:18:33 +01:00
Eliot Berriot
1800f7ad17
API endpoint for updating privacy
2018-03-03 11:20:21 +01:00
Eliot Berriot
7f7a62cfa2
Replaced gunicorn with daphne
2018-03-03 10:52:48 +01:00
Eliot Berriot
8dea9130af
Smaller docker image
2018-03-03 10:05:39 +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
93e4a4f123
Added FUNWHALE_URL setting to use in activity stream in representations
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
498aa1137b
Initial channels integration
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
0ed3f68305
Allow login with email or username
2018-02-24 14:28:17 +01:00
Eliot Berriot
a14e0acbe9
Correct path for rest auth urls
2018-02-24 14:05:27 +01:00
Eliot Berriot
d1b5895b78
Removed now useless REGISTRATION_MODE setting
2018-02-24 12:21:02 +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
15bdf18705
logged in api client
2018-02-20 23:59:50 +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
937c55fdd5
Install ffmpeg and magic
2018-02-18 22:06:10 +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
2f8a026afa
Can now configure allowed host in all settings
2018-02-18 14:42:17 +01:00
Eliot Berriot
d60804c9db
Added raven on server side
2018-02-17 21:31:33 +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
03364dd0d0
Now use taggit from taggit
2018-01-09 21:22:05 +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
c7636c9528
Now use postgres in tests
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
f1557ac4b9
Fixed #57 : now refresh jwt token on page refresh
2017-12-26 14:47:27 +01:00
Eliot Berriot
2879021daa
Now force tests paths
2017-12-24 19:19:00 +01:00
Eliot Berriot
099cdfa99c
Fixed #54 : Now use pytest everywhere \o/
2017-12-24 19:15:21 +01:00
Eliot Berriot
79148c0e03
Fixed broken django-taggit install
2017-12-24 12:28:39 +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
eaf1dec319
Docker syntax issue
2017-12-16 16:22:46 +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
1b58965e8c
Better cache in dockerfile
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
e04c0ef4c0
Upgraded packages
2017-12-16 15:19:32 +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
6b1b2a1227
Fixed #49 : set CSRF_TRUSTED_ORIGINS from ALLOWED_HOSTS
2017-12-15 23:10:42 +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
6172c0beac
upgrade to latest dynamic_preferences and use redis as cache even locally
2017-07-09 13:27:15 +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
38f22dab94
Should now copy the frontend files in a dedicated directory on container startup so they can be reached from outside
2017-06-28 20:21:55 +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
f977f3a3b7
Merge branch 'develop' of ssh://code.eliotberriot.com:2222/funkwhale/funkwhale into develop
2017-06-26 19:18:36 +02:00
Eliot Berriot
80cfd7180a
Fixed #20 : added admin serving under /api/, minor tweaks to production nginx and env file
2017-06-26 19:18:31 +02:00
Eliot Berriot
4f15d3d28d
Fixed #19 : now uses pytest as a testing framework
2017-06-26 19:01:15 +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
c8696beb45
Docker setup is officialy documented! ❤️
2017-06-25 23:02:36 +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