mastodon/app/lib
Claire be3b9f8151
Fix URI of repeat follow requests not being recorded (#15662)
* Fix URI of repeat follow requests not being recorded

In case we receive a “repeat” or “duplicate” follow request, we automatically
fast-forward the accept with the latest received Activity `id`, but we don't
record it.

In general, a “repeat” or “duplicate” follow request may happen if for some
reason (e.g. inconsistent handling of Block or Undo Accept activities, an
instance being brought back up from the dead, etc.) the local instance thought
the remote actor were following them while the remote actor thought otherwise.

In those cases, the remote instance does not know about the older Follow
activity `id`, so keeping that record serves no purpose, but knowing the most
recent one is useful if the remote implementation at some point refers to it
by `id` without inlining it.

* Add tests
2021-02-11 01:53:44 +01:00
..
activitypub Fix URI of repeat follow requests not being recorded (#15662) 2021-02-11 01:53:44 +01:00
connection_pool Add request pool to improve delivery performance (#10353) 2019-07-02 00:34:38 +02:00
nodeinfo Add a nodeinfo endpoint (#12002) 2019-09-29 21:31:51 +02:00
ostatus Remove Atom feeds and old URLs in the form of GET /:username/updates/:id (#11247) 2019-07-07 16:16:51 +02:00
proof_provider Fix rubocop warning (#14288) 2020-07-14 19:05:07 +02:00
rss Improve RSS entries for statuses (#13592) 2020-05-10 09:50:54 +02:00
settings Use Rails' index_by where it makes sense (#15542) 2021-01-12 09:27:38 +01:00
access_token_extension.rb Fix streaming API allowing connections to persist after access token invalidation (#15111) 2020-11-12 23:05:24 +01:00
activity_tracker.rb Add a nodeinfo endpoint (#12002) 2019-09-29 21:31:51 +02:00
application_extension.rb Conditional validations no longer accept strings for if/unless (#3124) 2017-05-19 03:11:23 +02:00
cache_buster.rb Add cache buster feature for media files (#15155) 2020-11-19 17:38:06 +01:00
delivery_failure_tracker.rb Change delivery failure tracking to work with hostnames instead of URLs (#13437) 2020-04-15 20:33:24 +02:00
entity_cache.rb Use Rails' index_by where it makes sense (#15542) 2021-01-12 09:27:38 +01:00
exceptions.rb Fix movie width and frame_rate returning nil (#14357) 2020-07-19 22:28:27 +02:00
extractor.rb Optimize some regex matching (#15528) 2021-01-22 10:09:08 +01:00
fast_geometry_parser.rb Fix avatar and header issues by using custom geometry detector (#6515) 2018-02-21 03:40:12 +01:00
fast_ip_map.rb Add IP-based rules (#14963) 2020-10-12 16:33:49 +02:00
feed_manager.rb Optimize some regex matching (#15528) 2021-01-22 10:09:08 +01:00
formatter.rb Optimize some regex matching (#15528) 2021-01-22 10:09:08 +01:00
hash_object.rb Migrate from ledermann/rails-settings to rails-settings-cached which allows global settings 2017-01-12 20:46:24 +01:00
inline_renderer.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
language_detector.rb Fix Thai being skipped from language detection (#13989) 2020-06-25 22:45:01 +02:00
potential_friendship_tracker.rb Create Redisable#redis (#9633) 2019-02-02 19:11:38 +01:00
proof_provider.rb Add Keybase integration (#10297) 2019-03-18 21:00:55 +01:00
rate_limiter.rb Add rate limit for reporting (#13390) 2020-04-05 14:40:08 +02:00
request.rb Optimize some regex matching (#15528) 2021-01-22 10:09:08 +01:00
request_pool.rb Add request pool to improve delivery performance (#10353) 2019-07-02 00:34:38 +02:00
response_with_limit.rb Fix remote files not using Content-Type header, streaming (#14184) 2020-06-30 23:58:02 +02:00
rss_builder.rb Add RSS feeds for end-users (#7259) 2018-04-25 02:10:02 +02:00
sanitize_config.rb Optimize some regex matching (#15528) 2021-01-22 10:09:08 +01:00
search_query_parser.rb Fix accounts search by full/partial display name and others (#11580) 2019-08-16 13:00:30 +02:00
search_query_transformer.rb Fix error when searching for empty phrase (#12711) 2019-12-30 18:30:24 +01:00
sidekiq_error_handler.rb Bump rubocop from 0.86.0 to 0.88.0 (#14412) 2020-09-01 03:04:00 +02:00
spam_check.rb Use Enumerable#filter_map in more places (#15527) 2021-01-22 16:28:15 +01:00
status_filter.rb Fix n+1 queries in StatusThreadingConcern (#7321) 2018-05-03 10:41:58 +02:00
status_finder.rb Remove Atom feeds and old URLs in the form of GET /:username/updates/:id (#11247) 2019-07-07 16:16:51 +02:00
status_reach_finder.rb Fix deletes not reaching every server that interacted with status (#15200) 2020-11-27 15:48:31 +01:00
tag_manager.rb Refactor domain block checks (#11268) 2019-07-09 03:27:35 +02:00
themes.rb Add support for multiple themes (#4959) 2017-09-19 16:36:23 +02:00
toc_generator.rb Add fallback section ID with ToC (#11941) 2019-09-23 17:25:10 +02:00
user_settings_decorator.rb Add option to disable swiping motions across the WebUI (#13885) 2020-09-30 19:31:03 +02:00
webfinger.rb Use Rails' index_by where it makes sense (#15542) 2021-01-12 09:27:38 +01:00
webfinger_resource.rb Fix webfinger returning wrong status code on malformed or missing param (#13759) 2020-05-14 23:28:06 +02:00