Commit Graph
111 Commits
Author SHA1 Message Date
David Roetzel 96c93ba835 Only persist a collection item's approval URI once it is verified (#38255) 2026-03-17 15:14:30 +00:00
Matt Jankowski 968ce25c39 Use to_json call for worker payloads (#38228) 2026-03-16 14:49:21 +00:00
David Roetzel 3091e2e525 Ingestion of remote collections (#38144) 2026-03-11 14:29:00 +00:00
David Roetzel 1d46558e8d Ingestion of remote collection items (#38106) 2026-03-09 14:59:57 +00:00
David Roetzel b09e63da87 Federate activity when remote account is added to a Collection (#37992) 2026-02-26 15:11:02 +00:00
Nicholas La Roux 438602c488 Upgrade rubocop from v1.84.0 to v1.84.2, update config, and correct offences (#37795) 2026-02-17 14:56:46 +00:00
David Roetzel 73206856c5 Refactor activity serialization (#37678) 2026-02-05 09:39:27 +00:00
Shlee 232b9e9cc6 Fix delivery worker counting unsalvageable HTTP errors as successes (#37235) 2026-01-13 13:49:36 +00:00
Claire 2a7e5fb3f7 Skip followers synchronization for accounts with 25k followers or more (#37302) 2025-12-18 14:42:47 +00:00
Claire 5ac3cceaf5 Increase number of quote approval job retries (#36698) 2025-11-04 08:29:27 +00:00
Renaud Chaput 795aaa14bf Remove environment variables to config Fetch All Replies behaviour (#36627) 2025-10-28 15:58:18 +00:00
Claire b7c5e60426 Fix quote post state sometimes not being updated through streaming server (#36408) 2025-10-09 09:53:45 +00:00
Claire 150f0fcba5 Add support for numeric-based URIs for local accounts (#32724) 2025-09-29 12:05:48 +00:00
Claire c00ed9c913 Add digest re-check before removing followers in synchronization mechanism (#34273) 2025-08-27 12:12:55 +00:00
Matt Jankowski 5ee83a680b Update stoplight to version 5.3.1 (#35129) 2025-08-12 08:15:22 +00:00
Claire 496a5f423e Inline instrument quote post in outgoing QuoteRequest activities (#35713) 2025-08-07 13:19:18 +00:00
Eugen Rochko 2257612deb Fix "new replies available" reporting a false positive for re-fetched root status (#35602) 2025-07-30 16:09:16 +00:00
Eugen Rochko 8cf7a77808 Fix async refresh never being finished when status cannot be fetched (#35500) 2025-07-29 09:23:32 +00:00
Claire 5a88b7f683 Add experimental basic quote post authoring (#35355) 2025-07-25 12:35:24 +00:00
Eugen Rochko 14a781fa24 Add button to load new replies in web UI (#35210) 2025-07-23 13:42:07 +00:00
Claire 304c0417ed Fix handling of inlined featured collections in ActivityPub actor objects (#34789) 2025-05-23 15:01:07 +00:00
Claire 3ea1f074ab Fix sidekiq JSON serialization warning in ActivityPub::FetchAllRepliesWorker (#34702) 2025-05-16 09:07:33 +00:00
Claire e8e93b82f1 Fix NoMethodError in ActivityPub::FetchAllRepliesWorker (#34682) 2025-05-14 13:43:34 +00:00
Jonny Saunders b709ef8ac3 Add: Update root status when fetching replies (#34615) 2025-05-12 14:54:58 +00:00
Claire df2611a10f Add initial support for ingesting and verifying remote quote posts (#34370) 2025-04-17 07:45:23 +00:00
Claire a704e1991c Further refactor reply fetching code (#34151) 2025-03-12 14:52:10 +00:00
Claire 966b816382 Refactor ActivityPub::FetchRepliesService and ActivityPub::FetchAllRepliesService (#34149) 2025-03-12 11:52:38 +00:00
46e13dd81c Add Fetch All Replies Part 1: Backend (#32615)
Signed-off-by: sneakers-the-rat <sneakers-the-rat@protonmail.com>
Co-authored-by: jonny <j@nny.fyi>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: Kouhai <66407198+kouhaidev@users.noreply.github.com>
2025-03-12 09:03:01 +00:00
Claire 420ffdfb62 Add delay to profile updates to debounce them (#34137) 2025-03-11 16:17:17 +00:00
Claire 092e60eb7d Change activity distribution error handling to skip retrying for deleted accounts (#33617) 2025-01-17 09:12:59 +00:00
Matt Jankowski edde54e991 Update stoplight to version 4.1.0 (#28366) 2024-04-02 15:47:40 +00:00
Jonathan de JongandClaire 1cc512909c Have Follow activities bypass availability (#27586)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-10-27 14:55:00 +00:00
Claire 5e56f3db65 Change some worker lock TTLs (#27246) 2023-10-03 10:09:00 +02:00
Claire 1d0ad558ff Change sidekiq-bulk's batch size from 10,000 to 1,000 jobs in one Redis call (#24034) 2023-03-15 03:45:15 +01:00
Nick Schonning b00f945d92 Remove implied StandardError rescue (#23942) 2023-03-03 22:49:16 +01:00
Claire 050f1669c6 Fix original account being unfollowed on migration before the follow request could be sent (#21957) 2023-03-03 21:13:55 +01:00
Claire ddde4e0d95 Change ActivityPub::DeliveryWorker retries to be spread out more (#21956) 2023-03-03 21:08:22 +01:00
Claireandnametoolong 0c9eac80d8 Fix unbounded recursion in post discovery (#23506)
* Add a limit to how many posts can get fetched as a result of a single request

* Add tests

* Always pass `request_id` when processing `Announce` activities

---------

Co-authored-by: nametoolong <nametoolong@users.noreply.github.com>
2023-02-10 22:16:37 +01:00
Nick Schonning ed570050c6 Autofix Rails/EagerEvaluationLogMessage (#23429)
* Autofix Rails/EagerEvaluationLogMessage

* Update spec for debug block syntax
2023-02-07 03:44:36 +01:00
Eugen Rochko f8e8e622e5 Change incoming activity processing to happen in ingress queue (#20264) 2022-11-10 14:21:51 +01:00
Takeshi Umeda 74ead7d106 Change featured tag updates to add/remove activity (#19409)
* Change featured tag updates to add/remove activity

* Fix to check for the existence of feature tag

* Rename service and worker

* Merge AddHashtagSerializer with AddSerializer

* Undo removal of sidekiq_options
2022-10-22 18:30:55 +02:00
Takeshi Umeda b0e3f0312c Add synchronization of remote featured tags (#19380)
* Add LIMIT of featured tag to instance API response

* Add featured_tags_collection_url to Account

* Add synchronization of remote featured tags

* Deliver update activity when updating featured tag

* Remove featured_tags_collection_url

* Revert "Add featured_tags_collection_url to Account"

This reverts commit cff349fc27b104ded2df6bb5665132dc24dab09c.

* Add hashtag sync from featured collections

* Fix tag name normalize

* Add target option to fetch featured collection

* Refactor fetch_featured_tags_collection_service

* Add LIMIT of featured tag to v1/instance API response
2022-10-20 09:15:52 +02:00
Claire 8cf7006d4e Refactor ActivityPub handling to prepare for non-Account actors (#19212)
* Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService

ActivityPub::FetchRemoteAccountService is kept as a wrapper for when the actor is
specifically required to be an Account

* Refactor SignatureVerification to allow non-Account actors

* fixup! Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService

* Refactor ActivityPub::FetchRemoteKeyService to potentially return non-Account actors

* Refactor inbound ActivityPub payload processing to accept non-Account actors

* Refactor inbound ActivityPub processing to accept activities relayed through non-Account

* Refactor how Account key URIs are built

* Refactor Request and drop unused key_id_format parameter

* Rename ActivityPub::Dereferencer `signature_account` to `signature_actor`
2022-09-21 22:45:57 +02:00
Claire da91b18a8b Fix NoMethodError in StatusUpdateDistributionWorker (#17499)
* Add tests

* Fix NoMethodError in StatusUpdateDistributionWorker

* Fix tests
2022-02-10 14:57:10 +01:00
Eugen Rochko 63002cde03 Add editing for published statuses (#17320)
* Add editing for published statuses

* Fix change of multiple-choice boolean in poll not resetting votes

* Remove the ability to update existing media attachments for now
2022-02-10 00:15:30 +01:00
Claire 0d2cf3cd4a Fix errors when multiple Delete are received for a given actor (#17460) 2022-02-07 13:14:48 +01:00
Claire 03d59340da Fix Sidekiq warnings about JSON serialization (#17381)
* Fix Sidekiq warnings about JSON serialization

This occurs on every symbol argument we pass, and every symbol key in hashes,
because Sidekiq expects strings instead.

See https://github.com/mperham/sidekiq/pull/5071

We do not need to change how workers parse their arguments because this has
not changed and we were already converting to symbols adequately or using
`with_indifferent_access`.

* Set Sidekiq to raise on unsafe arguments in test mode

In order to more easily catch issues that would produce warnings in production
code.
2022-01-28 00:43:56 +01:00
Eugen Rochko 9eb775a9d1 Fix error when using raw distribution worker (#17334)
Regression from #16697
2022-01-19 23:05:59 +01:00
Eugen Rochko 1060666c58 Add support for editing for published statuses (#16697)
* Add support for editing for published statuses

* Fix references to stripped-out code

* Various fixes and improvements

* Further fixes and improvements

* Fix updates being potentially sent to unauthorized recipients

* Various fixes and improvements

* Fix wrong words in test

* Fix notifying accounts that were tagged but were not in the audience

* Fix mistake
2022-01-19 22:37:27 +01:00
Claire 5efb1ff337 Fix followers synchronization mechanism not working when URI has empty path (#16510)
* Fix followers synchronization mechanism not working when URI has empty path

To my knowledge, there is no current implementation on the fediverse
that can use bare domains (e.g., actor is at https://example.org instead of
something like https://example.org/actor) that also plans to support the
followers synchronization mechanism. However, Mastodon's current implementation
would exclude such accounts from followers list.

Also adds tests and rename them to reflect the proper method names.

* Move url prefix regexp to its own constant
2021-08-11 17:48:42 +02:00