about summary refs log tree commit diff
path: root/app/services/activitypub
AgeCommit message (Collapse)Author
2020-02-21get rid of refereces to now-rejected autoreject helper (& unbreak the server)multiple creatures
2020-02-21remove autoreject implementation, superseded by monsterfork graylisting + ↵multiple creatures
upstream privacy improvements
2020-02-21port tootsuite#11138 to monsterfork: Change domain blocks to automatically ↵Eugen Rochko
support subdomains * Change domain blocks to automatically support subdomains If a more authoritative domain is blocked (example.com), then the same block will be applied to a subdomain (foo.example.com) * Match subdomains of existing accounts when blocking/unblocking domains * Improve code style
2020-02-17add a `manual_only` (manual trust only) moderation option + handle more ↵multiple creatures
`reject_unknown`/graylist mode caveats
2020-02-14split auto-trust instance actor setting into auto-trust & always trustmultiple creatures
2020-02-14add admin option to toggle auto-marking instance actors known & make ↵multiple creatures
enabling greylist federation also enable secure mode
2020-02-14move setting initial `known` property on remote accounts to `create_account` ↵multiple creatures
method
2020-02-14mark new remote accounts known if graylist federation is disabled + ↵multiple creatures
auto-learn known accounts is enabled
2020-01-20Original upstream mergeThibG
2020-01-16`backtrace` -> `e.backtrace`multiple creatures
2019-12-14use redis lock instead of rolling ownmultiple creatures
2019-12-13sync with `on_behalf_of` + bump max pagesmultiple creatures
2019-12-10do not override timestamps when syncingmultiple creatures
2019-12-10add cooldown to post sync just in casemultiple creatures
2019-12-10synchronize remote posts on first followmultiple creatures
2019-12-08forgot to join domain partsmultiple creatures
2019-12-07domain policies also now get applied to subdomainsmultiple creatures
2019-11-18Get rid of the `Formatter` cache. It isn't worth the admin headaches.multiple creatures
2019-11-06clear formatter cache when profile is changedmultiple creatures
2019-10-12graylist (reject unknown) federation & known account auto-learning finally ↵multiple creatures
have toggle switches in site settings
2019-08-30use a scheduled task to batch domain policy changes + revert `29643fd6` to ↵multiple creatures
avoid accidentally dosing servers when multiple users block a domain
2019-08-08default to reject unknown policy for new serversmultiple creatures
2019-08-08add new `reject unknown` policy option to prevent spam & harassment from ↵multiple creatures
large/undermoderated servers
2019-07-24revert the current unfinished chat implementationmultiple creatures
2019-07-22move autoreject check to own module & check for reject before pulling resourcesmultiple creatures
2019-07-19keep `locked` badge for approves-followers + add `frozen` badge for ↵multiple creatures
admin-locked accts, also federate `frozen` state
2019-07-15add `supports_chat` property, rename `adults_only` to `adult_content`, ↵multiple creatures
federate the kobolds~
2019-07-15make blocking domains actually block the accountsmultiple creatures
2019-05-21`ActivityPub::ProcessAccountService`: Correct `force_` method names.multiple creatures
2019-05-21Moderation: add `force sensitive` and `force unlisted` actions. Accounts: ↵multiple creatures
add federatable `adult content` tag. Handle from remote accounts as well.
2019-05-21Drop OStatus support. Fix some of the Rspec tests.multiple creatures
2019-05-14Record account suspend/silence time and keep track of domain blocks (#10660)ThibG
* Record account suspend/silence time and keep track of domain blocks * Also unblock users who were suspended/silenced before dates were recorded * Add tests * Keep track of suspending date for users suspended through the CLI * Show accurate number of accounts that would be affected by unsuspending an instance * Change migration to set silenced_at and suspended_at * Revert "Also unblock users who were suspended/silenced before dates were recorded" This reverts commit a015c65d2d1e28c7b7cfab8b3f8cd5fb48b8b71c. * Switch from using suspended and silenced to suspended_at and silenced_at * Add post-deployment migration script to remove `suspended` and `silenced` columns * Use Account#silence! and Account#suspend! instead of updating the underlying property * Add silenced_at and suspended_at migration to post-migration * Change account fabricator to translate suspended and silenced attributes * Minor fixes * Make unblocking domains always retroactive
2019-03-30Add ActivityPub representation for identity proofs (#10414)Eugen Rochko
* Add ActivityPub representation for identity proofs * Add tests
2019-03-21Fix processing poll Updates (#10333)ThibG
ActivityPub::ProcessPollService was checking the JSON-LD context although it was passed only the `Question` object embedded in the `Update` activity.
2019-03-12Fix poll update handler calling method was that was not available (#10246)Eugen Rochko
* Fix poll update handler calling method was that was not available Fix regression from #10209 * Refactor VoteService * Refactor ActivityPub::DistributePollUpdateWorker and optimize it * Fix typo * Fix typo
2019-03-11Support pushing and receiving updates to poll tallies (#10209)ThibG
* Process incoming poll tallies update * Send Update on poll vote * Do not send Updates for a poll more often than once every 3 minutes * Include voters in people to notify of results update * Schedule closing poll worker on poll creation * Add new notification type for ending polls * Add front-end support for ended poll notifications * Fix UpdatePollSerializer * Fix Updates not being triggered by local votes * Fix tests failure * Fix web push notifications for closing polls * Minor cleanup * Notify voters of both remote and local polls when those close * Fix delivery of poll updates to mentioned accounts and voters
2019-03-07Handle StaleObjectError when retrieving polls (#10208)ThibG
2019-03-05Do not error out on unsalvageable errors in FetchRepliesService (#10175)ThibG
* Do not error out on unsalvageable errors in FetchRepliesService Fixes #10152 * Fix FetchRepliesWorker erroring out on deleted statuses
2019-03-05Fix last_fetched_at not being set on polls (#10170)Eugen Rochko
2019-03-04Fix another typo in ActivityPub::FetchRemotePollService (#10146)Eugen Rochko
2019-03-04Fix typo in ActivityPub::FetchRemotePollService (#10145)Eugen Rochko
2019-03-04Fix remote poll expiration time (#10144)Eugen Rochko
2019-03-04Make sure the poll is created before storing its id (#10142)ThibG
* Make sure the poll is created before storing its id * Fix updating poll results * Support fetching Question activities from the search bar
2019-03-03Add polls (#10111)Eugen Rochko
* Add polls Fix #1629 * Add tests * Fixes * Change API for creating polls * Use name instead of content for votes * Remove poll validation for remote polls * Add polls to public pages * When updating the poll, update options just in case they were changed * Fix public pages showing both poll and other media
2019-02-28Improved remote thread fetching (#10106)ThibG
* Fetch up to 5 replies when discovering a new remote status This is used for resolving threads downwards. The originating server must add a “replies” attributes with such replies for it to be useful. * Add some tests for ActivityPub::FetchRepliesWorker * Add specs for ActivityPub::FetchRepliesService * Serialize up to 5 public self-replies for ActivityPub notes * Add specs for ActivityPub::NoteSerializer * Move exponential backoff logic to a worker concern * Fetch first page of paginated collections when fetching thread replies * Add specs for paginated collections in replies * Move Note replies serialization to a first CollectionPage The collection isn't actually paginable yet as it has no id nor a `next` field. This may come in another PR. * Use pluck(:uri) instead of map(&:uri) to improve performances * Fix fetching replies when they are in a CollectionPage
2019-02-13Filter incoming Create activities by relation to local activity (#10005)Eugen Rochko
Reject those from accounts with no local followers, from relays that are not enabled, which do not address local accounts and are not replies to accounts that do have local followers
2019-02-06Fix Tombstone.delete_all ArgumentError (#9978)abcang
2019-01-18Add tombstones for remote statuses (#9830)ThibG
* Add Tombstone model to remember object deletion * Do not recreate a status if it has been deleted * Record Tombstone for remote deleted items Also, only record deleted items from same-host actors * Clear an user's tombstones when their key change
2019-01-07Improvements to signature verification (#9667)ThibG
* Refactor signature verification a bit * Rescue signature verification if recorded public key is invalid Fixes #8822 * Always re-fetch AP signing key when HTTP Signature verification fails But when the account is not marked as stale, avoid fetching collections and media, and avoid webfinger round-trip. * Apply stoplight to key/account update as well as initial key retrieval
2018-12-30Reduce usage of LD signatures (#9659)ThibG
* Do not LDS-sign Follow, Accept, Reject, Undo, Block * Do not use LDS for Create activities of private toots * Minor cleanup * Ignore unsigned activities instead of misattributing them * Use status.distributable? instead of querying visibility directly