Commit Graph

327 Commits

Author SHA1 Message Date
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