Mark Felder
a01f0f0f03
Changelog
2024-08-06 12:20:12 -04:00
marcin mikołajczak
52f7033f7a
StreamerView: Do not leak follows count if hidden
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-08-04 16:03:25 +02:00
marcin mikołajczak
de9194893e
Support id
param in GET /api/v1/statuses
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-08-03 18:28:43 +02:00
feld
b389b85d77
Merge branch 'gun/snooze' into 'develop'
...
Gun: Publisher job behavior improvement
See merge request pleroma/pleroma!4202
2024-08-02 13:49:11 +00:00
Mark Felder
1f986ec713
Gun: Publisher job behavior improvement
...
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-08-02 09:25:18 -04:00
Lain Soykaf
2e6ddc4991
Prepare changelog
2024-08-01 11:44:05 +04:00
Mark Felder
e6951e7e40
Fix User.disclose_client never working correctly
...
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-31 14:14:35 -04:00
Mark Felder
b50261262e
Fix publisher job migration error
2024-07-30 11:48:10 -04:00
Mark Felder
d56b889cf1
Update changelog
2024-07-30 11:34:53 -04:00
Mark Felder
52e9bec156
Remove WorkerHelper
2024-07-30 11:34:48 -04:00
feld
355b028c23
Merge branch 'hackney-pool-timeout' into 'develop'
...
Align Hackney and Gun connection pool timeouts
See merge request pleroma/pleroma!4197
2024-07-30 15:33:17 +00:00
feld
a90838accf
Merge branch 'federation/increase' into 'develop'
...
Increase federator outgoing job parallelism
See merge request pleroma/pleroma!4196
2024-07-30 15:31:18 +00:00
feld
18469f3b1d
Merge branch 'oban/simpler-publish' into 'develop'
...
Publisher job simplification
See merge request pleroma/pleroma!4194
2024-07-30 15:23:28 +00:00
Mark Felder
49f46220ff
Align Hackney and Gun connection pool timeouts
2024-07-30 11:11:30 -04:00
Mark Felder
a6119210b7
Increase federator outgoing job parallelism
2024-07-30 11:06:55 -04:00
Mark Felder
66649e1dcd
Remove unused Oban queue
2024-07-30 09:49:09 -04:00
feld
c9042763b0
Merge branch 'oban/backup' into 'develop'
...
Backups Refactoring
See merge request pleroma/pleroma!4158
2024-07-29 16:07:35 +00:00
Mark Felder
59309a9eff
Publisher job simplification
...
Publisher jobs now store the the activity id instead of inserting duplicate JSON data in the Oban queue for each delivery.
2024-07-28 21:04:36 -04:00
Mark Felder
775f45cfe2
Merge remote-tracking branch 'origin/develop' into oban/backup
2024-07-25 14:43:40 -04:00
Mark Felder
1a482a73c3
Fix Optimistic Inbox for failed signatures
...
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-25 11:46:30 -04:00
Mark Felder
2314ff5981
Harden Rich Media parsing against very slow or malicious URLs
2024-07-24 15:55:30 -04:00
Mark Felder
8f285a787f
Refactor backups to be fully controlled by Oban
2024-07-23 10:30:40 -04:00
Mark Felder
2ee8f4f062
Fix dialyzer error
...
lib/pleroma/application.ex:1:pattern_match The pattern can never match the type true.
2024-07-23 10:25:39 -04:00
Mark Felder
c700c5db43
changelog
2024-07-22 19:23:16 -04:00
feld
f77911f05b
Merge branch 'oban/more-improvements' into 'develop'
...
Oban: more improvements
See merge request pleroma/pleroma!4187
2024-07-22 17:45:44 +00:00
Mark Felder
fb654acfad
Fix OpenGraph and Twitter metadata providers when parsing objects with no content or summary fields.
2024-07-20 23:48:54 -04:00
Mark Felder
fdeb8616e8
Increase timeout for background, remote fetcher, and user refresh jobs
2024-07-20 22:16:33 -04:00
Mark Felder
d62a9afed3
Improved detecting unrecoverable errors for incoming federation jobs
2024-07-20 21:53:03 -04:00
Mark Felder
b8503f1ad4
PollWorker jobs will not retry if the activity no longer exists.
2024-07-20 21:24:13 -04:00
Mark Felder
e509519db4
Publisher jobs will not retry if the error received is a 400
2024-07-20 21:21:21 -04:00
feld
e4a6973e0b
Merge branch 'transmogrifier/handle-non-validate-delete-errors' into 'develop'
...
Transmogrifier: handle non-validate errors on incoming Delete activities
See merge request pleroma/pleroma!4185
2024-07-21 00:47:10 +00:00
Mark Felder
d44765bc13
Support cancelling jobs when Unreacting
2024-07-20 15:14:46 -04:00
Mark Felder
304b7f5093
Support cancelling jobs when Unrepeating
2024-07-20 15:06:19 -04:00
Mark Felder
86ae00f9da
Support cancelling jobs when Unfavoriting
2024-07-20 14:54:31 -04:00
Mark Felder
62280a3b9f
Cancel queued (undelivered) publishing jobs for an activity when deleting that activity.
2024-07-20 14:54:04 -04:00
Mint
1f3ac66844
Transmogrifier: handle non-validate errors on incoming Delete activities
...
This should fix WithClauseError resulting in Oban jobs for processing
incoming deletes being retried without getting cancelled when those
deletes are MRF rejected.
2024-07-18 18:04:32 +03:00
feld
c45ee5fc82
Merge branch 'oban/fetcher-rejected' into 'develop'
...
Dialyzer fix for RemoteFetcherWorker
See merge request pleroma/pleroma!4183
2024-07-17 18:03:48 +00:00
feld
89d22ac68e
Merge branch 'docs/fix_mrfs' into 'develop'
...
Add docs for fix_mrf_policies
See merge request pleroma/pleroma!4184
2024-07-17 17:52:19 +00:00
Mark Felder
6cd3f9042f
Add docs for fix_mrf_policies
2024-07-17 13:51:56 -04:00
Mark Felder
c05cbaa937
Dialyzer fix for RemoteFetcherWorker
2024-07-17 13:42:13 -04:00
Mark Felder
d124d8645e
Rework some Rich Media functionality for better error handling
...
Oban should not retry jobs that are likely to fail again
2024-07-17 12:40:07 -04:00
Mark Felder
4cbb59c8f6
Add Oban Live Dashboard
2024-07-17 09:32:29 -04:00
Mark Felder
c9203f125c
Added a Mix task "pleroma.config fix_mrf_policies" which will remove erroneous MRF policies from ConfigDB
2024-07-15 15:21:16 -04:00
Mark Felder
2e2caad28d
Fix Oban jobs exiting with :error instead of :cancel
2024-07-15 11:45:12 -04:00
Mark Felder
1e8d1904e6
Define missing Oban timeouts
2024-07-15 10:27:37 -04:00
Mark Felder
f52b229baa
Oban: change :discard return values to :cancel
...
:discard will be removed in Oban 3.0. It was only meant for internal use.
2024-07-12 11:40:59 -04:00
feld
3754713599
Merge branch 'oban/fetcher-discard-rejected' into 'develop'
...
Discard Remote Fetcher jobs which errored due to an MRF rejection
See merge request pleroma/pleroma!4174
2024-07-12 14:56:55 +00:00
feld
680da772e7
Merge branch 'oban/remove-ingestion' into 'develop'
...
Remove the unused ingestion queue
See merge request pleroma/pleroma!4173
2024-07-12 14:55:02 +00:00
feld
2e7258cafd
Merge branch 'move-poison' into 'develop'
...
Move poison dependency
See merge request pleroma/pleroma!4156
2024-07-12 14:26:25 +00:00
Mark Felder
b051e68bb0
Discard Remote Fetcher jobs which errored due to an MRF rejection
2024-07-12 10:15:02 -04:00
Mark Felder
d790df73f6
Remove the unused ingestion queue
2024-07-12 10:12:18 -04:00
Taylan Kammer
03c3c58d74
LDAP Authenticator: Improve error reporting.
2024-07-10 09:22:58 +02:00
Mark Felder
272aae157e
Refactor maybe_handle_group_posts/1
2024-07-06 17:02:33 -04:00
Pleroma User
e4ba5777ee
Merge branch 'develop' into 'move-poison'
...
# Conflicts:
# mix.exs
2024-07-06 13:59:30 +00:00
Mark Felder
2fe1e96f2b
Fix LDAP support
2024-07-01 16:02:13 -04:00
Mark Felder
62d9333eb0
CI: Switch to Elixir 1.17
2024-07-01 15:58:56 +00:00
lain
ccbbee7963
Merge branch 'exif' into 'develop'
...
Ensure StripLocation works for PNGs
See merge request pleroma/pleroma!4167
2024-06-30 09:28:17 +00:00
Lain Soykaf
abbc5b6e48
Add changelog
2024-06-30 11:47:07 +04:00
feld
801a9367d0
Merge branch 'fix/oban-user-refresh-unique' into 'develop'
...
Oban Jobs for refreshing users were not respecting the uniqueness setting
See merge request pleroma/pleroma!4164
2024-06-28 14:47:25 +00:00
Mark Felder
9e5adf31c0
Change Gun connection pool logs to debug
2024-06-28 10:23:02 -04:00
Mark Felder
51a36bc9b8
Oban Jobs for refreshing users were not respecting the uniqueness setting
2024-06-28 10:12:58 -04:00
Mark Felder
01ed270dba
Changelog
2024-06-27 14:06:15 +00:00
Mark Felder
b135fa35a1
RichMedia: test that activity is streamed out
2024-06-24 09:47:16 -04:00
Mark Felder
634e3d4155
Add test validating the activity_id is correctly present in the Oban job
...
This was preventing the activity from being streamed over websockets.
2024-06-23 21:45:56 -04:00
pleromian
56927ffd22
add changelog for poison
2024-06-22 00:25:44 +02:00
feld
93eb458c24
Merge branch 'netbsd-wip' into 'develop'
...
update docs for NetBSD
See merge request pleroma/pleroma!4150
2024-06-21 15:35:48 +00:00
Mark Felder
7d5065819c
Enable erratic tests
2024-06-20 19:43:39 +00:00
Mark Felder
c765fcbe7e
Gun Connection Pool: successfully retry after reclaiming the pool
2024-06-20 14:03:22 -04:00
Mark Felder
655ac98478
Merge remote-tracking branch 'origin/develop' into fix/debug-logs
2024-06-20 09:00:39 -04:00
feld
4a881ba366
Merge branch 'ci/cache' into 'develop'
...
Change CI caching strategy
See merge request pleroma/pleroma!4153
2024-06-20 13:00:09 +00:00
Mark Felder
f00a681cc1
Change CI caching strategy
...
Key the cache on the image being used and the commit sha. This should allow the cache to be reused by the same runner across multiple jobs/stages where appropriate.
2024-06-20 08:59:39 -04:00
Mark Felder
e1e099d3bf
Set console logs to :info for Elixir 1.15+
2024-06-19 23:26:12 -04:00
Mark Felder
17d04ccc8b
RichMedia backfill processing through Oban
2024-06-19 23:20:22 -04:00
pleromian
af53efa9e3
docs: update docs for NetBSD
2024-06-20 01:40:02 +02:00
Mark Felder
e0afb2c093
Elixir Logger configuration is now longer permitted through AdminFE and ConfigDB
2024-06-19 16:39:49 +00:00
Mark Felder
e43e09a04c
Merge remote-tracking branch 'origin/develop' into bugfix/elixir-1.15
2024-06-18 16:47:01 +00:00
Mark Felder
9c67637255
Refactor the async user refreshing to use Oban
...
Previous implementation could cause duplicate simultaneous profile fetches which is not polite.
2024-06-17 10:41:14 -04:00
Mark Felder
e37845cd35
Stale user refreshing should be done async to prevent blocking of rendering activities
2024-06-16 17:39:35 -04:00
Haelwenn (lanodan) Monnier
3e7f05d0b1
Add changelog entry (elixir-1.15)
2024-06-12 15:18:47 -04:00
Lain Soykaf
1ae5c2b020
Transmogrifier: Encode Emoji id to be valid.
2024-06-12 12:41:33 +04:00
Mark Felder
a291a6b8c0
Ensure the webpush notification for e.g., mentions start with the nickname of the actor it originates from
2024-06-11 18:15:32 -04:00
feld
f47a124698
Merge branch 'webpush-polls' into 'develop'
...
Render nice web push notifications for polls
See merge request pleroma/pleroma!4144
2024-06-11 20:24:15 +00:00
Mark Felder
5313255b1a
Use conn.request_path for more legible error log
2024-06-11 16:07:22 -04:00
Mark Felder
51eeb80822
Merge remote-tracking branch 'origin/develop' into webpush-polls
2024-06-09 08:37:24 -04:00
Mark Felder
3211557f74
Render nice web push notifications for polls
2024-06-08 22:08:12 -04:00
Mark Felder
84319dbca4
OTP updates
...
Update to otp25 for Elixir 1.13; otp26 for Elixir 1.15
2024-06-08 14:44:09 -04:00
Mark Felder
471412ad34
Stream end of poll notification over websockets and web push
2024-06-08 13:19:41 -04:00
Pleroma User
dbf29cbae4
Bump deps
2024-06-08 01:39:08 +00:00
feld
b23b007d00
Merge branch 'feld/cleanup' into 'develop'
...
Minor cleanup commits
See merge request pleroma/pleroma!4142
2024-06-07 21:52:55 +00:00
feld
a4bd89c77e
Merge branch 'spex/notification-types' into 'develop'
...
Spex: Add missing notification types to the api spec
See merge request pleroma/pleroma!4141
2024-06-07 20:42:50 +00:00
feld
f44987bd0f
Merge branch 'bugfix/rich_media_config' into 'develop'
...
RichMedia: Respect configuration on status previews
See merge request pleroma/pleroma!4130
2024-06-07 20:37:19 +00:00
Mark Felder
d98b1c2757
Small cleanup / fixes
2024-06-07 16:35:26 -04:00
Mark Felder
5915062874
Add missing notification types to the api spec
2024-06-07 15:50:11 -04:00
feld
bf8b251dc1
Merge branch 'cowboy-streaming' into 'develop'
...
Allow Cowboy to stream the response instead of chunk it
See merge request pleroma/pleroma!4138
2024-06-05 12:18:56 +00:00
Mark Felder
858d528cc1
Allow Cowboy to stream the response instead of chunk it
2024-06-04 23:08:05 -04:00
lain
acde8d0e0c
Merge branch 'ipfs-dialyzer-fixes' into 'develop'
...
IPFS uploader: dialyzer fixes
See merge request pleroma/pleroma!4129
2024-06-01 11:30:42 +00:00
Floatingghost
0302431888
Use proper workers for fetching pins instead of an ad-hoc task
...
BUG: https://git.pleroma.social/pleroma/pleroma/-/issues/3276
2024-05-31 09:09:04 -04:00
Mark Felder
cfc8d7aade
IPFS uploader: dialyzer fixes
...
lib/pleroma/uploaders/ipfs.ex:43:no_return
Function put_file/1 has no local return.
________________________________________________________________________________
lib/pleroma/uploaders/ipfs.ex:49:call
The function call will not succeed.
Pleroma.HTTP.post(
binary(),
_mp :: %Tesla.Multipart{
:boundary => binary(),
:content_type_params => [binary()],
:parts => [
%Tesla.Multipart.Part{
:body => binary(),
:dispositions => [any()],
:headers => [any()]
},
...
]
},
[],
[{:params, [{:"cid-version", <<49>>}]}]
)
will never return since the success typing is:
(binary(), binary(), [{binary(), binary()}], Keyword.t()) ::
{:error, _}
| {:ok,
%Tesla.Env{
:__client__ => %Tesla.Client{
:adapter => nil | {_, _} | {_, _, _},
:fun => _,
:post => [any()],
:pre => [any()]
},
:__module__ => atom(),
:body => _,
:headers => [{_, _}],
:method => :delete | :get | :head | :options | :patch | :post | :put | :trace,
:opts => [{_, _}],
:query => [{_, _}],
:status => nil | integer(),
:url => binary()
}}
and the contract is
(Pleroma.HTTP.Request.url(), String.t(), Pleroma.HTTP.Request.headers(), :elixir.keyword()) ::
{:ok, Tesla.Env.t()} | {:error, any()}
2024-05-30 15:14:27 -04:00
feld
ff6f5a417f
Merge branch 'mrf-nsfw-otp25' into 'develop'
...
Fix Logger.warn deprecation error on OTP25
See merge request pleroma/pleroma!4135
2024-05-30 15:38:18 +00:00
lain
6feb536e79
Merge branch 'missing-fks' into 'develop'
...
Add missing foreign key indexes
See merge request pleroma/pleroma!4134
2024-05-30 15:24:24 +00:00