Commit Graph
103 Commits
Author SHA1 Message Date
ClaireandGitHub 9fee5e8526 Merge pull request from GHSA-jhrq-qvrm-qr36
* Fix insufficient Content-Type checking of fetched ActivityStreams objects

* Allow JSON-LD documents with multiple profiles
2024-02-16 11:56:12 +01:00
Matt JankowskiandGitHub ed4939296a Reduce RSpec/MultipleExpectations in ap/activity/create spec (#29224) 2024-02-16 07:43:00 +00:00
Matt JankowskiandGitHub 15437e4ad9 Add context and before to lengthy tag manager spec examples (#29129) 2024-02-08 10:03:04 +00:00
ClaireandGitHub 1726085db5 Merge pull request from GHSA-3fjr-858r-92rw
* Fix insufficient origin validation

* Bump version to 4.3.0-alpha.1
2024-02-01 15:56:46 +01:00
ClaireandGitHub 087415d0fe Add tests for processing statuses using bearcap URIs (#28904) 2024-01-25 11:13:36 +00:00
2c05b8a60d Fix Undo Announce activity is not sent, when not followed by the reblogged post author (#18482)
Co-authored-by: Claire <[email protected]>
2024-01-12 15:58:28 +00:00
Matt JankowskiandGitHub 00341c70ff Use Sidekiq fake! instead of inline! in specs (#25369) 2024-01-10 11:06:58 +00:00
ClaireandGitHub 2bf84b93d4 Fix media attachment order of remote posts (#28469) 2023-12-22 15:10:39 +00:00
Matt JankowskiandGitHub c99f88e1a8 Clean up of RSpec/LetSetup within spec/lib (#28447) 2023-12-21 11:19:56 +00:00
Matt JankowskiandGitHub 973597c6f1 Consolidate configuration of Sidekiq::Testing.fake! setup (#28046) 2023-11-23 09:43:43 +00:00
Matt JankowskiandGitHub cfa14ec6d1 Fix Lint/EmptyBlock cop (#27748) 2023-11-07 09:11:04 +00:00
ClaireandGitHub c0989b78f8 Fix incoming status creation date not being restricted to standard ISO8601 (#27655) 2023-11-06 09:28:14 +00:00
ClaireandGitHub 0337df3a42 Fix posts from threads received out-of-order sometimes not being inserted into timelines (#27653) 2023-11-02 14:58:37 +00:00
ClaireandGitHub 13688539bc Fix processing LDSigned activities from actors with unknown public keys (#27474) 2023-10-20 10:45:46 +02:00
Matt JankowskiandGitHub f8afa0f614 Remove unused stub json ld context (#25454) 2023-10-16 15:38:27 +02:00
ClaireandGitHub 6c3c5bbbc3 Fix crash when processing Flag activity with no status (#26189) 2023-07-27 16:11:56 +02:00
ClaireandGitHub 1e3b19230a Add stricter protocol fields validation for accounts (#25937) 2023-07-20 18:23:48 +02:00
Matt JankowskiandGitHub 05f9e39b32 Fix RSpec/VerifiedDoubles cop (#25469) 2023-06-22 14:55:22 +02:00
Matt JankowskiandGitHub 6c0e3f490a Fix RSpec/MissingExampleGroupArgument cop (#25310) 2023-06-06 15:51:42 +02:00
Emelia SmithandGitHub 19f9098551 Allow reports with long comments from remote instances, but truncate (#25028) 2023-05-22 13:15:21 +02:00
Matt JankowskiandGitHub 710745e16b Fix RSpec/ContextWording cop (#24739) 2023-05-04 05:49:08 +02:00
Matt JankowskiandGitHub 3df665fd23 Fix Lint/ConstantDefinitionInBlock cop (#24763) 2023-05-03 10:32:30 +02:00
Nick SchonningandGitHub 84cc805cae Enable Style/FrozenStringLiteralComment for specs (#23790) 2023-02-22 09:55:31 +09:00
Nick SchonningandGitHub 5116347eb7 Autofix Rubocop RSpec/BeEq (#23740) 2023-02-20 06:14:50 +01:00
Nick SchonningandGitHub 4552685f6b Autofix Rubocop RSpec/LeadingSubject (#23670) 2023-02-20 13:24:14 +09:00
Nick SchonningandGitHub 5179c47087 Autofix Rubocops RSpec/ScatteredLet (#23725) 2023-02-20 11:17:41 +09:00
Nick SchonningandGitHub bd1d57c230 Autofix Rubocop RSpec/EmptyLineAfterSubject (#23719) 2023-02-20 02:46:00 +01:00
Nick SchonningandGitHub dbc6d7b276 Autofix Rubocop Lint/UnusedBlockArgument (#23712) 2023-02-20 02:45:50 +01:00
Nick SchonningandGitHub 65ba0d92ef Enable Rubocop RSpec/NotToNot (#23723) 2023-02-20 02:33:27 +01:00
Nick SchonningandGitHub 5069769cbe Autofix Rubocop Style/TrailingCommaInHashLiteral (#23693) 2023-02-18 23:33:41 +09:00
Nick SchonningandGitHub a7db0b41cd Autofix Rubocop Lint/ParenthesesAsGroupedExpression (#23682) 2023-02-18 04:00:05 +01:00
Nick SchonningandGitHub 634368c491 Autofix Rubocop Lint/SymbolConversion (#23683) 2023-02-18 03:23:49 +01:00
Nick SchonningandGitHub 669f6d2c0a Run rubocop formatting except line length (#23632) 2023-02-18 06:56:20 +09:00
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 <[email protected]>
2023-02-10 22:16:37 +01:00
ClaireandGitHub 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
ClaireandGitHub 1b4054256f Fix crash when a remote Flag activity mentions a private post (#18760)
* Add tests

* Fix crash when a remote Flag activity mentions a private post
2022-07-04 11:08:30 +02:00
Eugen RochkoandGitHub 3917353645 Fix single Redis connection being used across all threads (#18135)
* Fix single Redis connection being used across all Sidekiq threads

* Fix tests
2022-04-28 17:47:34 +02:00
ClaireandGitHub 0360135d4d Fix PeerTube videos appearing with an erroneous “Edited at” marker (#18100)
* Fix PeerTube videos appearing with an erroneous “Edited at” marker

PeerTube videos have an `updated` field equal to `published`.
When processing an incoming activity that has the same value for `updated` and
`published`, assume this doesn't represent an actual edit.

* Please CodeClimate
2022-04-26 21:25:26 +02:00
ClaireandGitHub 8f537a1168 Change relays handling to not record boosts (#17571)
* Change relays handling to not record boosts

* Update tests
2022-02-16 14:36:44 +01:00
Eugen RochkoandGitHub 6505b39e5d Fix poll updates being saved as status edits (#17373)
Fix #17344
2022-01-26 18:05:39 +01:00
ClaireandGitHub d5c9feb7b7 Add support for private pinned posts (#16954)
* Add support for private pinned toots

* Allow local user to pin private toots

* Change wording to avoid "direct message"
2022-01-17 00:49:55 +01:00
ClaireandGitHub 12cd097e7c Fix addressing of remote groups' followers (#16700)
Fixes #16699
2021-09-08 23:33:23 +02:00
Eugen RochkoandGitHub 2c77d97e0d Add joined date to profiles in web UI (#16169) 2021-05-07 14:33:19 +02:00
ClaireandGitHub 0b36e3419d Fix processing of remote Delete activities (#16084)
* Add tests

* Ensure deleted statuses are marked as such

* Save some redis memory by not storing URIs in delete_upon_arrival values

* Avoid possible race condition when processing incoming Deletes

* Avoid potential duplicate Delete forwards

* Lower lock durations to reduce issues in case of hard crash of the Rails process

* Check for `lock.aquired?` and improve comment

* Refactor RedisLock usage in app/lib/activitypub

* Fix using incorrect or non-existent sender for relaying Deletes
2021-04-21 04:46:09 +02:00
ClaireandGitHub 1c4dee4554 Fix Mastodon not understanding as:Public and Public (#15948)
Fixes #5551
2021-03-24 10:19:40 +01:00
ClaireandGitHub 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
a044ddac5b Fix race conditions on account migration creation (#15597)
* Atomically check for processing lock in Move handler

* Prevent race condition when creating account migrations

Fixes #15595

* Add tests

Co-authored-by: Claire <[email protected]>
2021-02-02 14:49:57 +01:00
Shubhendra Singh ChauhanandGitHub c8d11b8bdb Fixed code quality issues (#15541)
* Added .deepsource.toml

* Removed bad use of `alias`

* Fixed operand order in the binary expression

* Prefixed unused method arguments with an underscore

* Replaced the old OpenSSL algorithmic constants with the newer strings initializers.

* Removed unnecessary UTF-8 encoding comment
2021-01-31 21:26:09 +01:00
Eugen RochkoandGitHub 52157fdcba Add support for dereferencing objects through bearcaps (#14683) 2020-08-30 12:34:20 +02:00
ThibGandGitHub 720214feb0 Add support for inlined objects in activity audience (#14514)
* Add support for inlined objects in activity audience

* Add tests
2020-08-24 14:11:47 +02:00