glitch-social/spec
ThibG 5d9acc0ce4
Fix not handling Undo on some activity types when they aren't inlined (#14346)
* Fix not handling Undo on some activity types when they aren't inlined

When receiving an Undo for a non-inlined activity, try looking it up in
database using the URI. The queries are ad-hoc because we don't have a global
index of object URIs, and not all activity types are stored in database with
an index on their URI.

Announces are just statuses, and have an index on URIs, so this check can
be done efficiently.

Accepts cannot be handled at all because we don't record their URI at any
point.

Follows don't have an index on URI, but they have an index on the issuing
account, which should make such queries largely manageable.

Likes don't have an index on URI, they have an index on the issuing account,
but the number of favs per account may be very high, so I decided not to
handle that.

Blocks don't have an index on URI, but they have an index on the issuing
account, which should make such queries largely manageable.

In all cases, if an Undo could not be handled properly, we call `delete_later!`
because that does not require us to know more than the URI of the undone
property.

* Add tests

* Make newer blocks overwrite older ones

Allows re-synchronizing block info by re-blocking and un-blocking again
when the original Undo Block has been lost.
2020-07-22 11:45:35 +02:00
..
controllers Fix RSS feeds not being cachable (#14368) 2020-07-22 11:44:02 +02:00
fabricators Change move handler to carry blocks over (#14144) 2020-07-01 13:51:15 +02:00
features Add submit button to the top of preferences pages (#13068) 2020-03-08 16:04:03 +01:00
fixtures Add noopener and/or noreferrer (#12202) 2019-10-24 22:44:42 +02:00
helpers Add ability to filter audit log in admin UI (#13381) 2020-04-03 13:06:34 +02:00
lib Fix not handling Undo on some activity types when they aren't inlined (#14346) 2020-07-22 11:45:35 +02:00
mailers Add e-mail-based sign in challenge for users with disabled 2FA (#14013) 2020-06-09 10:23:06 +02:00
models Fix remote files not using Content-Type header, streaming (#14184) 2020-06-30 23:58:02 +02:00
policies Change admin UI for hashtags and add back whitelisted trends (#11490) 2019-08-05 19:54:29 +02:00
presenters Admission-based registrations mode (#10250) 2019-03-14 05:28:30 +01:00
requests Fix localization test failing due to order of locale definitions (#12393) 2019-11-15 21:00:09 +01:00
routing Move create/destroy actions for api/v1/statuses to namespace (#3678) 2017-06-10 09:39:26 +02:00
serializers/activitypub Fix account URI in UpdatePollSerializer (#11194) 2019-06-27 19:41:55 +02:00
services Fix removing allowed domains being done synchronously (#14302) 2020-07-15 21:08:19 +02:00
support Fix base64-encoded file uploads not being possible (#12748) 2020-01-04 01:54:07 +01:00
validators Search account domain in lowercase (#13016) 2020-02-01 15:42:24 +01:00
views Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 2019-07-07 16:16:51 +02:00
workers Change move handler to carry blocks over (#14144) 2020-07-01 13:51:15 +02:00
rails_helper.rb Bump sidekiq from 5.2.7 to 6.0.4 (#11727) 2020-03-21 12:04:54 +09:00
spec_helper.rb Move rspec examples to tmp dir (#12539) 2019-12-02 19:55:08 +01:00