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
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
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
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
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
Mark Felder
f5065eaf99
Fix Logger.warn deprecation error on OTP25
2024-05-30 11:09:42 -04: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
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
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
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
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