Commit graph

52 commits

Author SHA1 Message Date
Bart Schuurmans 0d621b68e0 Reorder operations in save() overrides
Accessing many-to-many relations before saving is no longer allowed.

Reorder all operations consistently:
1. Validations
2. Modify own fields
3. Perform save by calling super().save()
4. Modify related objects and clear caches

Especially clearing caches should be done after actually saving, otherwise the old data can be
re-added immediately by another request before the new data is written.
2024-04-25 10:12:30 +02:00
Hugh Rundle 2ba0e3d7ff
Allow removing followers and fix follow rejections
* adds the ability to remove a user from your followers list
* fixes verbs.Reject to process reject activities for previously accepted follows in both directions

fixes #2635
2023-11-19 20:03:48 +11:00
Wesley Aptekar-Cassels 3e78e398c0 Switch from priority queues to function-based queues
Fixes: #2907
2023-07-20 12:25:30 -04:00
Josh Soref 0b14d3fddf spelling: receive
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-04 20:02:54 -04:00
Mouse Reeve 0211dee0ff Avoid unnecessary errors when a remote re-sends an Accept 2023-02-20 11:09:42 -08:00
Mouse Reeve 157c9c825b Increase priority for follow activities and lower for shelve 2022-12-19 14:07:44 -08:00
Mouse Reeve 7fe722b595 Fixes follow request notifications
Since the main way to interact with them is by approving them in the
notification, I didn't group them
2022-07-05 15:04:14 -07:00
Mouse Reeve 9948dd2356 Use enums in more models 2022-07-04 20:27:56 -07:00
Mouse Reeve e16506c1df Fixes logic error in checking relationships
I had the logic backwards for pending relationships.
2022-07-02 21:25:07 -07:00
Mouse Reeve 85f507d6b9 Python formatting 2022-03-26 10:34:02 -07:00
Mouse Reeve 2d7902ff89 Resolve second integrity error 2022-03-26 10:27:49 -07:00
Mouse Reeve 4f24b05d60 Clear cache regardless of view success 2022-03-24 13:10:49 -07:00
Mouse Reeve a3b9c621af Trigger rebroadcast of follow requests 2022-03-24 11:35:05 -07:00
Mouse Reeve 82294909a8 Python formatting 2022-01-08 16:38:52 -08:00
Mouse Reeve c822048509 Invalidate template cache on relationship change 2022-01-08 13:04:01 -08:00
Mouse Reeve 6823d5f1b7 Cache follow button template snippet 2022-01-05 12:59:52 -08:00
Mouse Reeve acfb1bb376 Updating string format synatx part 2 2021-09-18 11:32:00 -07:00
Mouse Reeve 9e5c7053e9 More pylint fixes 2021-06-18 14:29:24 -07:00
Mouse Reeve 3ade2d3bb1 New version of black, new whitespace 2021-04-26 09:15:42 -07:00
Mouse Reeve 6b84e53ddd Send accepts to duplicate follow requests 2021-04-22 08:40:32 -07:00
D Anzorge 7a2731aef4 Use object ids with our instance base path for follow accept/reject 2021-04-18 18:08:13 +02:00
Mouse Reeve 39f34bc6e6 Adds activity stream utility for adding and removing statuses 2021-03-22 20:32:59 -07:00
Mouse Reeve 70296e760b Runs black 2021-03-08 08:49:10 -08:00
Mouse Reeve cad19ee878 Merge branch 'main' into inbox-refactor 2021-02-24 09:51:34 -08:00
Mouse Reeve e707374888 Don't broadcast from inbox tests 2021-02-17 14:37:20 -08:00
Mouse Reeve 7b21a0a208 Fix things, unfix things, refix things, break things, fix things 2021-02-17 12:23:55 -08:00
Mouse Reeve 08dc5b4d86 Fixes unfollow 2021-02-17 11:45:21 -08:00
Mouse Reeve d022fef625 broadcast accepts correctly 2021-02-17 11:28:54 -08:00
Mouse Reeve d81bfb6573 Fixes unfollow 2021-02-16 16:35:28 -08:00
Mouse Reeve b57a86d4e2 Fixes approving follow requests automatically 2021-02-16 12:58:29 -08:00
Mouse Reeve a16b81a6eb Adds actions for all verbs 2021-02-15 20:49:23 -08:00
Mouse Reeve f974b9b895 Better blocking checks 2021-02-15 12:51:34 -08:00
Mouse Reeve 8cf7da4b19 Merge branch 'main' into user-creation 2021-02-15 12:26:15 -08:00
Mouse Reeve 65f81bd5f0 Moves blocking to save function
I just like these better than signals??
2021-02-15 12:21:48 -08:00
Mouse Reeve 4a58cd42a6 More thorough check to prevent following blocked users 2021-02-12 18:14:51 -08:00
Mouse Reeve d9e65aa363 Notifications for follow requests 2021-02-10 16:06:50 -08:00
Mouse Reeve 4ad51e62c6 Use recipients model attribute in broadcast 2021-02-09 10:26:04 -08:00
Mouse Reeve 2fcfebd4e5 fixes broadcasting for incoming activities 2021-02-07 16:23:20 -08:00
Mouse Reeve b02a2c1aa4 broadcasting for follow, accept, and reject 2021-02-06 19:18:02 -08:00
Mouse Reeve 2ef777f87e Use activity type mixin 2021-02-04 14:36:57 -08:00
Mouse Reeve dfb5c396b0 Moves activitypub mixin to its own file 2021-02-04 10:47:18 -08:00
Mouse Reeve d994d8d3c8 Moves blocking side effects to model 2021-01-24 17:07:19 -08:00
Mouse Reeve cc8888dea2 Adds incoming handler for blocking 2021-01-23 11:03:10 -08:00
Anton Strömkvist 97a5364b70
Fix docstring for to_reject_activity 2020-12-27 23:31:14 +01:00
Mouse Reeve 1e01e76ac2 removes unneeded imports 2020-12-12 18:06:48 -08:00
Mouse Reeve 1ec2f20486 avoid naming clash is to_activity for field vs model 2020-11-30 14:54:45 -08:00
Mouse Reeve ad3d492fcc Prevent creating follow requests when there's already a follow
Fixes #90
2020-11-01 13:14:56 -08:00
Mouse Reeve 2a0af0138d Uses activitypub mixin in relationship models
plus tests
2020-10-16 10:37:33 -07:00
Mouse Reeve 69ef967050 Include custom serializers on all relationships 2020-09-29 13:19:57 -07:00
Mouse Reeve 3aa9c3accf Renames bookwyrm base model 2020-09-21 08:16:34 -07:00