Commit graph

10733 commits

Author SHA1 Message Date
Mark Felder
4601473aaf Fix order of args for add_mute/2 2024-07-22 18:25:37 -04:00
Mark Felder
d27ad36ce4 Fix order of args for remove_mute/2 2024-07-22 18:25:37 -04:00
Mark Felder
f602813d31 Fix order of args for update/2 2024-07-22 18:25:37 -04:00
Mark Felder
7e37882cf7 Fix order of args for favorite/2 2024-07-22 18:25:37 -04:00
Mark Felder
b1d3348331 Annotate public functions with typespecs and mark some functions as private 2024-07-22 18:25:33 -04:00
Mark Felder
3a79f060bb Add missing type 2024-07-22 15:32:20 -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
e0d0992e10 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-07-21 12:36:25 +02:00
Mark Felder
f9647a86ed Fix the ObjectValidator error matching 2024-07-21 00:03:51 -04: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
Mark Felder
d3c2180181 Formatting 2024-07-18 12:12:34 -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
Mark Felder
c05cbaa937 Dialyzer fix for RemoteFetcherWorker 2024-07-17 13:42:13 -04:00
Mark Felder
f753bd3380 Explicitly handle the GET and HEAD errors 2024-07-17 13:12:51 -04:00
Mark Felder
1e0d5934d5 Fix return for cancelling job 2024-07-17 12:51:38 -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
30defb1674 Create a DeleteWorker and change user and instance deletion jobs to use it
These deletion tasks are slow, but the other background jobs are not. This
will allow us to have a lower timeout on the normal background jobs.
2024-07-15 11:58:07 -04:00
Mark Felder
2f14990c5c Change PurgeExpiredActivity to use the background queue 2024-07-15 11:45:13 -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
9055a3b49a Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-07-13 17:49:07 +02: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
Mark Felder
b051e68bb0 Discard Remote Fetcher jobs which errored due to an MRF rejection 2024-07-12 10:15:02 -04:00
15508da194 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-07-10 23:50:06 +02: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
Mark Felder
3127c5f0af Fix automatic LDAP account registration on OTP 24.3+ 2024-07-01 15:58:15 -04:00
Mark Felder
9402789437 Dialyzer: fix typespec 2024-07-01 11:47:27 -04:00
Mark Felder
b283b686c4 Dialyzer: Function application with args (_ :: map()) will not succeed. 2024-07-01 11:45:27 -04:00
Mark Felder
7955cd90e6 Dialyzer: The guard clause can never succeed. 2024-07-01 11:45:27 -04:00
Mark Felder
fd62969dc4 Dialyzer: pattern can never match the type 2024-07-01 11:45:25 -04:00
Mark Felder
a008005bdd Dialyzer: fix typespec 2024-07-01 11:38:40 -04:00
Mark Felder
69482004fc Dialyzer: pattern can never match the type because it is covered by previous clauses. 2024-07-01 11:38:40 -04:00
Mark Felder
fb52099a13 Elixir 1.17 single quote charlist warning 2024-07-01 11:38:40 -04:00
Mark Felder
6e1aa8aeeb Elixir 1.17 undefined module warning
Fixes module name being not fully qualified

    warning: AdminAPI.FallbackController.call/2 is undefined (module AdminAPI.FallbackController is not available or is yet to be defined)
    │
  5 │ defmodule Pleroma.Web.AdminAPI.RuleController do
    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/pleroma/web/admin_api/controllers/rule_controller.ex:5: Pleroma.Web.AdminAPI.RuleController.action/2

    warning: AdminAPI.FallbackController.init/1 is undefined (module AdminAPI.FallbackController is not available or is yet to be defined)
    │
  5 │ defmodule Pleroma.Web.AdminAPI.RuleController do
    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    │
    └─ lib/pleroma/web/admin_api/controllers/rule_controller.ex:5: Pleroma.Web.AdminAPI.RuleController.action/2
2024-07-01 11:38:40 -04:00
Mark Felder
d3cccce9fd Elixir 1.17 warnings for parens
Function calls must have parens
2024-07-01 11:38:40 -04:00
14938d75f1 Merge branch 'fork' into backend-new 2024-06-30 23:16:20 +02:00
b1691732e9 scrub_html for translation results, allow 'ellipsis' and 'invisible' class names
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-06-30 23:09:36 +02:00
fc32646f7f Merge branch 'fork' into backend-new
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-06-30 12:06:48 +02: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
6d4fb53206 StripLocation: Remove all PNG extra info to make sure that GPS data is gone. 2024-06-28 21:59:00 +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
b135fa35a1 RichMedia: test that activity is streamed out 2024-06-24 09:47:16 -04:00
5d1cb904ac Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-06-24 11:37:28 +02: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
Mark Felder
9ef021e2da Switch the reclaimer to GenServer.start so it is not linked 2024-06-20 14:17:28 -04:00
Mark Felder
c765fcbe7e Gun Connection Pool: successfully retry after reclaiming the pool 2024-06-20 14:03:22 -04:00
Mark Felder
17d04ccc8b RichMedia backfill processing through Oban 2024-06-19 23:20:22 -04:00
Mark Felder
4dfa50f256 Rename RichMediaExpirationWorker to RichMediaWorker 2024-06-19 22:24:48 -04:00
Mark Felder
ed2976b237 Custom mix task to retry failed tests once in CI pipeline
This will be temporary* as we hunt down the cause of the random test failures

* gonna regret this
2024-06-19 19:04:12 -04:00
Mark Felder
3a8420b141 Remove remaining vestiges of Logger support in ConfigDB/TransferTask 2024-06-19 14:29:44 -04: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
Mark Felder
cbf8f8ac0d Fix mix pleroma.config dump on Elixir 1.15 2024-06-13 10:48:50 -04:00
Lain Soykaf
41434ffcec Tests: Don't spawn processes in tests. 2024-06-12 15:20:04 -04:00
Haelwenn (lanodan) Monnier
c389ea0f42 Fix compatibility with Loggers in Elixir 1.15+ 2024-06-12 15:18:47 -04:00
Haelwenn (lanodan) Monnier
2180537a2b MediaProxy: :whitelist config fallback to [] 2024-06-12 15:18:47 -04:00
Haelwenn (lanodan) Monnier
66ac2e9b81 Upload.base_url: Don't pass nil to Path.join(), don't return nil 2024-06-12 15:18:47 -04:00
Haelwenn (lanodan) Monnier
cb91dab75f Switch formatting checks to 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
5c8afbe646 Fix tests 2024-06-11 18:55:10 -04:00
Mark Felder
6a9d9da26f Cyclical complexity 2024-06-11 18:38:41 -04:00
Mark Felder
603a575766 The user is not always preloaded into the notification 2024-06-11 18:14:07 -04:00
Mark Felder
568819c08a WebPush refactoring: separate build and deliver steps 2024-06-11 17:58:02 -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
c1b84edefc Increase web push character limit for the body 2024-06-08 22:48:38 -04:00
Mark Felder
dcc50da400 Stream the notifications as part of the job 2024-06-08 22:40:08 -04:00
Mark Felder
3211557f74 Render nice web push notifications for polls 2024-06-08 22:08:12 -04:00
Mark Felder
b1ef6e5e9a Cleanup to make the code easier to follow 2024-06-08 19:50:01 -04:00
Mark Felder
86fa0889bc Remove unnecessary mastodon_type hack 2024-06-08 19:30:27 -04:00
Mark Felder
db88bf30d5 Add spec for send/1 2024-06-08 19:20:38 -04:00
Mark Felder
07cb89823f More robust validation the vapid config is set 2024-06-08 18:59:51 -04:00
Mark Felder
471412ad34 Stream end of poll notification over websockets and web push 2024-06-08 13:19:41 -04:00
Mark Felder
b1c52c3062 Rename Notification.send/1 to Notification.stream/1
Also update other places where we use the term "send" instead of "stream". This should make it clearer that we are streaming these over websockets / web push and not sending an activity.
2024-06-08 13:14:25 -04:00
2afe272595 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-06-08 15:37:29 +02: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
5ed07aba7a Add missing pool to the type 2024-06-07 16:34:32 -04:00
Mark Felder
6ded017dee Do not start unused ConcurrentLimiter processes 2024-06-07 16:34:13 -04:00
Mark Felder
b52d772a6e Add some useful logging for ApiSpec errors 2024-06-07 16:26:56 -04:00
Mark Felder
5915062874 Add missing notification types to the api spec 2024-06-07 15:50:11 -04:00
6c1e99d96a Merge remote-tracking branch 'origin/develop' into fork 2024-06-06 12:09:40 +02: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
d7468558b8 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-06-04 18:36:25 +02:00
9040b98b07 Merge branch 'multilang' into backend-new
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-06-02 15:15:37 +02:00
e80715c06d fix tests
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-06-02 13:54:55 +02: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
48be78b375 MultiLanguage: Remove map_to_str
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-31 23:21:02 +02: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
Mark Felder
f5065eaf99 Fix Logger.warn deprecation error on OTP25 2024-05-30 11:09:42 -04:00
9b0c05f70c wip
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-29 23:28:04 +02:00
Mark Felder
14b4bd69a8 Add additional flags to the Pleroma.Search.Indexer Mix task 2024-05-29 10:44:40 -04:00
Haelwenn (lanodan) Monnier
65c8763907
RichMedia: Add extra checks on configuration 2024-05-29 08:02:06 +02:00
Haelwenn (lanodan) Monnier
c16ef40f13
RichMedia: Respect configuration on status previews 2024-05-29 08:02:04 +02:00
feld
3b639b467e Merge branch 'dialyzer-fixes' into 'develop'
Dialyzer fixes

See merge request pleroma/pleroma!4128
2024-05-28 17:26:58 +00:00
ccf76bfdea Fix notification types
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-28 17:29:17 +02:00
5b8ad04f8b Fix notification types
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-28 17:29:06 +02:00
Mark Felder
79c418bcb7 Dialyzer: fix invalid @spec 2024-05-28 11:07:28 -04:00
Mark Felder
6b6a2adb07 Dialyzer: The function call will not succeed.
:idna.encode/1 expects a charlist even though it will accept a binary string. That functionality is undocumented / not part of its typespec, so we should turn it into a charlist first. Also switch to using match?/2

lib/pleroma/user.ex:2056:call
The function call will not succeed.

:idna.encode(_host :: binary())

will never return since the success typing is:
(string()) :: string()

and the contract is
(string()) :: string()
2024-05-28 10:49:43 -04:00
Mark Felder
6551ca2db7 Dialyzer: overlapping_contract
Wrong @spec name for remove_from_block/2

lib/pleroma/user.ex:2721:overlapping_contract
Overloaded contract for Pleroma.User.add_to_block/2 has
overlapping domains; such contracts are currently unsupported and
are simply ignored.
2024-05-28 10:40:54 -04:00
da19454471 Merge branch 'fork' into multilang
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-28 16:39:20 +02:00
Mark Felder
8743c6c640 Dialyzer: The pattern can never match the type
We will never pass :plain to query_with/4, so remove that match and change it to query_with/3

lib/pleroma/search/database_search.ex:127:pattern_match
The pattern can never match the type.

Pattern:
_q, :rum, _search_query, :plain

Type:

  %Ecto.Query{
    :aliases => _,
    :assocs => _,
    :combinations => _,
    :distinct => _,
    :from => _,
    :group_bys => _,
    :havings => _,
    :joins => _,
    :limit => _,
    :lock => _,
    :offset => _,
    :order_bys => _,
    :prefix => _,
    :preloads => _,
    :select => _,
    :sources => _,
    :updates => _,
    :wheres => _,
    :windows => _,
    :with_ctes => _
  },
  :rum,
  _,
  :websearch
2024-05-28 10:36:00 -04:00
a0eff7cc94 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-28 16:35:22 +02:00
Mark Felder
1b3c84e241 Dialyzer: no_local_return
WebPushEncryption.send_web_push/4 was written to raise on erroroneus input, so we must guard against that.

lib/pleroma/web/push/impl.ex:65:no_return Function push_message/4 has no local return.
2024-05-28 10:19:35 -04:00
Mark Felder
17ebb2df84 Dialyzer: fix pattern matches preventing video thumbnailing from working
lib/pleroma/web/media_proxy/media_proxy_controller.ex:154:pattern_match
The pattern can never match the type.

Pattern:
{:ok, _thumbnail_binary}

Type:
{:error, boolean() | {:ffmpeg, :command_not_found}}
2024-05-28 10:19:22 -04:00
Mark Felder
18835bf701 Use the configured http client options for mediaproxy 2024-05-28 09:38:36 -04:00
Mark Felder
f8ce639e3f Dialyzer: guard clause can never succeed
lib/pleroma/web/activity_pub/mrf/dnsrbl_policy.ex:106:guard_fail
The guard clause:

when _ ::
  [
    binary()
    | [string() | char()]
    | {string() | integer(), string()}
    | {{byte(), byte(), byte(), byte()}, integer(), binary()}
    | {integer(), integer(), integer(), string() | byte()}
    | {integer(), integer(), string(), string(), string(), string()}
    | {string(), string(), integer(), integer(), integer(), integer(), integer()}
    | {char(), char(), char(), char(), char(), char(), char(), char()}
  ] === nil

can never succeed.
2024-05-28 09:30:19 -04:00
Mark Felder
42c5f7c74e Dialyzer: fix invalid @spec
The callback already defines the @spec and these do not match it.

lib/pleroma/upload/filter/exiftool/strip_location.ex:12:callback_spec_type_mismatch
The @spec return type does not match the expected return type
for filter/1 callback in Pleroma.Upload.Filter behaviour.

Actual:
@spec filter(...) :: {:ok, _}

Expected:
@spec filter(...) :: {:error, _} | {:ok, :filtered | :noop} | {:ok, :filtered, struct()}
2024-05-28 08:55:18 -04:00
Lain Soykaf
cc42b50c5b Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-feature/akkoma-prune-old-posts 2024-05-28 16:51:19 +04:00
Mark Felder
0b864c3696 Dialyzer: fix invalid @spec
lib/pleroma/notification.ex:492:invalid_contract
The @spec for the function does not match the success typing of the function.

Function:
Pleroma.Notification.get_notified_from_activity/2

Success typing:
@spec get_notified_from_activity(_, _) :: [any()]
2024-05-28 08:49:34 -04:00
Lain Soykaf
f5978da676 HTTPSignaturePlugTest: Rewrite to use mox. 2024-05-28 14:00:25 +04:00
Lain Soykaf
3b4be5daa2 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-secure-mode 2024-05-28 12:31:12 +04:00
lain
25903a4996 Merge branch 'auth-fetch-exception' into 'develop'
HTTPSignaturePlug: Add :authorized_fetch_mode_exceptions

See merge request pleroma/pleroma!4007
2024-05-28 04:42:35 +00:00
lain
8ff0c32903 Merge branch 'httpfixes' into 'develop'
Some HTTP and connection pool improvements

See merge request pleroma/pleroma!4124
2024-05-28 04:38:01 +00:00
Lain Soykaf
73d58c22d4 Linting 2024-05-28 08:09:19 +04:00
Mark Felder
bb86a01b9b Credo 2024-05-27 15:20:47 -04:00
Lain Soykaf
687ac4a850 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into auth-fetch-exception 2024-05-27 23:09:17 +04:00
feld
38db406ce4 Merge branch 'simpler-oban-queues' into 'develop'
Oban queue simplification

See merge request pleroma/pleroma!4123
2024-05-27 19:02:53 +00:00
lain
121791882f Merge branch 'explicitly-allow-unsafe-2' into 'develop'
Explicitly allow unsafe 2

See merge request pleroma/pleroma!4125
2024-05-27 18:43:05 +00:00
lain
3316a7ab70 Merge branch 'qdrant-search-2' into 'develop'
Search: Basic Qdrant/Ollama search

See merge request pleroma/pleroma!4109
2024-05-27 18:41:20 +00:00
Lain Soykaf
81e44ced0c HTTPSecurityPlug: Fix tests 2024-05-27 22:13:20 +04:00
Mark Felder
6b8c15a4a1 Remove MediaProxyWarmingPolicy config for ConcurrentLimiter as we are not using it 2024-05-27 14:11:42 -04:00
feld
42150d5581 Merge branch 'logger-metadata' into 'develop'
Logger metadata

See merge request pleroma/pleroma!3990
2024-05-27 17:53:33 +00:00
Mark Felder
0847d9ebaf Oban queue simplification 2024-05-27 13:48:17 -04:00
Lain Soykaf
1c699144d2 HttpSecurityPlug: Don't allow unsafe-eval by default 2024-05-27 21:26:40 +04:00
lain
07b7a8d697 Merge branch 'image-description-summary' into 'develop'
Add support for Honk "summary" + "name"

See merge request pleroma/pleroma!3854
2024-05-27 16:51:07 +00:00
a3ea7c9f06 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-27 18:49:49 +02:00
feld
10b7efa98c Merge branch 'anti-mention-spam-mrf' into 'develop'
Anti-mention Spam MRF

See merge request pleroma/pleroma!4072
2024-05-27 16:46:31 +00:00
Mark Felder
cab6372d7a Make user age limit configurable
Switch to milliseconds for consistency with other configuration options in codebase
2024-05-27 12:31:29 -04:00
Alex Gleason
02d8ce8f0b AntiMentionSpamPolicy: remove followers check 2024-05-27 12:25:09 -04:00
Alex Gleason
64cacc3694 AntiMentionSpamPolicy: fix user age check 2024-05-27 12:25:09 -04:00
Alex Gleason
5e963736ce Add AntiMentionSpamPolicy 2024-05-27 12:25:09 -04:00
Mark Felder
0bddca361d DNSRBL in an MRF 2024-05-27 12:23:36 -04:00
Lain Soykaf
f4c0a01f09 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into image-description-summary 2024-05-27 20:03:14 +04:00
Lain Soykaf
e4f1325f78 InetHelper: Don't use deprecated function. 2024-05-27 19:44:41 +04:00
lain
7798fdc711 Merge branch 'show-reposted-replies' into 'develop'
Display reposted replies with exclude_replies: true

See merge request pleroma/pleroma!3961
2024-05-27 15:33:50 +00:00
Lain Soykaf
d3e85da0fd Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into auth-fetch-exception 2024-05-27 19:27:02 +04:00
Mark Felder
37d79b76bb Use the configured http client options for mediaproxy 2024-05-27 11:26:21 -04:00
Mark Felder
d272eb62cd Trust the connection pools to enforce the concurrency limitations 2024-05-27 11:25:19 -04:00
lain
e93ae96e13 Merge branch 'nsfw-api-mrf' into 'develop'
NSFW API Policy

See merge request pleroma/pleroma!3471
2024-05-27 15:20:43 +00:00
Mark Felder
a50c657427 Add a dedicated connection pool for Rich Media
Sharing this pool with regular Media is problematic as Rich Media will connect to many different
domains and thrash the pool, but regular Media will have predictable connections to the webservers
hosting media for the fediverse servers you peer with.
2024-05-27 11:17:02 -04:00
Lain Soykaf
4325b1aec3 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into nsfw-api-mrf 2024-05-27 17:49:31 +04:00
Lain Soykaf
3055c1598b IPFSTest: Fix configuration mocking 2024-05-27 17:22:18 +04:00
Lain Soykaf
825b4122a5 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-ipfs_uploader 2024-05-27 16:23:40 +04:00
Lain Soykaf
4d6316b488 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into reject-replies-to-deleted 2024-05-27 15:19:53 +04:00
Lain Soykaf
ddf103eca0 QdrantSearch: Fetch a post in search if possible. 2024-05-27 14:35:08 +04:00
Lain Soykaf
f4c04e6b2d QdrantSearch: Add health checks. 2024-05-27 14:21:55 +04:00
Lain Soykaf
8b76f56050 QdrantSearch: Add healthcheck for qdrant 2024-05-27 14:01:17 +04:00
Lain Soykaf
08e9d995f8 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2 2024-05-27 13:50:22 +04:00
lain
5e43060128 Merge branch 'search-healthcheck' into 'develop'
Search backend healthcheck process

See merge request pleroma/pleroma!4120
2024-05-27 09:46:57 +00:00
Lain Soykaf
d35b69d268 Pleroma.Search: Remove wrong (but irrelevant) results 2024-05-27 13:18:02 +04:00
Mark Felder
d9b82255b9 Add an HTTP timeout for the healthcheck 2024-05-26 15:23:12 -04:00
Mark Felder
d4769b076a Return a 422 when trying to reply to a deleted status 2024-05-26 15:14:48 -04:00
Mark Felder
f2b0d5f1d0 Make it easier to read the state for debugging purposes and expose functions for testing 2024-05-26 14:11:41 -04:00
Mark Felder
807782b7f9 Fix rich media parsing some Amazon URLs 2024-05-26 14:02:20 -04:00
Mark Felder
3474b42ce3 Drop TTL to 5 seconds 2024-05-25 16:55:29 -04:00
Mark Felder
61a3b79316 Search backend healthcheck process 2024-05-25 16:07:47 -04:00
1268453a43 Merge branch 'fork' into multilang
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-23 17:37:16 +02:00
4cab6a9db0 Fix tests and regressions
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-23 17:05:52 +02:00
Lain Soykaf
a566ad56e1 QdrantSearch: Fix actor / author restriction 2024-05-23 18:55:16 +04:00
38bff08bad Fix warning
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-23 13:13:24 +02:00
Lain Soykaf
94e4f21589 QdrantSearch: Deal with actor restrictions 2024-05-23 14:38:30 +04:00
2478532869 Fix warnings
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-23 12:12:56 +02:00
Lain Soykaf
f726e5fbbd Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2 2024-05-22 20:07:43 +04:00
9876411269 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 17:17:04 +02:00
d0b18e338b Fix validate_webfinger when running a different domain for Webfinger
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-22 15:52:35 +02:00
1f2f7e044d Revert "Webfinger: Allow managing account for subdomain"
This reverts commit 84bb854056.
2024-05-22 15:52:10 +02:00
Lain Soykaf
84bb854056 Webfinger: Allow managing account for subdomain 2024-05-22 15:12:29 +04:00
Alex Gleason
b15f8b0642 Prevent webfinger spoofing 2024-05-22 12:57:45 +04:00
ef50dd588b Merge branch 'fork' into multilang 2024-05-21 13:57:28 +02:00
lain
7fca598268 Merge branch 'status-notification-type' into 'develop'
Add "status" notification type

See merge request pleroma/pleroma!3659
2024-05-21 05:01:45 +00:00
7a2b731f25 Fix get_notified_from
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-20 23:34:13 +02:00
d7f90782e2 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-20 23:32:49 +02:00
36fa0debfe Fix get_notified_from
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-20 23:25:50 +02:00
Lain Soykaf
c67506ba68 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into auth-fetch-exception 2024-05-20 18:21:46 +04:00
lain
e8cd6662eb Merge branch 'familiar-followers' into 'develop'
Implement `/api/v1/accounts/familiar_followers`

See merge request pleroma/pleroma!4098
2024-05-19 12:05:55 +00:00
Lain Soykaf
1b4f1db9b2 QdrantSearch: Support pagination. 2024-05-19 14:41:05 +04:00
Lain Soykaf
72ec261a69 B QdrantSearch: Switch to OpenAI api 2024-05-19 12:17:46 +04:00
Lain Soykaf
cc1321ea2e Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2 2024-05-19 11:51:33 +04:00
lain
401aca2548 Merge branch 'mark-read' into 'develop'
PleromaAPI: Simplify marking notifications as read

See merge request pleroma/pleroma!4111
2024-05-19 07:48:32 +00:00
8dfd0797f3 Fix multilanguage, add feature to InstanceView
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-18 22:42:09 +02:00
Mark Felder
d07d49227f PleromaAPI: marking notifications as read no longer returns notifications 2024-05-18 18:17:35 +00:00
3d4510efee Merge remote-tracking branch 'mkljczk-github/fork' into multilang 2024-05-18 16:12:28 +02:00
Lain Soykaf
3345ddd2d4 Linting 2024-05-18 15:02:22 +04:00
Lain Soykaf
7923ede8ba Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into qdrant-search-2 2024-05-18 14:45:26 +04:00
Lain Soykaf
e3933a067f QdrantSearch: Implement post deletion 2024-05-18 14:04:32 +04:00
Lain Soykaf
933117785f QdrantSearch: Add basic test 2024-05-18 13:43:47 +04:00
2e76ceb5b4 Merge remote-tracking branch 'origin/develop' into status-notification-type
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-18 11:30:25 +02:00
cc4fccdd80 Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-17 18:44:47 +02:00
feld
9988dc2227 Revert "Merge branch 'strip-object-actor' into 'develop'"
This reverts merge request !4105
2024-05-16 23:33:48 +00:00
56f19a7e56 Fix language dectection when creating posts
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-16 22:29:01 +02:00
Mark Felder
7f8a9329e5 Startup detection for configured MRF modules that are missing or incorrectly defined 2024-05-16 16:13:29 -04:00
Lain Soykaf
a9be4907c0 SearchBackend: Add drop_index 2024-05-16 10:47:24 +04:00
feld
e944b15298 Merge branch 'strip-object-actor' into 'develop'
Strip actor from objects before federating

Closes #3269

See merge request pleroma/pleroma!4105
2024-05-15 20:51:47 +00:00
feld
53ef576739 Merge branch 'instance_rules' into 'develop'
Instance rules

See merge request pleroma/pleroma!3669
2024-05-15 20:29:04 +00:00
feld
8da103da57 Merge branch 'fix-muted-web-push' into 'develop'
Fix processing of Web Push and streaming notifications

See merge request pleroma/pleroma!4032
2024-05-15 20:12:41 +00:00
548473a818 Remove unused and fix
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-15 00:04:08 +02:00
tusooa
3d3162f3e6 Make no_placeholder_text_policy multilang-aware 2024-05-14 23:48:28 +02:00
tusooa
fb2688952f Make normalize_markup multilang aware 2024-05-14 23:48:24 +02:00
tusooa
e958ec57db Make no_empty_policy multilang-aware 2024-05-14 23:48:21 +02:00
tusooa
9354ee31d2 Make keyword_policy multilang-aware 2024-05-14 23:48:18 +02:00
tusooa
2d66faf9a4 Make force_mentions_in_content multilang aware
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:48:14 +02:00
tusooa
cd0260f309 Make ensure_re_prepended multilang-aware
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:47:41 +02:00
tusooa
792e495180 Fix tests 2024-05-14 23:47:14 +02:00
tusooa
9555e630fd Post single-language status with language attribute 2024-05-14 23:47:10 +02:00
tusooa
c4cec5fd6a Render language attr of a status
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:47:05 +02:00
tusooa
afab622520 Fix article_note_page_validator_test 2024-05-14 23:46:04 +02:00
tusooa
c34a4d816f Accept description_map when updating media
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:45:58 +02:00
tusooa
a9b1589528 Validate multilang map
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:44:47 +02:00
tusooa
023eae28d6 Move validating multilang map into MultiLanguage 2024-05-14 23:43:50 +02:00
tusooa
88ff45e064 Fix unit tests 2024-05-14 23:43:45 +02:00
tusooa
4d2813ae41 Accept multilang descriptions when uploading attachments
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:43:36 +02:00
tusooa
7222cebdb6 Use MultiLanguage func to convert str to map
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:42:28 +02:00
tusooa
b1bdbdcf05 Accept multilang polls on MastoAPI 2024-05-14 23:42:15 +02:00
tusooa
72a2b3329e Accept status_map and spoiler_text_map in POST statuses
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:42:07 +02:00
tusooa
0d96c04019 Accept map of strings in ActivityDraft
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:37:44 +02:00
tusooa
e11d4b6923 Render multilang in polls
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:36:04 +02:00
tusooa
6b20df1e2d Render multilang for attachments 2024-05-14 23:35:32 +02:00
tusooa
64db6ce871 Render multilang of sources
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:35:23 +02:00
tusooa
ad8f47fe8f Display multilang in history items 2024-05-14 23:34:58 +02:00
tusooa
39cdde78e1 Render status with multilang maps
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:34:48 +02:00
tusooa
4cfd7b4f79 Convert nameMap in question options 2024-05-14 23:22:57 +02:00
tusooa
5c62c50e9b Generate * from *Map
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:22:45 +02:00
tusooa
4bcae3597f Treat empty maps as nils 2024-05-14 23:20:29 +02:00
tusooa
d86a1e73e9 Fix compile warning 2024-05-14 23:20:26 +02:00
tusooa
dbebd7fbf4 Validate language codes in MapOfString 2024-05-14 23:20:18 +02:00
tusooa
8822dc1191 Add functions to process multi-language content
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:20:12 +02:00
tusooa
00591d9016 Add support for *Map attributes
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 23:19:45 +02:00
adbd40049d Merge remote-tracking branch 'mkljczk-github/fork' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 18:11:23 +02:00
7a03e49c4d Merge remote-tracking branch 'origin/develop' into fork
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 18:10:03 +02:00
8c3f306c62 Revert to pleroma' card parser
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 17:54:13 +02:00
aceff8c128 Remove duplicated code
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-14 16:44:33 +02:00
Lain Soykaf
1261c43a7a SearchBackend: Add create_index 2024-05-14 17:19:36 +04:00
Lain Soykaf
1490ff30af QdrantSearch: Add query prefix. 2024-05-14 15:09:38 +04:00
Lain Soykaf
bb08a766f4 QdrantSearch: Remove debugging stuff 2024-05-14 14:26:41 +04:00
Lain Soykaf
cd7e2138d1 Search: Basic Qdrant/Ollama search 2024-05-14 14:13:37 +04:00
feld
c954437cc0 Merge branch 'mastodon-instance-v2' into 'develop'
Add new values to /api/v2/instance

Closes #3250 and #3251

See merge request pleroma/pleroma!4106
2024-05-11 12:11:00 +00:00
Mark Felder
16c72d0701 Merge branch 'develop' into fix-muted-web-push 2024-05-11 08:06:04 -04:00
faried nawaz
1bf3ae07b6
add options to mix pleroma.database prune_objects to delete more activities 2024-05-09 10:43:34 +05:00
818d9f7b63 Include image description in status media cards
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-05-08 13:40:26 -04:00
Mark Felder
54c2bab25f Fix module struct matching 2024-05-07 22:27:18 -04:00
Mark Felder
9a83301ff8 Credo 2024-05-07 22:11:19 -04:00
Mark Felder
37c35daba6 Credo 2024-05-07 22:10:49 -04:00
Mark Felder
9b9a32bf74 Fix compile warning
warning: "else" clauses will never match because all patterns in "with" will always match
  lib/pleroma/web/rich_media/parser/ttl/opengraph.ex:10
2024-05-07 21:56:27 -04:00
Mark Felder
19002fd6c1 Mastodon API: Remove deprecated GET /api/v1/statuses/:id/card endpoint
Removed back in 2019

https://github.com/mastodon/mastodon/pull/11213
2024-05-08 01:44:58 +00:00
Mark Felder
5a5a193877 Fix broken Rich Media parsing when the image URL is a relative path 2024-05-07 19:54:56 -04:00
Mark Felder
d21aa1a77c Respect the TTL returned in OpenGraph tags 2024-05-07 19:54:56 -04:00
Mark Felder
df0734fcbf Increase the :max_body for Rich Media to 5MB
Websites are increasingly getting more bloated with tricks like inlining content (e.g., CNN.com) which puts pages at or above 5MB. This value may still be too low.
2024-05-07 19:54:56 -04:00
Mark Felder
ede414094f RichMedia refactor
Rich Media parsing was previously handled on-demand with a 2 second HTTP request timeout and retained only in Cachex. Every time a Pleroma instance is restarted it will have to request and parse the data for each status with a URL detected. When fetching a batch of statuses they were processed in parallel to attempt to keep the maximum latency at 2 seconds, but often resulted in a timeline appearing to hang during loading due to a URL that could not be successfully reached. URLs which had images links that expire (Amazon AWS) were parsed and inserted with a TTL to ensure the image link would not break.

Rich Media data is now cached in the database and fetched asynchronously. Cachex is used as a read-through cache. When the data becomes available we stream an update to the clients. If the result is returned quickly the experience is almost seamless. Activities were already processed for their Rich Media data during ingestion to warm the cache, so users should not normally encounter the asynchronous loading of the Rich Media data.

Implementation notes:

- The async worker is a Task with a globally unique process name to prevent duplicate processing of the same URL
- The Task will attempt to fetch the data 3 times with increasing sleep time between attempts
- The HTTP request obeys the default HTTP request timeout value instead of 2 seconds
- URLs that cannot be successfully parsed due to an unexpected error receives a negative cache entry for 15 minutes
- URLs that fail with an expected error will receive a negative cache with no TTL
- Activities that have no detected URLs insert a nil value in the Cachex :scrubber_cache so we do not repeat parsing the object content with Floki every time the activity is rendered
- Expiring image URLs are handled with an Oban job
- There is no automatic cleanup of the Rich Media data in the database, but it is safe to delete at any time
- The post draft/preview feature makes the URL processing synchronous so the rendered post preview will have an accurate rendering

Overall performance of timelines and creating new posts which contain URLs is greatly improved.
2024-05-07 19:54:56 -04:00
feld
750fb25f48 Revert "Merge branch 'pleroma-card-image-description' into 'develop'"
This reverts merge request !4101
2024-05-07 23:20:38 +00:00
Mark Felder
06c26bf9c9 Add the absent max_featured_tags to the api spec for /api/v1/instance 2024-05-07 17:46:05 -04:00
Mark Felder
b979389958 Add configuration[accounts][max_pinned_statuses] to /api/v2/instance
Also add the absent max_featured_tags to the api spec for /api/v2/instance
2024-05-07 17:45:02 -04:00
Mark Felder
3cad57bf48 Add configuration[statuses][characters_reserved_per_url] to /api/v2/instance
Fixes #3250
2024-05-07 17:25:30 -04:00
Mark Felder
dd03184811 Strip actor from objects before federating 2024-05-07 11:54:45 -04:00
0e608c98b2 Rename project to pl
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-28 23:02:11 +02:00
0bf8a2e38c Merge remote-tracking branch 'origin/develop' into HEAD
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-27 20:26:16 +02:00
Haelwenn
88412daf11 Apply @lanodan's suggestion
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-25 12:34:12 +02:00
lain
50af909c01 Merge branch 'pleroma-card-image-description' into 'develop'
Include image description in status media cards

See merge request pleroma/pleroma!4101
2024-04-19 07:39:05 +00:00
6f6bede900 Include image description in status media cards
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-19 10:20:31 +04:00
lain
87b8ac3ce6 Merge branch 'receiverworker-error-handling' into 'develop'
ReceiverWorker: Make sure non-{:ok, _} is returned as {:error, …}

See merge request pleroma/pleroma!4100
2024-04-19 06:04:44 +00:00
Haelwenn
71a0373232 Merge branch 'ffmpeg-limiter' into 'develop'
Prevent Media Helper from respawning ffmpeg for bad media

See merge request pleroma/pleroma!4086
2024-04-17 05:47:54 +00:00
Haelwenn (lanodan) Monnier
a299ddb10e
ReceiverWorker: Make sure non-{:ok, _} is returned as {:error, …}
Otherwise an error like `{:signature, {:error, {:error, :not_found}}}` ends up considered a success.
2024-04-17 07:43:47 +02:00
4f5c4d79c4 FEP-2c59, add "webfinger" to user actor
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-11 17:50:11 +02:00
cd86965cde Add hint to rules
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-06 12:01:04 +02:00
7b1134b18c Use Repo.exists?
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-06 11:58:30 +02:00
1745b128f9 AdminAPI: Allow filtering reports by rule_id
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-06 11:58:25 +02:00
3d09ea0fca Apply, suggestions, use strings for actual Mastodon API compatibility
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-06 11:57:28 +02:00
ccc3ac241f Add hint to rules
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-06 11:45:19 +02:00
9e6cf45906 /api/v1/accounts/familiar_followers
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-04-06 11:43:56 +02:00
01a5f839c5 Merge remote-tracking branch 'origin/develop' into instance_rules 2024-04-06 10:42:23 +02:00
3720c4ac22 Remove duplicate routes
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-24 13:14:58 +01:00
512db8f6dc Remove service_domain leftovers
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-24 13:10:18 +01:00
6926051040 fixes
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-23 15:27:52 +01:00
313aee399c Remove service_domain leftovers
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-23 14:59:43 +01:00
d2f3a09682 Fix typos
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-23 14:43:56 +01:00
5cd4c179f5 Handle trailing formats
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-23 14:43:50 +01:00
2e4d034f13 Merge remote-tracking branch 'origin/develop' into backend-new
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-22 18:04:35 +01:00
5a6be1dd6e Merge remote-tracking branch 'origin/develop' into fork 2024-03-21 00:00:28 +01:00
7d85bec6a1 Fix alias
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-20 14:28:43 +01:00
lain
987f44d811 Merge branch 'bookmark-folders' into 'develop'
Fix BookmarkFolderView, add test

See merge request pleroma/pleroma!4096
2024-03-20 13:26:47 +00:00
9f4829695b Merge branch 'bookmark-folders' into HEAD 2024-03-20 13:25:30 +01:00
37ec645ff2 Fix BookmarkFolderView, add test
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-20 13:24:43 +01:00
Mark Felder
40823462e7 Logger metadata for request path and authenticated user 2024-03-19 12:15:10 -04:00
Mark Felder
7dfd148ff8 Logger metadata for inbound federation requests 2024-03-19 12:15:10 -04:00
Mark Felder
741f22bfe0 MediaHelper: cache failed URLs for 15 minutes to prevent excessive retries 2024-03-19 12:14:03 -04:00
Mark Felder
c25fda34e7 Skip generating notifications for internal users 2024-03-19 12:11:30 -04:00
Mark Felder
291d531e4c Unify notification push and streaming events for both local and federated activities
This also removes generation of notifications for blocked/filtered/muted users and threads.
2024-03-19 12:11:30 -04:00
Lain Soykaf
4e8a1b40cb Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into transient-validators-defaults 2024-03-19 16:26:02 +04:00
8b92459345 Merge remote-tracking branch 'origin/develop' into HEAD
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-18 22:00:35 +01:00
Mark Felder
1413d2e517 Remove vestiges of old Postgres support 2024-03-18 15:42:15 -04:00
60c4cb21ea InstanceView: Update features
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-18 14:02:29 +01:00
918c406a91 Merge remote-tracking branch 'origin/develop' into instance_rules
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-18 13:50:25 +01:00
lain
2b71f4897f Merge branch 'develop' into 'bookmark-folders'
# Conflicts:
#   docs/development/API/differences_in_mastoapi_responses.md
2024-03-18 10:35:02 +00:00
lain
cf0aa1238c Merge branch 'public-polls' into 'develop'
Expose nonAnonymous field from Smithereen polls

See merge request pleroma/pleroma!3962
2024-03-18 06:26:22 +00:00
Matthieu Rakotojaona
a48f5f860e Notifications: filter on users rather than activities 2024-03-17 20:58:59 +01:00
Lain Soykaf
caf855cf9c ActivityPub.Publisher: Don't try federating if a user doesn't have an inbox. 2024-03-17 16:57:45 +04:00
Lain Soykaf
0450da88b6 Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-fix-3241 2024-03-17 16:42:17 +04:00
lain
95bcd5d28f Merge branch 'force-mention' into 'develop'
Add ForceMention mrf

See merge request pleroma/pleroma!4082
2024-03-17 12:32:14 +00:00
feld
0b5bba23ce Merge branch 'backups' into 'develop'
Include following/followers in backups

See merge request pleroma/pleroma!4085
2024-03-15 19:32:35 +00:00
Haelwenn (lanodan) Monnier
48c22a67de
QuestionOptionsValidator: set default AS types 2024-03-15 16:22:18 +01:00
Haelwenn (lanodan) Monnier
8b651fab1d
AttachmentValidator: Set "Link" as default type 2024-03-15 16:22:18 +01:00
d1dc8e6869 format
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:30:17 +01:00
bfc56040e7 change build name
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:14:15 +01:00
ac76bc011a Improve auto translate
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:13:34 +01:00
664f64a3fc Allow to specify multiple languages
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:13:09 +01:00
a8e974d47b Fetch translations with posts
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:13:04 +01:00
0af2d38e07 Improve translation handling, allow translating multiple posts at once
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:12:54 +01:00
150723024c Fetch translations with posts
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:10:45 +01:00
6428acc248 Store translations in database
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:10:39 +01:00
e99a41405d Importer: Upload inline images
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:10:20 +01:00
2928205ce6 Avoid failures in Importer
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:10:09 +01:00
0f4341ba26 Allow importing from tar files
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:10:05 +01:00
b5a1a152fc fix scopes plug
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:10:01 +01:00
d1d512bf1f Fix function export
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:09:57 +01:00
61dc7938f8 Filter out invalid attachments
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:09:50 +01:00
2fee32017d Allow importing profile .zip archives
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:09:46 +01:00
04907b2469 Add admin import API
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:09:43 +01:00
a8224e3e40 Support keep_unlisted param
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:09:27 +01:00
0a2c1fef16 store published date for new activities
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:09:23 +01:00
06e2225bf4 add published_at field to activities
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:09:19 +01:00
82af8b1e92 Allow sorting timelines by status publication date
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:08:46 +01:00
4440a1974c Import statuses in a background worker
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:08:20 +01:00
822b9edbfe Collection importing route (WIP)
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:08:16 +01:00
c39fae12bc Merge remote-tracking branch 'tusooa/from/upstream-develop/tusooa/import' into backend-new
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:08:04 +01:00
4c223bde87 Fix hashtags casing
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:04:24 +01:00
c56a11af84 wip
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:03:54 +01:00
5d80b634f0 Fix triple hashtag
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:03:38 +01:00
5484ef9958 WIP triple hashtags
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:03:32 +01:00
0c738d131a Add 'bigbuffet' to instance features
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:02:51 +01:00
f792c806bc Change default favicon
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-03-15 11:02:20 +01:00