Wykres commitów

292 Commity (31ee580449920939c5e38c9dc694f8bdf0ab5e96)

Autor SHA1 Wiadomość Data
Eliot Berriot 4a412d36a9
Fix #830: Better handling of follow/accept messages to avoid and recover from desync between instances 2019-05-14 10:59:49 +02:00
Eliot Berriot 1f3f790f63
Fix #819: Fixed invalid required fields in Upload django's admin 2019-05-09 12:13:00 +02:00
Eliot Berriot 1345ba183c
Fixed follow autoapproval not working with "instance" visibility level 2019-05-02 13:57:42 +02:00
Eliot Berriot 430af5560c Merge branch '565-failing-tests' into 'develop'
See #565: fixed path issues with external storage

Closes #565

See merge request funkwhale/funkwhale!736
2019-04-24 15:29:57 +02:00
Eliot Berriot a2c52abb4f
See #565: fixed path issues with external storage 2019-04-24 15:27:07 +02:00
Eliot Berriot 993783190a
Fix #619: Use attributedTo instead of actor in library ActivityPub payload 2019-04-24 14:40:58 +02:00
Eliot Berriot 101ae27885
Fix #565: store media files in S3 bucket 2019-04-23 18:01:42 +02:00
Eliot Berriot a605bcbe76 Admin UI for libraries and uploads 2019-04-19 12:05:13 +02:00
Eliot Berriot cdc617be27 Logic to refetch remote entities 2019-04-18 14:37:17 +02:00
Eliot Berriot 55d0e52c55 Edits for artists and albums 2019-04-17 16:11:24 +02:00
Eliot Berriot b4731928fc UI To manage artists, albums, tracks 2019-04-17 14:17:59 +02:00
Eliot Berriot 5e3cc99f20
See #689: fetch nodeinfo when seing a domain for the first time 2019-04-11 11:25:55 +02:00
Eliot Berriot 84e2f0af9f
See #689: added a task to refresh nodeinfo data on known domain periodically 2019-04-11 11:14:27 +02:00
Eliot Berriot 4e44e4e4b6 Attribute artist 2019-04-11 10:17:10 +02:00
Eliot Berriot f5a6a40d7f
Fix #787: federation issue due to missing error handling 2019-04-05 16:22:32 +02:00
Eliot Berriot 46f1d96206
Fix #776: Don't store unhandled ActivityPub messages in database 2019-03-27 12:53:35 +01:00
Eliot Berriot 4c13d47387 Resolve "Implement a Oauth provider in Funkwhale" 2019-03-25 17:02:51 +01:00
Eliot Berriot e587e5aebc
Merge branch 'master' into develop 2019-03-21 10:46:28 +01:00
Eliot Berriot cc71d2bb20
Fix #570: Exclude in-place imported files from quota computation 2019-03-21 10:32:12 +01:00
Eliot Berriot 9a162c57ca
Merge branch 'master' into develop 2019-03-20 20:45:06 +01:00
Eliot Berriot 124a7c3dcf
Fix #767: broken Activity and Actor modules in django admin 2019-03-20 20:18:19 +01:00
Eliot Berriot 429ffbf461 Fix #757: Ensure cover art from uploaded files is picked up properly on existing albums 2019-03-20 19:38:41 +01:00
Eliot Berriot 33190613a2
Fix #737: delivering of local activities causing unintended side effects, such as rollbacking changes 2019-03-20 16:21:03 +01:00
Eliot Berriot b70636c2d8
Fixed a small federation issue when empty library summary 2019-03-19 17:53:17 +01:00
Eliot Berriot da3710ff08 Fix #758: Ensure all our ActivityPub fetches are authenticated 2019-03-15 12:08:45 +01:00
Eliot Berriot 491c79efa0
Merge branch 'master' into develop 2019-03-07 13:44:33 +01:00
Eliot Berriot 3d94eddcfc
Fix #743: Do not send notification when rejecting a follow on a local library 2019-03-07 12:09:45 +01:00
Eliot Berriot 0afa4f2e27 Fix #737: delivering of local activities causing unintended side effects, such as rollbacking changes 2019-03-06 15:33:39 +01:00
Eliot Berriot 12c9db3960 Ensures federation urls can answer to application/ld+json, application/activity+json and application/json requests 2019-03-05 15:15:37 +01:00
Eliot Berriot d243d6a2f5 See #689: now serve AP representations for uploads, tracks, albums and artists 2019-02-28 12:32:09 +01:00
Eliot Berriot e0c5ffcb16 [EPIC] Audio metadata update - UI / API 2019-02-28 09:31:04 +01:00
Eliot Berriot 7e1bd1ad07
Merge branch 'master' into develop 2019-02-13 09:09:31 +01:00
Eliot Berriot 00846ca3e9
Fix #706: Added a 'fix_federation_ids' management command to deal with protocol/domain issues in federation
IDs after deployments
2019-02-11 11:59:32 +01:00
Eliot Berriot 253f026dc0 System actor 2019-01-30 11:54:43 +01:00
Eliot Berriot 5fe30cf59b
Fix #658: Support blind key rotation in HTTP Signatures 2019-01-11 15:39:33 +01:00
Eliot Berriot 14392ebb0c
Updated rest framework to 3.9 2019-01-11 14:10:02 +01:00
Eliot Berriot 4a6df06360
Upgraded django to 2.1 and django-filters to 2.0 2019-01-11 12:03:06 +01:00
Eliot Berriot 4811f35eb5
Linting 2019-01-10 11:11:32 +01:00
Eliot Berriot 377f237fdb
Rejecting media files on an instance or account now purge existing media 2019-01-10 11:11:31 +01:00
Eliot Berriot 1c55f2c9a6
Use our instance policies to discard fetched and inbox objects 2019-01-10 11:11:30 +01:00
Eliot Berriot 233ac870be
Added actions and tasks to purge domains and actors 2019-01-09 14:20:22 +01:00
Eliot Berriot 0bc9bb65b0
Model, view and serializer for instance-level policies 2019-01-07 09:45:53 +01:00
Eliot Berriot ddffbeadfa
Can now add domains via manage API / UI 2019-01-05 18:21:35 +01:00
Eliot Berriot d4eff5aa32
Less DB queries in test factories 2019-01-04 14:36:08 +01:00
Eliot Berriot 7657db4212
Fix #648: Improved test suite speed by reducing / disabling expensive operations 2019-01-04 11:47:23 +01:00
Eliot Berriot e186c6bb06
Admin UI to list and manage remote and local accounts 2019-01-03 17:10:02 +01:00
Eliot Berriot 47209ee5ae
Added API to list and detail actors 2019-01-03 11:47:29 +01:00
Eliot Berriot 9d55320b56
Fixed slow query on domain list / stats 2018-12-27 22:45:43 +01:00
Eliot Berriot 942e9a15cb
Linting 2018-12-27 20:39:03 +01:00
Eliot Berriot 032197da3f
Added stats endpoint for domain 2018-12-27 20:33:12 +01:00
Eliot Berriot be388870a3
Can now fetch domain nodeinfo 2018-12-27 20:33:12 +01:00
Eliot Berriot e4117043cb
Added API endpoint and UI to list known domains 2018-12-27 20:33:11 +01:00
Eliot Berriot af53ee7c7d
Ensure all our AP types are present 2018-12-27 20:33:11 +01:00
Eliot Berriot 7ac3bb98da
Moved actor domain to a dedicated table 2018-12-27 20:33:11 +01:00
Eliot Berriot 24b8ca7227
Removed dead code 2018-12-26 20:23:48 +01:00
Eliot Berriot a493d34b8f Resolve "Track position don't take care about disc number" 2018-12-06 08:53:31 +00:00
Eliot Berriot e5b46402f8 Fix #308: Licenses 2018-12-04 14:13:37 +00:00
Eliot Berriot 4976981926
Broadcast library updates (name, description, visibility) over federation 2018-11-09 19:57:14 +01:00
Eliot Berriot 51457aa889
Fix #553: Advertise public libraries properly in ActivityPub representations 2018-11-09 19:57:14 +01:00
Eliot Berriot 3895034089
Ensure we always use raw_ids for related fields in django's admin 2018-10-01 21:56:52 +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 b028f3f817
Do not deliver anything to remote instances when federation is disabled 2018-09-28 21:19:37 +02:00
Eliot Berriot c641b8f500
Linting 2018-09-28 16:48:26 +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 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
Joshua M. Boniface 4ce46ff2a0 Implement LDAP authentication 2018-08-22 18:10:39 +00: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 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 af270f4abd Resolve "An avatar for users" 2018-07-13 12:10:39 +00: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 9017acdb39
Fix #328: Validate Date header in HTTP Signatures 2018-06-24 19:17:56 +02:00
Eliot Berriot 7e442db524
Black/Flake8 2018-06-21 19:51:27 +02:00
Eliot Berriot bf8b143700
See #248: better structure for action serializers 2018-06-21 19:51:24 +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 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
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 ae00cccf14
Fix #207: Consistent constraints/checks for URL size 2018-05-21 19:04:28 +02:00
Eliot Berriot 6fc4275b68
See #152: use new user permissions on relevant viewsets 2018-05-18 18:48:46 +02:00
Eliot Berriot e7619fd189
See #206: minor tweaks on settings (wording, input type...) 2018-05-17 23:40:06 +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 8994326634
See #195: expose bitrate, duration and size in AP audio representations 2018-05-15 22:01:53 +02:00
Eliot Berriot d88b7869fe
See #192: added .well-known/nodeinfo endpoint 2018-05-07 22:28:46 +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 6100b106c0
See #186: moved federation settings to preferences 2018-04-28 05:55:21 +02:00
Eliot Berriot 6dcde77b1e
Avoid fetching Actor object on every request authentication 2018-04-28 00:25:47 +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 c29a96f244
Fail graciously when AP representation includes a null_value for mediaType 2018-04-18 00:08:31 +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 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 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 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 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 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