Mark Felder
aa070c7daf
Handle 401s as I have observed it in the wild
2023-12-28 23:09:33 -05:00
Mark Felder
ad0a5deb67
Prevent requeuing Remote Fetcher jobs that exceed thread depth
2023-12-27 22:28:41 -05:00
Mark Felder
a2708f7fe3
Leverage existing atoms as return errors for the object fetcher
2023-12-27 22:01:59 -05:00
Mark Felder
287f2c9719
Formatting
2023-12-27 21:55:07 -05:00
Mark Felder
882267e3ec
Remove duplicate log messages from Transmogrifier
...
Object fetch errors are logged in the fetcher module
2023-12-27 21:39:29 -05:00
Mark Felder
becb070603
Conslidate log messages for object fetcher failures and leverage Logger.metadata
2023-12-27 21:22:51 -05:00
Mark Felder
6c9929b809
Set Logger level to error
2023-12-27 20:18:14 -05:00
Mark Felder
d4c77103d1
Fix detection of user follower collection being private
...
We were overzealous with matching on a raw error from the object fetch that should have never been relied on like this. If we can't fetch successfully we should assume that the collection is private.
Building a more expressive and universal error struct to match on may be something to consider.
2023-12-27 15:27:39 -05:00
Mark Felder
73c4c6d7de
Revert "Mark instances as unreachable when returning a 403 from an object fetch"
...
This reverts commit d472bafec1
.
2023-12-26 17:20:36 -05:00
Mark Felder
9c0040124a
Skip remote fetch jobs for unreachable instances
2023-12-26 16:28:05 -05:00
Mark Felder
5f6966cd9f
Remove mistaken duplicate fetch
2023-12-26 16:23:41 -05:00
Mark Felder
c6b38441f1
Cancel remote fetch jobs for deleted objects
2023-12-26 16:05:44 -05:00
Mark Felder
67dd81e825
Consolidate the HTTP status code checking into the private get_object/1
2023-12-26 16:05:28 -05:00
Mark Felder
d472bafec1
Mark instances as unreachable when returning a 403 from an object fetch
...
This is a definite sign the instance is blocked and they are enforcing authorized_fetch
2023-12-26 15:54:21 -05:00
Mark Felder
603e9f6a92
Fix Transmogrifier tests
...
These tests relied on the removed Fetcher.fetch_object_from_id!/2 function injecting the error tuple into a log message with the exact words "Object containment failed."
We will keep this behavior by generating a similar log message, but perhaps this should do a better job of matching on the error tuple returned by Transmogrifier.handle_incoming/1
2023-12-26 14:22:06 -05:00
Mark Felder
ea0ec5fbcf
Remove Fetcher.fetch_object_from_id!/2
...
It was only being called once and can be replaced with a case statement.
2023-12-26 14:20:35 -05:00
lain
5f1d707367
Merge branch 'bad_inbox_request' into 'develop'
...
Return a 400 from a bad delivery attempt to the inbox
Closes #2884
See merge request pleroma/pleroma!4009
2023-12-22 11:04:25 +00:00
Haelwenn
bd50892c25
Merge branch 'instance-v2' into 'develop'
...
Implement api/v2/instance route
See merge request pleroma/pleroma!3939
2023-12-21 21:14:46 +00:00
marcin mikołajczak
4f2fb8dc5e
Use consistent terminology
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-21 00:13:13 +01:00
Mark Felder
9896b64f54
Elixir 1.15: Chase the Logger.warn deprecation
2023-12-20 20:16:26 +00:00
Mark Felder
f43f33e307
Return a 400 from a bad delivery attempt to the inbox
...
This stops the backend from generating 500 errors from these events.
2023-12-19 13:56:17 -05:00
Mark Felder
e2066994b1
Fix Web Push notification delivery
...
Finch does not automatically append header content-type: octet-stream for binary payloads.
2023-12-19 10:56:55 -05:00
Lain Soykaf
c1423ddca3
ActivityPub.Publisher: Filter inboxes
2023-12-17 11:15:58 +04:00
Lain Soykaf
c212fc1dcf
User: Ignore non-local users when setting 'last active at'
2023-12-16 20:32:13 +04:00
Lain Soykaf
3fbc80eb58
B ActivityPub.Publisher: Prioritize direct mentions
2023-12-16 20:26:08 +04:00
Yonle
cb1b52d980
ap userview: add outbox field.
...
Signed-off-by: Yonle <yonle@lecturify.net>
2023-12-15 09:55:06 +04:00
lain
29d202e1df
Merge branch 'add-opengraph-rich-media-proxy' into 'develop'
...
Add media proxy to opengraph rich media cards
See merge request pleroma/pleroma!3997
2023-12-13 06:23:16 +00:00
Lain Soykaf
cca6c20eb6
Revert "EmailTest: use config mock"
...
This reverts commit dca41cc4a3
.
2023-12-12 19:35:19 +04:00
Alexander Tumin
e7af2addd8
Add media proxy to opengraph rich media cards
2023-12-12 18:32:02 +03:00
Lain Soykaf
dca41cc4a3
EmailTest: use config mock
2023-12-12 15:25:52 +04:00
Lain Soykaf
00def0875b
RichMediaTest: Use mocked config
2023-12-12 13:28:11 +04:00
Lain Soykaf
22c4d89dbb
ScheduledActivity: Use config mocking
2023-12-12 12:48:55 +04:00
Lain Soykaf
228966e6dd
Exiftool.ReadDescription: Remove wrong spec.
2023-12-12 11:09:54 +04:00
Lain Soykaf
18ab36d70c
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into no-async-clear-config
2023-12-12 10:55:19 +04:00
lain
41c02b3d16
Merge branch 'authorize-interaction' into 'develop'
...
Support /authorize-interaction route used by Mastodon
See merge request pleroma/pleroma!3957
2023-12-11 09:31:18 +00:00
lain
e7974afd37
Merge branch 'optimistic-inbox' into 'develop'
...
Optimistic Inbox
See merge request pleroma/pleroma!3989
2023-12-11 07:32:42 +00:00
Lain Soykaf
90a47ca050
S3 Test: Remove global state dependencies
2023-12-11 09:25:05 +04:00
Mark Felder
c0a50b7c3e
User.get_or_fetch_public_key_for_ap_id/1 is no longer required.
2023-12-10 13:24:25 -05:00
Mark Felder
18deea59b4
ActivityPub.make_user_from_ap_id/1 fetches the whole actor object including updating the public key for us
2023-12-10 13:22:55 -05:00
Mark Felder
223c1bac8d
Cancel the job if the signature is still invalid after a refetch of the public key
2023-12-10 12:55:41 -05:00
Lain Soykaf
06fc196772
Backup: Fix config
2023-12-10 19:46:25 +04:00
Lain Soykaf
c068a218ea
Backup Tests: Split out async tests, use mox.
2023-12-10 18:57:46 +04:00
Mark Felder
d417f73218
Process inbound Delete activities at lowest priority
2023-12-09 18:47:54 -05:00
Mark Felder
94daa3e8c1
Revert "Remove unnecessary forced refresh of user"
...
This reverts commit 97cf78f63d
.
2023-12-09 18:21:00 -05:00
Mark Felder
82724f6664
Do not retry fetching deleted objects
2023-12-09 17:48:33 -05:00
Mark Felder
4039106500
Fix the req_headers formatting
2023-12-08 21:51:36 -05:00
Mark Felder
1d417d2a36
Our version of Oban only supports priorities 0-3
2023-12-08 21:49:25 -05:00
Mark Felder
97cf78f63d
Remove unnecessary forced refresh of user
2023-12-08 18:24:30 -05:00
Mark Felder
ce5acd4158
get_cached_by_ap_id/1 returns a single result, not a tuple
2023-12-08 18:10:22 -05:00
Mark Felder
074b31d9ab
Optimistic Inbox
...
Rework inbound federation to accept requests optimistically. The HTTP Signatures Plug will not attempt to fetch the actor or key and will fail early.
If the signature cannot be validated we pass the required data into the Oban job with a reduced priority and increase the timeout to 20 seconds. The Oban job will handle the actor and key fetching before attempting to validate the activity again. This job will be retried 5 times by default.
Another welcome side effect is that actors who change their keys can federate to Pleroma instances immediately instead of needing to wait the default value of 86400s / 24 hours before the key will be fetched again.
2023-12-08 17:45:20 -05:00