summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2024-08-07Do not require a cc field when validating an incoming Follow activityMark Felder
The cc field is not required and the code was keeping the cc if it existed on an activity or replacing it with the default of an empty list when casting. If any Follow activity was received with a cc field, it would attempt to keep it. This was noticed in !4208 where we would craft Follow requests with a cc value of nil.
2024-08-07Merge branch 'workerhelper-fix' into 'develop'feld
Fix WebPush notifications not generating jobs See merge request pleroma/pleroma!4210
2024-08-07Fix WebPush notifications not generating jobsMark Felder
Dialyzer pointed this one out. The WorkerHelper removal in !4166 was missing this Oban.insert() and tests were not noticing any problems because we mocked the Push.send function instead of executing it and checking for the Oban job.
2024-08-07Fix CommonAPI.follow/2 which returned users in the reverse order they were ↵Mark Felder
provided to the function
2024-08-07Merge branch 'stream-follow-relationships-count' into 'develop'feld
StreamerView: Do not leak follows count if hidden See merge request pleroma/pleroma!4205
2024-08-07Merge branch 'stream-follow-relationships-count' into developMark Felder
2024-08-07Improve the variable namingMark Felder
2024-08-07Merge branch 'remove/workerhelper' into 'develop'feld
Remove WorkerHelper See merge request pleroma/pleroma!4166
2024-08-07Extract the logic from the mapMark Felder
2024-08-06CredoMark Felder
2024-08-06Use a struct to hold the prepared data passed to publish_one/1Mark Felder
2024-08-06Force cc to an empty list if undefinedMark Felder
2024-08-06Split Federator.publish_one/1 into a second function called prepare_one/1Mark Felder
2024-08-04StreamerView: Do not leak follows count if hiddenmarcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-08-03Support `id` param in `GET /api/v1/statuses`marcin mikołajczak
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-08-02Gun: Publisher job behavior improvementMark Felder
Gun's connection pool also returns an error if duplicate workers are launched simultaneously. Snooze on this error as well, and lower the snooze to 3 seconds with the optimism that the connection will still be open by then and the delivery can be completed quickly. The original setting of 30 seconds is pretty high and means there's an unnatural lag between deliveries of activities destined to the same server that were created at nearly the same time. This configuration should be more efficient.
2024-07-31Fix User.disclose_client never working correctlyMark Felder
Our test environment cheats by constructing a conn with a custom oauth_access/2 function. This assigns a :token to the conn but due to the way it is constructed it has the :user preloaded. When the OAuth Plug fetches a token it does not preload the user, so the check for user.disclose_client was always nil and assumed to be false. Preloading the :user ensures the test environment matches reality.
2024-07-30Remove WorkerHelperMark Felder
2024-07-30Merge branch 'oban/simpler-publish' into 'develop'feld
Publisher job simplification See merge request pleroma/pleroma!4194
2024-07-29Merge branch 'oban/backup' into 'develop'feld
Backups Refactoring See merge request pleroma/pleroma!4158
2024-07-29Revert unintended change to the Logger metadata tag nameMark Felder
2024-07-29Fix cancelling jobsMark Felder
2024-07-29Remove actor and actor_id from the job as it can be inferred by the activityMark Felder
2024-07-28Publisher job simplificationMark Felder
Publisher jobs now store the the activity id instead of inserting duplicate JSON data in the Oban queue for each delivery.
2024-07-25Safer string concatenationMark Felder
2024-07-25Improve specs and matchingMark Felder
2024-07-25Merge remote-tracking branch 'origin/develop' into oban/backupMark Felder
2024-07-25Add test to fetch and validate an activity that originally failed signatureMark Felder
2024-07-25Extract validate_signature/2 from the HTTPSignaturePlugMark Felder
This logic only exists in the Plug, so attempting to validate the signature by calling the library function HTTPSignature.validate_conn/2 directly will never work because we do not attempt to construct the (request-target) and @request-target headers with both the commonly misinterpreted and correct implementation of this field. Therefore all attempts to validate a signature from an Oban Job will fail.
2024-07-25Fix Optimistic Inbox for failed signaturesMark Felder
When signatures fail on incoming activities we put the job into Oban to be processed later instead of doing the user fetching and validation inline which is expensive and increases latency on the incoming POST request. Unfortunately we did not retain the :method, :request_path, and :query_string parameters from the conn so the signature validation and Oban Job would always fail. This was most obvious when Mastodon sends Deletes for users your server has never seen before.
2024-07-24Fix RichMedia negative cache entriesMark Felder
The negative cache entry was a nil value, but that is an expected response when the cache is missing an entry so it didn't work as intended.
2024-07-24Consider errors during HTTP GET and HEAD to be unrecoverable and insert a ↵Mark Felder
negative cache entry This is for a normal HTTP error response or timeout while receiving the data. A hard error from a process crash, DNS lookup failure, etc should produce a different response than {:ok, %Tesla.Env{}} and the request/job will be retryable.
2024-07-24Pad RichMediaWorker timeout to be 2s longer than the Rich Media HTTP timeoutMark Felder
2024-07-24Pleroma.HTTP: permit passing through custom Tesla Middlware for requestsMark Felder
2024-07-23Make backup timeout configurableMark Felder
2024-07-23Extend the backup job time limit to 30 minutesMark Felder
2024-07-23Better random tempdir formatMark Felder
2024-07-23Limit backup jobs to 5 minutesMark Felder
2024-07-23Refactor backups to be fully controlled by ObanMark Felder
2024-07-23Fix dialyzer errorMark Felder
lib/pleroma/application.ex:1:pattern_match The pattern can never match the type true.
2024-07-22Fix order of args for show_reblogs/2Mark Felder
2024-07-22Fix order of args for hide_reblogs/2Mark Felder
2024-07-22Fix order of args for unfollow/2Mark Felder
2024-07-22Fix order of args for follow/2Mark Felder
2024-07-22Fix order of args for unblock/2Mark Felder
2024-07-22Fix order of args for block/2Mark Felder
2024-07-22Fix order of args for vote/3Mark Felder
2024-07-22Fix order of args for thread_muted?/2Mark Felder
2024-07-22Fix order of args for add_mute/2Mark Felder
2024-07-22Fix order of args for remove_mute/2Mark Felder