You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastodon/app/lib
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.
5 years ago
..
activitypub Fix not handling Undo on some activity types when they aren't inlined (#14346) 5 years ago
connection_pool Add request pool to improve delivery performance (#10353) 6 years ago
nodeinfo Add a nodeinfo endpoint (#12002) 6 years ago
ostatus Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 6 years ago
proof_provider Fix rubocop warning (#14288) 5 years ago
rss Improve RSS entries for statuses (#13592) 5 years ago
settings Fix rubocop warning (#14288) 5 years ago
activity_tracker.rb Add a nodeinfo endpoint (#12002) 6 years ago
application_extension.rb Conditional validations no longer accept strings for if/unless (#3124) 8 years ago
delivery_failure_tracker.rb Change delivery failure tracking to work with hostnames instead of URLs (#13437) 5 years ago
entity_cache.rb Fix PostgreSQL load when linking in announcements (#13250) 5 years ago
exceptions.rb Fix movie width and frame_rate returning nil (#14357) 5 years ago
extractor.rb Using double splat operator (#5859) 7 years ago
fast_geometry_parser.rb Fix avatar and header issues by using custom geometry detector (#6515) 7 years ago
feed_manager.rb Fix boosted toots from blocked account not being retroactively removed from TL (#14339) 5 years ago
formatter.rb Fix malformed HTML causing uncaught error (#13042) 5 years ago
hash_object.rb Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings 8 years ago
inline_renderer.rb Add E2EE API (#13820) 5 years ago
language_detector.rb Fix Thai being skipped from language detection (#13989) 5 years ago
potential_friendship_tracker.rb Create Redisable#redis (#9633) 6 years ago
proof_provider.rb Add Keybase integration (#10297) 6 years ago
rate_limiter.rb Add rate limit for reporting (#13390) 5 years ago
request.rb Fix rubocop warning (#14288) 5 years ago
request_pool.rb Add request pool to improve delivery performance (#10353) 6 years ago
response_with_limit.rb Fix remote files not using Content-Type header, streaming (#14184) 5 years ago
rss_builder.rb Add RSS feeds for end-users (#7259) 7 years ago
sanitize_config.rb Fix rendering `<a>` without `href` when scheme unsupported (#13040) 5 years ago
search_query_parser.rb Fix accounts search by full/partial display name and others (#11580) 6 years ago
search_query_transformer.rb Fix error when searching for empty phrase (#12711) 5 years ago
sidekiq_error_handler.rb Fix error within error when limiting backtrace to 3 lines (#13120) 5 years ago
spam_check.rb Exempt staff members from spam check (#12874) 5 years ago
status_filter.rb Fix n+1 queries in StatusThreadingConcern (#7321) 7 years ago
status_finder.rb Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247) 6 years ago
tag_manager.rb Refactor domain block checks (#11268) 6 years ago
themes.rb Add support for multiple themes (#4959) 8 years ago
toc_generator.rb Add fallback section ID with ToC (#11941) 6 years ago
user_settings_decorator.rb Add setting for whether to crop images in unexpanded toots (#12126) 5 years ago
webfinger_resource.rb Fix webfinger returning wrong status code on malformed or missing param (#13759) 5 years ago