marcin mikołajczak
226e53fdd7
Merge remote-tracking branch 'origin/develop' into status-notification-type
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-31 22:19:33 +01:00
Mark Felder
f933d24b02
Pleroma.Config.DeprecationWarnings: fix type errors detected by gradient
...
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 278 is expected to have type :ok | nil but it has type :error
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 292 is expected to have type :ok | nil but it has type :error
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 390 is expected to have type :ok | nil but it has type :error
lib/pleroma/config/deprecation_warnings.ex: The atom :error on line 413 is expected to have type :ok | nil but it has type :error
2024-01-31 14:55:14 -05:00
Mark Felder
518a38577b
Fix dialyzer errors due to deprecated usage of put_layout/2
2024-01-31 14:55:11 -05:00
Mark Felder
97c4d3bcc9
Pleroma.Web.Plugs.RateLimiter.Supervisor: dialyzer error
...
lib/pleroma/web/plugs/rate_limiter/supervisor.ex:12:no_return
Function init/1 has no local return.
2024-01-31 13:12:56 -05:00
Mark Felder
92992c022d
Pleroma.Web.OAuth.OAuthController: dialyzer error
...
validate_scopes/2 can never receive a map as it is only called in one place with a guard requiring a list
lib/pleroma/web/o_auth/o_auth_controller.ex:615:guard_fail
The guard test:
is_map(_params :: maybe_improper_list())
can never succeed.
2024-01-31 11:29:06 -05:00
Mark Felder
5e8bedcca0
Pleroma.Web.PleromaAPI.MascotController: fix dialyzer error due to bad error match
...
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:37:pattern_match
The pattern can never match the type.
Pattern:
{:content_type, _}
Type:
{:error, _}
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:40:pattern_match
The pattern can never match the type.
Pattern:
{:upload, {:error, _}}
Type:
{:error, _}
2024-01-31 11:15:48 -05:00
Mark Felder
ed2f8e45e9
Pleroma.Web.MastodonAPI.SearchController: fix dialyzer errors
...
Add a separate Pagination.paginate_list/2 function instead of overloading paginate/4 and complicating its matching and @spec
2024-01-31 11:12:41 -05:00
Mark Felder
c6f783c551
Pleroma.Web.ControllerHelper: fix @spec to resolve dialyzer errors
...
lib/pleroma/web/admin_api/controllers/user_controller.ex:333:no_return
Function index/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:357:unused_fun
Function maybe_parse_filters/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:366:no_return
Function page_params/1 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:368:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.fetch_integer_param(_params :: any(), :page, 1)
breaks the contract
(map(), String.t(), integer() | nil) :: integer() | nil
2024-01-31 11:01:37 -05:00
Mark Felder
225afe05b3
Pleroma.Web.TwitterAPI.UtilController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
b8db67dafa
Pleroma.Web.MastodonAPI.StatusController: fix dialzyer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
fb7535ff9a
MascotController dialyzer error
...
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:31:call
The function call will not succeed.
Pleroma.Web.ActivityPub.ActivityPub.upload(_file :: atom() | %{:content_type => _, _ => _}, [{:actor, <<_::56, _::size(8)>>}, ...]) ::
:ok
def a() do
:ok
end
will never return since the 2nd arguments differ
from the success typing arguments:
(any(), [
{:activity_type | :description | :filters | :size_limit | :type | :uploader,
atom() | binary() | [atom()] | non_neg_integer()}
])
2024-01-31 10:13:02 -05:00
Mark Felder
9760149886
Pleroma.Web.PleromaAPI.UserImportController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
c39e4dd214
Pleroma.Web.PleromaAPI.NotificationController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
e157fd60ee
Pleroma.Web.PleromaAPI.MascotController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
9d16393d8b
Pleroma.Web.PleromaAPI.EmojiPackController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
f1aeb80518
Pleroma.Web.PleromaAPI.EmojiFileController: fix dialyzer errors with replace_params: false
2024-01-31 10:13:02 -05:00
Mark Felder
4d20fbc6d9
Pleroma.Web.PleromaAPI.ChatController: fix dialyzer errors with replace_params: false
2024-01-31 10:12:59 -05:00
Mark Felder
fdddba100e
Pleroma.Web.MastodonAPI.SearchController: fix dialyzer errors with replace_params: false
2024-01-30 18:40:46 -05:00
Mark Felder
324fd08455
Pleroma.Web.MastodonAPI.ScheduledActivityController: fix dialyzer errors with replace_params: false
2024-01-30 18:33:23 -05:00
Mark Felder
d3c6acd2f2
Pleroma.Web.MastodonAPI.PollController: fix dialyzer errors with replace_params: false
2024-01-30 18:31:13 -05:00
Mark Felder
0a6b2c9587
Pleroma.Web.MastodonAPI.NotificationController: fix dialyzer errors with replace_params: false
2024-01-30 18:27:31 -05:00
Mark Felder
90c9f38f40
Pleroma.Web.MastodonAPI.MediaController: fix dialyzer errors with replace_params: false
2024-01-30 18:09:11 -05:00
Mark Felder
9741f045e4
Pleroma.Web.MastodonAPI.ListController: fix dialyzer errors with replace_params: false
2024-01-30 18:05:28 -05:00
Mark Felder
14de8376ad
Pleroma.Web.MastodonAPI.FollowRequestController: fix dialyzer errors with replace_params: false
2024-01-30 17:56:43 -05:00
Mark Felder
f400224a00
Pleroma.Web.AdminAPI.UserController: fix dialyzer errors with replace_params: false
2024-01-30 17:51:40 -05:00
Mark Felder
dd916e0b4c
Pleroma.Web.AdminAPI.ReportController: fix dialyzer errors with replace_params: false
2024-01-30 17:24:26 -05:00
Mark Felder
b84a33a101
Pleroma.Web.AdminAPI.RelayController: fix dialyzer errors with replace_params: false
2024-01-30 17:13:14 -05:00
Mark Felder
fb6f53fc12
Pleroma.Web.AdminAPI.MediaProxyCacheController: fix dialyzer errors with replace_params: false
2024-01-30 17:11:43 -05:00
Mark Felder
ea26dcd800
Pleroma.Web.AdminAPI.InviteController: fix dialyzer errors with replace_params: false
2024-01-30 17:06:37 -05:00
Mark Felder
85c9397ec7
Pleroma.Web.AdminAPI.InstanceDocumentController: fix dialyzer errors with replace_params: false
2024-01-30 17:04:12 -05:00
Mark Felder
ef1f301756
Pleroma.Web.AdminAPI.ConfigController: fix dialyzer errors with replace_params: false
2024-01-30 16:59:28 -05:00
Mark Felder
81c8592d69
Pleroma.Web.MastodonAPI.AccountController: fix dialyzer errors with replace_params: false
2024-01-30 16:50:00 -05:00
Mark Felder
cfe7438b2f
Pleroma.Web.MastodonAPI.DomainBlockController: dialyzer fixes via :replace_params
2024-01-30 14:52:15 -05:00
Mark Felder
608466d098
Modify our CastAndValidate plug to include the new functionality provided by the :replace_params config option
...
This allows us to configure Open API Spex to not overwrite the params with the casted versions which violates the Plug.Conn.t() contract
https://github.com/open-api-spex/open_api_spex/issues/92
https://github.com/open-api-spex/open_api_spex/pull/425
2024-01-30 14:49:55 -05:00
Mark Felder
8476eb1842
Revert "Pleroma.Web.AdminAPI.MediaProxyCacheController: dialyzer errors"
...
This reverts commit 8b02c85810
.
2024-01-30 14:20:02 -05:00
Mark Felder
88a35b2865
Revert "Pleroma.Web.TwitterAPI.UtilController: dialyzer fixes"
...
This reverts commit 17f4251b19
.
2024-01-30 14:19:54 -05:00
Mark Felder
674ae51d6a
Revert "Pleroma.Web.PleromaAPI.UserImportController: Dialyzer errors"
...
This reverts commit 52e18a6249
.
2024-01-30 14:19:41 -05:00
Mark Felder
4a80a285d1
Revert "Pleroma.Web.PleromaAPI.NotificationController: dialyzer errors"
...
This reverts commit 26a95e5787
.
2024-01-30 14:19:32 -05:00
Mark Felder
1e76ceacd5
Revert "Pleroma.Web.AdminAPI.ConfigController: dialyzer error"
...
This reverts commit 60d89cb404
.
2024-01-30 14:19:13 -05:00
Mark Felder
2c8e4f32c6
Revert "Pleroma.Web.PleromaAPI.MascotController: dialyzer errors"
...
This reverts commit 9c8055d4b3
.
2024-01-30 14:18:36 -05:00
Mark Felder
b1a6102a85
Revert "Pleroma.Web.PleromaAPI.EmojiPackController: dialyzer errors"
...
This reverts commit 77bf617c4b
.
2024-01-30 14:15:40 -05:00
Mark Felder
4a9ed4682a
Revert "Pleroma.Web.PleromaAPI.EmojiFileController: dialyzer errors"
...
This reverts commit dc912dc590
.
2024-01-30 14:15:17 -05:00
Mark Felder
b709fc4dfe
Revert "Pleroma.Web.PleromaAPI.ChatController: Dialyzer error"
...
This reverts commit 8d64eedbec
.
2024-01-30 14:15:05 -05:00
Mark Felder
589456f0ba
Revert "Pleroma.Web.AdminAPI.InviteController: dialyzer errors"
...
This reverts commit db87be126e
.
2024-01-30 14:14:56 -05:00
Mark Felder
4227db0871
Revert "Pleroma.Web.AdminAPI.UserController: dialyzer errors"
...
This reverts commit d92c3d927d
.
2024-01-30 14:14:39 -05:00
Mark Felder
ac06a47689
Revert "Pleroma.Web.AdminAPI.RelayController: dialyzer errors"
...
This reverts commit 94838ed941
.
2024-01-30 14:14:22 -05:00
Mark Felder
da5e0fca4f
Revert "Pleroma.Web.AdminAPI.ReportController: dialyzer errors"
...
This reverts commit bfe626d578
.
2024-01-30 14:14:07 -05:00
Mark Felder
39241107d9
Revert "Pleroma.Web.AdminAPI.InstanceDocumentController: fix dialyzer error"
...
This reverts commit a3024dd5ac
.
2024-01-30 14:13:56 -05:00
Mark Felder
1fa1a93cd6
Revert "Pleroma.Web.MastodonAPI.AccountController: dialyzer errors"
...
This reverts commit e53c20b03c
.
2024-01-30 14:13:46 -05:00
Mark Felder
41493bd642
Revert "Pleroma.Web.MastodonAPI.DomainBlockController: dialyzer errors"
...
This reverts commit 378edeaf15
.
2024-01-30 14:13:23 -05:00
Mark Felder
a3426fcaf3
Revert "Pleroma.Web.MastodonAPI.MediaController: dialyzer errors"
...
This reverts commit 8cd5279857
.
2024-01-30 14:13:13 -05:00
Mark Felder
b666710574
Pleroma.Web.MediaProxy.MediaProxyController: dialyzer errors
...
lib/pleroma/web/media_proxy/media_proxy_controller.ex:55:no_return
Function handle_preview/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:59:call
The function call will not succeed.
Pleroma.HTTP.request(<<72, 69, 65, 68>>, _media_proxy_url :: any(), [], [], [{:pool, :media}])
will never return since the success typing is:
(
:delete | :get | :head | :options | :patch | :post | :put | :trace,
binary(),
any(),
[{binary(), binary()}],
Keyword.t()
) :: any()
and the contract is
(
method(),
Pleroma.HTTP.Request.url(),
String.t(),
Pleroma.HTTP.Request.headers(),
:elixir.keyword()
) :: {:ok, Tesla.Env.t()} | {:error, any()}
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:95:unused_fun
Function handle_preview/3 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:111:unused_fun
Function handle_png_preview/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:134:unused_fun
Function handle_jpeg_preview/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:152:unused_fun
Function handle_video_preview/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:164:unused_fun
Function drop_static_param_and_redirect/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:173:unused_fun
Function fallback_on_preview_error/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:177:unused_fun
Function put_preview_response_headers/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:177:unused_fun
Function put_preview_response_headers/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:187:unused_fun
Function thumbnail_max_dimensions/0 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:196:unused_fun
Function min_content_length_for_preview/0 will never be called.
________________________________________________________________________________
lib/pleroma/web/media_proxy/media_proxy_controller.ex:200:unused_fun
Function media_preview_proxy_config/0 will never be called.
2024-01-29 18:50:50 -05:00
Mark Felder
8cd5279857
Pleroma.Web.MastodonAPI.MediaController: dialyzer errors
...
lib/pleroma/web/mastodon_api/controllers/media_controller.ex:32:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
<<97, 116, 116, 97, 99, 104, 109, 101, 110, 116, 46, 106, 115, 111, 110>>,
%{:attachment => map()}
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/media_controller.ex:48:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
202
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/media_controller.ex:63:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:description => _, _ => _},
_ => _
},
<<97, 116, 116, 97, 99, 104, 109, 101, 110, 116, 46, 106, 115, 111, 110>>,
%{:attachment => map()}
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
2024-01-29 18:36:46 -05:00
Mark Felder
378edeaf15
Pleroma.Web.MastodonAPI.DomainBlockController: dialyzer errors
...
lib/pleroma/web/mastodon_api/controllers/domain_block_controller.ex:32:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:domain => _, _ => _},
_ => _
},
%{}
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/domain_block_controller.ex:43:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:domain => _, _ => _},
_ => _
},
%{}
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-29 18:36:34 -05:00
Mark Felder
3cb2807244
Pleroma.Web.MastodonAPI.StatusView: dialyzer error
...
lib/pleroma/web/mastodon_api/views/status_view.ex:799:pattern_match_cov
The pattern
_, _
can never match, because previous clauses completely cover the type
%URI{
:authority => URI.authority(),
:fragment => nil | binary(),
:host => nil | binary(),
:path => nil | binary(),
:port => nil | char(),
:query => nil | binary(),
:scheme => nil | binary(),
:userinfo => nil | binary()
},
%URI{
:authority => URI.authority(),
:fragment => nil | binary(),
:host => nil | binary(),
:path => nil | binary(),
:port => nil | char(),
:query => nil | binary(),
:scheme => nil | binary(),
:userinfo => nil | binary()
}
.
2024-01-29 18:28:49 -05:00
Mark Felder
a266492776
Pleroma.User: dialyzer errors
...
lib/pleroma/user.ex:757:no_return
Function register_changeset/1 has no local return.
________________________________________________________________________________
lib/pleroma/user.ex:757:no_return
Function register_changeset/2 has no local return.
________________________________________________________________________________
lib/pleroma/user.ex:757:no_return
Function register_changeset/3 has no local return.
________________________________________________________________________________
lib/pleroma/user.ex:778:call
The function call will not succeed.
Pleroma.User.approval_changeset(
%Ecto.Changeset{
:action => atom(),
:changes => %{atom() => _},
:constraints => [
%{
:constraint =>
binary()
| %Regex{
:opts => binary() | [any()],
:re_pattern => _,
:re_version => _,
:source => binary()
},
:error_message => binary(),
:error_type => atom(),
:field => atom(),
:match => :exact | :prefix | :suffix,
:type => :check | :exclusion | :foreign_key | :unique
}
],
:data => nil | map(),
:empty_values => _,
:errors => Keyword.t({binary(), Keyword.t()}),
:filters => %{atom() => _},
:params => nil | %{binary() => _},
:prepare => [(_ -> any())],
:repo => atom(),
:repo_opts => Keyword.t(),
:required => [atom()],
:types =>
nil
| %{
atom() =>
atom()
| {:array | :assoc | :embed | :in | :map | :maybe | :param, _}
| {:parameterized, atom(), _}
},
:valid? => boolean(),
:validations => Keyword.t()
},
[{:set_approval, _}, ...]
)
breaks the contract
(t(), :elixir.keyword()) :: Ecto.Changeset.t()
________________________________________________________________________________
lib/pleroma/user.ex:854:unused_fun
Function maybe_validate_required_birthday/1 will never be called.
2024-01-29 17:37:52 -05:00
Mark Felder
2de84e2e3b
API Specs: many dialyzer errors
...
Too many to include in a commit log
Module instead of schema was being passed
2024-01-29 17:10:28 -05:00
Mark Felder
4fc177eb46
Pleroma.Web.ControllerHelper: dialyzer error
...
lib/pleroma/web/controller_helper.ex:97:pattern_match
The pattern can never match the type.
Pattern:
nil
Type:
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary()
| [binary() | [any()] | %{binary() => _}]
| %{binary() => binary() | [any()] | %{binary() => _}}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary()
| [binary() | [any()] | %{binary() => _}]
| %{binary() => binary() | [any()] | %{binary() => _}}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
2024-01-29 16:42:48 -05:00
Haelwenn
251c455b91
Merge branch 'deps-bump' into 'develop'
...
Bump dependencies
See merge request pleroma/pleroma!4044
2024-01-29 17:43:00 +00:00
Mark Felder
6a22a80f9f
Pleroma.Web.MastodonAPI.DirectoryController: dialyzer errors
...
lib/pleroma/web/mastodon_api/controllers/directory_controller.ex:6:unused_fun
Function skip_auth/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/directory_controller.ex:6:unused_fun
Function skip_plug/2 will never be called.
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/directory_controller.ex:18:guard_fail
The guard clause:
when _action :: atom() == <<105, 110, 100, 101, 120>>
can never succeed.
2024-01-28 17:41:07 -05:00
Mark Felder
e53c20b03c
Pleroma.Web.MastodonAPI.AccountController: dialyzer errors
...
lib/pleroma/web/mastodon_api/controllers/account_controller.ex:479:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:account => _, :user => _, _ => _},
:body_params => %{:comment => _, _ => _},
_ => _
},
<<114, 101, 108, 97, 116, 105, 111, 110, 115, 104, 105, 112, 46, 106, 115, 111, 110>>,
[
{:target, %Pleroma.User{:id => _, _ => _}} | {:user, %Pleroma.User{:id => _, _ => _}},
...
]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/mastodon_api/controllers/account_controller.ex:519:call
The function call will not succeed.
Plug.Conn.assign(
_conn :: %{:body_params => %{:uri => _, _ => _}, _ => _},
:account,
_user :: %Pleroma.User{_ => _}
)
breaks the contract
(t(), atom(), term()) :: t()
2024-01-28 17:41:07 -05:00
Mark Felder
e2fc03ec72
Pleroma.Web.ActivityPub.Utils: dialyzer error
...
lib/pleroma/web/activity_pub/utils.ex:779:guard_fail
The guard clause:
when _ :: %Pleroma.Object{_ => _} === nil
can never succeed.
2024-01-28 17:14:41 -05:00
Mark Felder
082d665160
Pleroma.Web.AdminAPI.UserController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/user_controller.ex:205:no_return
Function activate/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:215:call
The function call will not succeed.
Keyword.values(
_updated_users :: %Pleroma.User{
:__meta__ => _,
:accepts_chat_messages => _,
:actor_type => _,
:allow_following_move => _,
:also_known_as => _,
:ap_id => _,
:avatar => _,
:background => _,
:banner => _,
:bio => _,
:birthday => _,
:blocked_users => _,
:blockee_blocks => _,
:blocker_blocks => _,
:blocker_users => _,
:blocks => _,
:confirmation_token => _,
:default_scope => _,
:deliveries => _,
:disclose_client => _,
:domain_blocks => _,
:email => _,
:email_notifications => _,
:emoji => _,
:endorsed_users => _,
:endorsee_endorsements => _,
:endorser_endorsements => _,
:endorser_users => _,
:featured_address => _,
:fields => _,
:follower_address => _,
:follower_count => _,
:following_address => _,
:following_count => _,
:hide_favorites => _,
:hide_followers => _,
:hide_followers_count => _,
:hide_follows => _,
:hide_follows_count => _,
:id => _,
:inbox => _,
:incoming_relationships => _,
:inserted_at => _,
:invisible => _,
:is_active => _,
:is_admin => _,
:is_approved => _,
:is_confirmed => _,
:is_discoverable => _,
:is_locked => _,
:is_moderator => _,
:is_suggested => _,
:keys => _,
:language => _,
:last_active_at => _,
:last_digest_emailed_at => _,
:last_refreshed_at => _,
:last_status_at => _,
:local => _,
:mascot => _,
:multi_factor_authentication_settings => _,
:muted_notifications => _,
:muted_reblogs => _,
:muted_users => _,
:mutee_mutes => _,
:muter_mutes => _,
:muter_users => _,
:mutes => _,
:name => _,
:nickname => _,
:no_rich_text => _,
:note_count => _,
:notification_muted_users => _,
:notification_mutee_mutes => _,
:notification_muter_mutes => _,
:notification_muter_users => _,
:notification_settings => _,
:notifications => _,
:outgoing_relationships => _,
:password => _,
:password_confirmation => _,
:password_hash => _,
:password_reset_pending => _,
:pinned_objects => _,
:pleroma_settings_store => _,
:public_key => _,
:raw_bio => _,
:raw_fields => _,
:reblog_muted_users => _,
:reblog_mutee_mutes => _,
:reblog_muter_mutes => _,
:reblog_muter_users => _,
:registration_reason => _,
:registrations => _,
:search_rank => _,
:search_type => _,
:shared_inbox => _,
:show_birthday => _,
:show_role => _,
:skip_thread_containment => _,
:subscribee_subscriptions => _,
:subscribee_users => _,
:subscriber_subscriptions => _,
:subscriber_users => _,
:subscribers => _,
:tags => _,
:updated_at => _,
:uri => _
}
)
will never return since the success typing is:
([any()]) :: [any()]
and the contract is
(t()) :: [value()]
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:218:no_return
Function deactivate/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:228:call
The function call will not succeed.
Keyword.values(
_updated_users :: %Pleroma.User{
:__meta__ => _,
:accepts_chat_messages => _,
:actor_type => _,
:allow_following_move => _,
:also_known_as => _,
:ap_id => _,
:avatar => _,
:background => _,
:banner => _,
:bio => _,
:birthday => _,
:blocked_users => _,
:blockee_blocks => _,
:blocker_blocks => _,
:blocker_users => _,
:blocks => _,
:confirmation_token => _,
:default_scope => _,
:deliveries => _,
:disclose_client => _,
:domain_blocks => _,
:email => _,
:email_notifications => _,
:emoji => _,
:endorsed_users => _,
:endorsee_endorsements => _,
:endorser_endorsements => _,
:endorser_users => _,
:featured_address => _,
:fields => _,
:follower_address => _,
:follower_count => _,
:following_address => _,
:following_count => _,
:hide_favorites => _,
:hide_followers => _,
:hide_followers_count => _,
:hide_follows => _,
:hide_follows_count => _,
:id => _,
:inbox => _,
:incoming_relationships => _,
:inserted_at => _,
:invisible => _,
:is_active => _,
:is_admin => _,
:is_approved => _,
:is_confirmed => _,
:is_discoverable => _,
:is_locked => _,
:is_moderator => _,
:is_suggested => _,
:keys => _,
:language => _,
:last_active_at => _,
:last_digest_emailed_at => _,
:last_refreshed_at => _,
:last_status_at => _,
:local => _,
:mascot => _,
:multi_factor_authentication_settings => _,
:muted_notifications => _,
:muted_reblogs => _,
:muted_users => _,
:mutee_mutes => _,
:muter_mutes => _,
:muter_users => _,
:mutes => _,
:name => _,
:nickname => _,
:no_rich_text => _,
:note_count => _,
:notification_muted_users => _,
:notification_mutee_mutes => _,
:notification_muter_mutes => _,
:notification_muter_users => _,
:notification_settings => _,
:notifications => _,
:outgoing_relationships => _,
:password => _,
:password_confirmation => _,
:password_hash => _,
:password_reset_pending => _,
:pinned_objects => _,
:pleroma_settings_store => _,
:public_key => _,
:raw_bio => _,
:raw_fields => _,
:reblog_muted_users => _,
:reblog_mutee_mutes => _,
:reblog_muter_mutes => _,
:reblog_muter_users => _,
:registration_reason => _,
:registrations => _,
:search_rank => _,
:search_type => _,
:shared_inbox => _,
:show_birthday => _,
:show_role => _,
:skip_thread_containment => _,
:subscribee_subscriptions => _,
:subscribee_users => _,
:subscriber_subscriptions => _,
:subscriber_users => _,
:subscribers => _,
:tags => _,
:updated_at => _,
:uri => _
}
)
will never return since the success typing is:
([any()]) :: [any()]
and the contract is
(t()) :: [value()]
2024-01-28 17:14:37 -05:00
Mark Felder
a3024dd5ac
Pleroma.Web.AdminAPI.InstanceDocumentController: fix dialyzer error
...
lib/pleroma/web/admin_api/controllers/instance_document_controller.ex:32:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:file => _, _ => _}, _ => _}, %{<<_::24>> => binary()}) ::
:ok
def a() do
:ok
end
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-28 16:35:30 -05:00
Mark Felder
bfe626d578
Pleroma.Web.AdminAPI.ReportController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/report_controller.ex:48:no_return
Function update/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:70:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:reports => _, _ => _},
_ => _
},
:bad_request,
_result :: [any()]
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:72:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:reports => _, _ => _},
_ => _
},
:no_content,
<<>>
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:76:no_return
Function notes_create/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:89:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:content => _, _ => _},
_ => _
},
:no_content,
<<>>
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/report_controller.ex:91:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:content => _, _ => _},
_ => _
},
:bad_request,
<<>>
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
2024-01-28 16:32:50 -05:00
Mark Felder
94838ed941
Pleroma.Web.AdminAPI.RelayController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/relay_controller.ex:34:no_return
Function follow/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:38:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:relay_url => _, _ => _},
_ => _
},
%{:actor => binary(), :followed_back => boolean()}
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:41:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:relay_url => _, _ => _},
_ => _
},
500
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:47:no_return
Function unfollow/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:51:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:relay_url => _, _ => _},
_ => _
},
_target :: binary()
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/relay_controller.ex:54:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:relay_url => _, _ => _},
_ => _
},
500
)
breaks the contract
(t(), status()) :: t()
2024-01-28 16:09:55 -05:00
Mark Felder
d92c3d927d
Pleroma.Web.AdminAPI.UserController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/user_controller.ex:54:no_return
Function delete/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:74:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:nicknames => _, _ => _},
_ => _
},
_nicknames :: any()
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:77:no_return
Function follow/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:99:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:followed => _, :follower => _, _ => _},
_ => _
},
<<111, 107>>
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:102:no_return
Function unfollow/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:124:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:followed => _, :follower => _, _ => _},
_ => _
},
<<111, 107>>
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:127:no_return
Function create/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:130:no_return
The created anonymous function has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:163:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:users => _, _ => _},
_ => _
},
<<99, 114, 101, 97, 116, 101, 100, 95, 109, 97, 110, 121, 46, 106, 115, 111, 110>>,
[{:users, [any()]}, ...]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:175:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:users => _, _ => _},
_ => _
},
:conflict
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:205:no_return
Function activate/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:215:call
The function call will not succeed.
Keyword.values(
_updated_users :: %Pleroma.User{
:__meta__ => _,
:accepts_chat_messages => _,
:actor_type => _,
:allow_following_move => _,
:also_known_as => _,
:ap_id => _,
:avatar => _,
:background => _,
:banner => _,
:bio => _,
:birthday => _,
:blocked_users => _,
:blockee_blocks => _,
:blocker_blocks => _,
:blocker_users => _,
:blocks => _,
:confirmation_token => _,
:default_scope => _,
:deliveries => _,
:disclose_client => _,
:domain_blocks => _,
:email => _,
:email_notifications => _,
:emoji => _,
:endorsed_users => _,
:endorsee_endorsements => _,
:endorser_endorsements => _,
:endorser_users => _,
:featured_address => _,
:fields => _,
:follower_address => _,
:follower_count => _,
:following_address => _,
:following_count => _,
:hide_favorites => _,
:hide_followers => _,
:hide_followers_count => _,
:hide_follows => _,
:hide_follows_count => _,
:id => _,
:inbox => _,
:incoming_relationships => _,
:inserted_at => _,
:invisible => _,
:is_active => _,
:is_admin => _,
:is_approved => _,
:is_confirmed => _,
:is_discoverable => _,
:is_locked => _,
:is_moderator => _,
:is_suggested => _,
:keys => _,
:language => _,
:last_active_at => _,
:last_digest_emailed_at => _,
:last_refreshed_at => _,
:last_status_at => _,
:local => _,
:mascot => _,
:multi_factor_authentication_settings => _,
:muted_notifications => _,
:muted_reblogs => _,
:muted_users => _,
:mutee_mutes => _,
:muter_mutes => _,
:muter_users => _,
:mutes => _,
:name => _,
:nickname => _,
:no_rich_text => _,
:note_count => _,
:notification_muted_users => _,
:notification_mutee_mutes => _,
:notification_muter_mutes => _,
:notification_muter_users => _,
:notification_settings => _,
:notifications => _,
:outgoing_relationships => _,
:password => _,
:password_confirmation => _,
:password_hash => _,
:password_reset_pending => _,
:pinned_objects => _,
:pleroma_settings_store => _,
:public_key => _,
:raw_bio => _,
:raw_fields => _,
:reblog_muted_users => _,
:reblog_mutee_mutes => _,
:reblog_muter_mutes => _,
:reblog_muter_users => _,
:registration_reason => _,
:registrations => _,
:search_rank => _,
:search_type => _,
:shared_inbox => _,
:show_birthday => _,
:show_role => _,
:skip_thread_containment => _,
:subscribee_subscriptions => _,
:subscribee_users => _,
:subscriber_subscriptions => _,
:subscriber_users => _,
:subscribers => _,
:tags => _,
:updated_at => _,
:uri => _
}
)
will never return since the success typing is:
([any()]) :: [any()]
and the contract is
(t()) :: [value()]
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:218:no_return
Function deactivate/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:228:call
The function call will not succeed.
Keyword.values(
_updated_users :: %Pleroma.User{
:__meta__ => _,
:accepts_chat_messages => _,
:actor_type => _,
:allow_following_move => _,
:also_known_as => _,
:ap_id => _,
:avatar => _,
:background => _,
:banner => _,
:bio => _,
:birthday => _,
:blocked_users => _,
:blockee_blocks => _,
:blocker_blocks => _,
:blocker_users => _,
:blocks => _,
:confirmation_token => _,
:default_scope => _,
:deliveries => _,
:disclose_client => _,
:domain_blocks => _,
:email => _,
:email_notifications => _,
:emoji => _,
:endorsed_users => _,
:endorsee_endorsements => _,
:endorser_endorsements => _,
:endorser_users => _,
:featured_address => _,
:fields => _,
:follower_address => _,
:follower_count => _,
:following_address => _,
:following_count => _,
:hide_favorites => _,
:hide_followers => _,
:hide_followers_count => _,
:hide_follows => _,
:hide_follows_count => _,
:id => _,
:inbox => _,
:incoming_relationships => _,
:inserted_at => _,
:invisible => _,
:is_active => _,
:is_admin => _,
:is_approved => _,
:is_confirmed => _,
:is_discoverable => _,
:is_locked => _,
:is_moderator => _,
:is_suggested => _,
:keys => _,
:language => _,
:last_active_at => _,
:last_digest_emailed_at => _,
:last_refreshed_at => _,
:last_status_at => _,
:local => _,
:mascot => _,
:multi_factor_authentication_settings => _,
:muted_notifications => _,
:muted_reblogs => _,
:muted_users => _,
:mutee_mutes => _,
:muter_mutes => _,
:muter_users => _,
:mutes => _,
:name => _,
:nickname => _,
:no_rich_text => _,
:note_count => _,
:notification_muted_users => _,
:notification_mutee_mutes => _,
:notification_muter_mutes => _,
:notification_muter_users => _,
:notification_settings => _,
:notifications => _,
:outgoing_relationships => _,
:password => _,
:password_confirmation => _,
:password_hash => _,
:password_reset_pending => _,
:pinned_objects => _,
:pleroma_settings_store => _,
:public_key => _,
:raw_bio => _,
:raw_fields => _,
:reblog_muted_users => _,
:reblog_mutee_mutes => _,
:reblog_muter_mutes => _,
:reblog_muter_users => _,
:registration_reason => _,
:registrations => _,
:search_rank => _,
:search_type => _,
:shared_inbox => _,
:show_birthday => _,
:show_role => _,
:skip_thread_containment => _,
:subscribee_subscriptions => _,
:subscribee_users => _,
:subscriber_subscriptions => _,
:subscriber_users => _,
:subscribers => _,
:tags => _,
:updated_at => _,
:uri => _
}
)
will never return since the success typing is:
([any()]) :: [any()]
and the contract is
(t()) :: [value()]
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:231:no_return
Function approve/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:241:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:nicknames => _, _ => _},
_ => _
},
<<105, 110, 100, 101, 120, 46, 106, 115, 111, 110>>,
[{:users, _}, ...]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:244:no_return
Function suggest/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:254:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:nicknames => _, _ => _},
_ => _
},
<<105, 110, 100, 101, 120, 46, 106, 115, 111, 110>>,
[{:users, _}, ...]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:257:no_return
Function unsuggest/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:267:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:nicknames => _, _ => _},
_ => _
},
<<105, 110, 100, 101, 120, 46, 106, 115, 111, 110>>,
[{:users, _}, ...]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:270:no_return
Function index/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:294:unused_fun
Function maybe_parse_filters/1 will never be called.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:303:no_return
Function page_params/1 has no local return.
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/user_controller.ex:305:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.fetch_integer_param(_params :: any(), :page, 1)
breaks the contract
(map(), String.t(), integer() | nil) :: integer() | nil
2024-01-28 16:05:25 -05:00
Mark Felder
db87be126e
Pleroma.Web.AdminAPI.InviteController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/invite_controller.ex:46:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{:body_params => %{:token => _, _ => _}, _ => _},
<<115, 104, 111, 119, 46, 106, 115, 111, 110>>,
[
{:invite,
%Pleroma.UserInviteToken{
:__meta__ => _,
:expires_at => _,
:id => _,
:inserted_at => _,
:invite_type => _,
:max_use => _,
:token => _,
:updated_at => _,
:used => _,
:uses => _
}},
...
]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/admin_api/controllers/invite_controller.ex:66:call
The function call will not succeed.
Pleroma.Web.ControllerHelper.json_response(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:email => _, _ => _},
_ => _
},
:no_content,
<<>>
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | 1..1_114_111,
any()
)
2024-01-28 15:53:47 -05:00
Mark Felder
8d64eedbec
Pleroma.Web.PleromaAPI.ChatController: Dialyzer error
...
lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:128:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:last_read_id => _, _ => _},
_ => _
},
<<115, 104, 111, 119, 46, 106, 115, 111, 110>>,
[
{:chat,
%Pleroma.Chat{
:__meta__ => _,
:id => _,
:inserted_at => _,
:recipient => _,
:updated_at => _,
:user => _,
:user_id => _
}},
...
]
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
2024-01-28 15:52:09 -05:00
Mark Felder
456f7cab3e
Pleroma.Web.PleromaAPI.ChatController: Dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:91:pattern_match
The pattern can never match the type.
Pattern:
{:reject, _message}
Type:
nil
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/chat_controller.ex:96:pattern_match
The pattern can never match the type.
Pattern:
{:error, _message}
Type:
nil
2024-01-28 15:52:09 -05:00
Mark Felder
dc912dc590
Pleroma.Web.PleromaAPI.EmojiFileController: dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:52:no_return
Function update/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:59:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _}, %{
binary() =>
binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | char(),
binary() | []
)
})
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:62:call
The function call will not succeed.
Plug.Conn.put_status(_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _}, :conflict)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:70:call
The function call will not succeed.
Plug.Conn.put_status(_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _}, :unprocessable_entity) ::
:ok
def a() do
:ok
end
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:75:call
The function call will not succeed.
Pleroma.Web.PleromaAPI.EmojiFileController.handle_error(
_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _},
_error :: {:error, atom()},
%{:code => _, :message => <<_::328>>, :pack_name => binary()}
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
{:error, atom()},
%{:message => <<_::328, _::size(88)>>, :pack_name => binary(), :code => _}
)
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_file_controller.ex:75:call
The function call will not succeed.
Pleroma.Web.PleromaAPI.EmojiFileController.handle_error(
_conn :: %{:body_params => %{:shortcode => _, _ => _}, _ => _},
_error :: {:error, atom()},
%{:code => binary(), :message => <<_::328>>, :pack_name => binary()}
)
will never return since the 1st arguments differ
from the success typing arguments:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() =>
binary() | [binary() | [any()] | map()] | %{binary() => binary() | [any()] | map()}
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{binary(), binary()}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{binary(), binary()}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
{:error, atom()},
%{:message => <<_::328, _::size(88)>>, :pack_name => binary(), :code => _}
)
2024-01-28 15:52:09 -05:00
Mark Felder
77bf617c4b
Pleroma.Web.PleromaAPI.EmojiPackController: dialyzer errors
...
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:112:no_return
Function download/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:114:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:name => _, :url => _, _ => _}, _ => _}, <<111, 107>>)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:117:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{:body_params => %{:name => _, :url => _, _ => _}, _ => _},
:internal_server_error
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:122:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{:body_params => %{:name => _, :url => _, _ => _}, _ => _},
:internal_server_error
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:127:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{:body_params => %{:name => _, :url => _, _ => _}, _ => _},
:internal_server_error
)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:187:no_return
Function update/2 has no local return.
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:189:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:metadata => _, _ => _}, _ => _}, map())
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:192:call
The function call will not succeed.
Plug.Conn.put_status(_conn :: %{:body_params => %{:metadata => _, _ => _}, _ => _}, :bad_request)
breaks the contract
(t(), status()) :: t()
________________________________________________________________________________
lib/pleroma/web/pleroma_api/controllers/emoji_pack_controller.ex:203:call
The function call will not succeed.
Plug.Conn.put_status(_conn :: %{:body_params => %{:metadata => _, _ => _}, _ => _}, :internal_server_error) ::
:ok
def a() do
:ok
end
breaks the contract
(t(), status()) :: t()
2024-01-28 15:52:09 -05:00
Mark Felder
a32d6b3aa4
Pleroma.Web.PleromaAPI.MascotController: dialyzer error
...
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:33:pattern_match
The pattern can never match the type.
Pattern:
{:content_type, _}
Type:
{:error, _}
2024-01-28 15:52:09 -05:00
Mark Felder
9c8055d4b3
Pleroma.Web.PleromaAPI.MascotController: dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:25:no_return
Function update/2 has no local return.
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:27:call
The function call will not succeed.
Pleroma.Web.ActivityPub.ActivityPub.upload(_file :: atom() | %{:content_type => _, _ => _}, [{:actor, <<_::56, _::size(8)>>}, ...]) ::
:ok
def a() do
:ok
end
will never return since the 2nd arguments differ
from the success typing arguments:
(any(), [
{:activity_type | :description | :filters | :size_limit | :type | :uploader,
atom() | binary() | [atom()] | non_neg_integer()}
])
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:31:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
_attachment :: any()
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:34:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
:unsupported_media_type
)
breaks the contract
(t(), status()) :: t()
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:34:call
The function call will not succeed.
Plug.Conn.put_status(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:file => _, _ => _},
_ => _
},
:unsupported_media_type
)
breaks the contract
(t(), status()) :: t()
lib/pleroma/web/pleroma_api/controllers/mascot_controller.ex:38:unused_fun
Function render_attachment/1 will never be called.
2024-01-28 15:52:09 -05:00
Mark Felder
563aebd5ce
Pleroma.Web.Plugs.UploadedMedia: dialyzer error
...
lib/pleroma/web/plugs/uploaded_media.ex:98:call
The function call will not succeed.
Pleroma.ReverseProxy.call(
_conn :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
_url :: any(),
_proxy_opts :: [{:http, [{:follow_redirect, true} | {:pool, :upload}, ...]}, ...]
)
breaks the contract
(Plug.Conn.t(), url :: String.t(), [option()]) :: Plug.Conn.t()
2024-01-28 14:22:35 -05:00
Mark Felder
60d89cb404
Pleroma.Web.AdminAPI.ConfigController: dialyzer error
...
lib/pleroma/web/admin_api/controllers/config_controller.ex:162:call
The function call will not succeed.
Phoenix.Controller.render(
_conn :: %{:body_params => %{:configs => _, _ => _}, _ => _},
<<105, 110, 100, 101, 120, 46, 106, 115, 111, 110>>,
%{:configs => [any()], :need_reboot => _}
)
will never return since the success typing is:
(
%Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state =>
:chunked | :file | :sent | :set | :set_chunked | :set_file | :unset | :upgraded,
:status => nil | non_neg_integer()
},
atom() | binary(),
atom() | binary() | [{_, _}] | map()
) :: %Plug.Conn{
:adapter => {atom(), _},
:assigns => %{atom() => _},
:body_params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:halted => boolean(),
:host => binary(),
:method => binary(),
:owner => pid(),
:params => %Plug.Conn.Unfetched{:aspect => atom(), binary() => _},
:path_info => [binary()],
:path_params => %{binary() => binary() | [any()] | map()},
:port => char(),
:private => %{atom() => _},
:query_params => %Plug.Conn.Unfetched{
:aspect => atom(),
binary() => binary() | [any()] | map()
},
:query_string => binary(),
:remote_ip =>
{byte(), byte(), byte(), byte()}
| {char(), char(), char(), char(), char(), char(), char(), char()},
:req_cookies => %Plug.Conn.Unfetched{:aspect => atom(), binary() => binary()},
:req_headers => [{_, _}],
:request_path => binary(),
:resp_body =>
nil
| binary()
| maybe_improper_list(
binary() | maybe_improper_list(any(), binary() | []) | byte(),
binary() | []
),
:resp_cookies => %{binary() => map()},
:resp_headers => [{_, _}],
:scheme => :http | :https,
:script_name => [binary()],
:secret_key_base => nil | binary(),
:state => :sent,
:status => nil | non_neg_integer()
}
and the contract is
(Plug.Conn.t(), binary() | atom(), Keyword.t() | map()) :: Plug.Conn.t()
2024-01-27 16:42:30 -05:00
Mark Felder
26a95e5787
Pleroma.Web.PleromaAPI.NotificationController: dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex:53:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:list => _, _ => _},
_ => _
},
<<106, 111, 98, 32, 115, 116, 97, 114, 116, 101, 100>>
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-27 16:15:03 -05:00
Mark Felder
52e18a6249
Pleroma.Web.PleromaAPI.UserImportController: Dialyzer errors
...
lib/pleroma/web/pleroma_api/controllers/user_import_controller.ex:53:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:list => _, _ => _},
_ => _
},
<<106, 111, 98, 32, 115, 116, 97, 114, 116, 101, 100>>
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-27 15:57:21 -05:00
Mark Felder
17f4251b19
Pleroma.Web.TwitterAPI.UtilController: dialyzer fixes
...
lib/pleroma/web/twitter_api/controllers/util_controller.ex:158:call
The function call will not succeed.
Phoenix.Controller.json(_conn :: %{:body_params => %{:ap_id => _, :profile => _, _ => _}, _ => _}, %{
:error =>
<<67, 111, 117, 108, 100, 110, 39, 116, 32, 102, 105, 110, 100, 32, 117, 115, 101, 114>>
})
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-27 15:47:07 -05:00
Mark Felder
8b02c85810
Pleroma.Web.AdminAPI.MediaProxyCacheController: dialyzer errors
...
lib/pleroma/web/admin_api/controllers/media_proxy_cache_controller.ex:64:call
The function call will not succeed.
Phoenix.Controller.json(
_conn :: %{
:assigns => %{:user => _, _ => _},
:body_params => %{:urls => _, _ => _},
_ => _
},
%{}
)
breaks the contract
(Plug.Conn.t(), term()) :: Plug.Conn.t()
2024-01-27 15:41:14 -05:00
Mark Felder
5c193a34a2
Pleroma.Web.ActivityPub.SideEffects: dialyzer errors
...
lib/pleroma/web/activity_pub/side_effects.ex:544:call
The function call will not succeed.
Pleroma.Web.ActivityPub.SideEffects.delete_object(
_object :: %Pleroma.Activity{
:__meta__ => _,
:actor => _,
:bookmark => _,
:data => map(),
:id => _,
:inserted_at => _,
:local => _,
:notifications => _,
:object => _,
:pagination_id => _,
:recipients => _,
:report_notes => _,
:thread_muted? => _,
:updated_at => _,
:user_actor => _
}
)
breaks the contract
(Pleroma.Object.t()) :: :ok | {:error, Ecto.Changeset.t()}
2024-01-27 15:05:12 -05:00
Mark Felder
b6a1e7fb31
Pleroma.Web.ActivityPub.SideEffects: dialyzer errors
...
lib/pleroma/web/activity_pub/side_effects.ex:622:callback_type_mismatch
Type mismatch for @callback handle_after_transaction/1 in Pleroma.Web.ActivityPub.SideEffects.Handling behaviour.
Expected type:
map()
Actual type:
Keyword.t()
lib/pleroma/web/activity_pub/side_effects.ex:622:callback_arg_type_mismatch
The inferred type for the 1st argument is not a
supertype of the expected type for the handle_after_transaction/1 callback
in the Pleroma.Web.ActivityPub.SideEffects.Handling behaviour.
Success type:
Keyword.t()
Behaviour callback type:
map()
2024-01-27 15:02:20 -05:00
Mark Felder
5f5bd64b83
Pleroma.Web.ActivityPub.SideEffects: dialyzer errors
...
lib/pleroma/web/activity_pub/side_effects.ex:328:pattern_match
The pattern can never match the type.
Pattern:
{:actor, _}
Type:
{:error, boolean()}
lib/pleroma/web/activity_pub/side_effects.ex:328:pattern_match
The pattern can never match the type.
Pattern:
{:actor, _}
Type:
nil
2024-01-27 14:55:29 -05:00
Mark Felder
94d7e28cbe
Pleroma.Web.ActivityPub.ObjectValidator: dialyzer error
...
lib/pleroma/web/activity_pub/object_validator.ex:165:pattern_match
The pattern can never match the type.
Pattern:
{:local, _}
Type:
{:error,
%Ecto.Changeset{
:action => atom(),
:changes => %{atom() => _},
:constraints => [
%{
:constraint =>
binary()
| %Regex{
:opts => binary() | [any()],
:re_pattern => _,
:re_version => _,
:source => binary()
},
:error_message => binary(),
:error_type => atom(),
:field => atom(),
:match => :exact | :prefix | :suffix,
:type => :check | :exclusion | :foreign_key | :unique
}
],
:data => nil | map(),
:empty_values => _,
:errors => Keyword.t({binary(), Keyword.t()}),
:filters => %{atom() => _},
:params => nil | %{binary() => _},
:prepare => [(_ -> any())],
:repo => atom(),
:repo_opts => Keyword.t(),
:required => [atom()],
:types =>
nil
| %{
atom() =>
atom()
| {:array | :assoc | :embed | :in | :map | :maybe | :param, _}
| {:parameterized, atom(), _}
},
:valid? => boolean(),
:validations => Keyword.t()
}}
2024-01-27 14:29:48 -05:00
Mark Felder
5c08153fc5
Pleroma.Gun.ConnectionPool.Reclaimer: dialyzer error
...
lib/pleroma/gun/connection_pool/reclaimer.ex:12:call
The function call will not succeed.
:gen_server.start(Pleroma.Gun.ConnectionPool.Reclaimer, [], [
{:name, {:via, Registry, {Pleroma.Gun.ConnectionPool, <<_::72>>}}},
...
])
will never return since the success typing is:
(atom(), any(), [
{:debug, [:log | :statistics | :trace | {_, _}]}
| {:hibernate_after, timeout()}
| {:spawn_opt, [:link | :monitor | {_, _}]}
| {:timeout, timeout()}
]) :: :ignore | {:error, _} | {:ok, pid() | {pid(), reference()}}
and the contract is
(Module :: module(), Args :: term(), Options :: [start_opt()]) :: start_ret()
2024-01-27 14:25:16 -05:00
Mark Felder
9f357d88c2
Pleroma.Emoji: dialyzer error
...
lib/pleroma/emoji.ex:54:unknown_type
Unknown type: Emoji.t/0.
2024-01-27 14:00:17 -05:00
Mark Felder
948d5a93a0
Pleroma.Object: dialyzer error
...
lib/pleroma/object.ex:245:call
The function call will not succeed.
Pleroma.Object.cleanup_attachments(any(), %{<<_::48>> => %Pleroma.Object{:data => map(), atom() => _}})
breaks the contract
(boolean(), %{:object => map()}) :: {:ok, Oban.Job.t() | nil}
2024-01-27 13:58:50 -05:00
Mark Felder
2062e126f1
Pleroma.Web.ActivityPub.Builder: fix dialyzer error
...
lib/pleroma/web/activity_pub/builder.ex:115:pattern_match
The pattern can never match the type.
Pattern:
_emojo = %{:file => _path}
Type:
nil | binary()
2024-01-27 10:41:09 -05:00
Mark Felder
3fbe8ada93
Pleroma.ReverseProxy: dialyzer errors
...
lib/pleroma/reverse_proxy.ex:225:pattern_match
The pattern can never match the type.
Pattern:
:done
Type:
{:ok, :no_duration_limit, :no_duration_limit}
lib/pleroma/reverse_proxy.ex:226:pattern_match
The pattern can never match the type.
Pattern:
{:error, _error}
Type:
{:ok, :no_duration_limit, :no_duration_limit}
lib/pleroma/reverse_proxy.ex:391:pattern_match
The pattern can never match the type.
Pattern:
__duration = nil, _max
Type:
integer(), _
2024-01-27 10:28:49 -05:00
Mark Felder
6fcecbd48b
Formatting
2024-01-27 10:09:20 -05:00
Mark Felder
b2ab479488
Pleroma.Helpers.QtFastStart: Dialzyer error
...
lib/pleroma/helpers/qt_fast_start.ex:129:improper_list_constr
List construction (cons) will produce an improper list, because its second argument is <<_::32>>.
lib/pleroma/helpers/qt_fast_start.ex:129:improper_list_constr
List construction (cons) will produce an improper list, because its second argument is <<_::64>>.
2024-01-26 21:03:41 -05:00
Mark Felder
6e0945354d
Pleroma.ModerationLog: fix invalid type
2024-01-26 21:03:41 -05:00
Mark Felder
e834343496
Pleroma.Search.SearchBackend: dialyzer error
...
Incorrect spec. Both search backends return :ok so that is what should be the spec.
lib/pleroma/search/database_search.ex:56:callback_type_mismatch
Type mismatch for @callback remove_from_index/1 in Pleroma.Search.SearchBackend behaviour.
Expected type:
{:error, _} | {:ok, _}
Actual type:
:ok
2024-01-26 21:03:41 -05:00
Mark Felder
1b40ebfa20
Pleroma.Signature: dialyzer error
...
lib/pleroma/signature.ex:30:pattern_match
The pattern can never match the type.
Pattern:
%{<<97, 112, 95, 105, 100>> => _ap_id}
Type:
{:error, _} | {:ok, map()}
2024-01-26 21:03:41 -05:00
Mark Felder
87cf7010fc
Pleroma.Upload: dialyzer error
...
I have opted to set this to :upper as this retains the same behavior but clears up the error.
lib/pleroma/upload.ex:178:call
The function call will not succeed.
Base.encode16(binary(), [{:lower, true}])
breaks the contract
(binary(), [{:case, encode_case()}]) :: binary()
2024-01-26 21:03:23 -05:00
Mark Felder
06b8923d42
RichMedia.Parser.TTL.AwsSignedUrl: dialyzer fix
...
lib/pleroma/web/rich_media/parser/ttl/aws_signed_url.ex:9:callback_type_mismatch
Type mismatch for @callback ttl/2 in Pleroma.Web.RichMedia.Parser.TTL behaviour.
Expected type:
nil | integer()
Actual type:
{:error, <<_::64, _::size(8)>>} | {:ok, integer()}
2024-01-26 17:37:32 -05:00
Mark Felder
28af5e3bd7
TwitterAPI.UtilController: fix dialyzer errors
...
lib/pleroma/web/twitter_api/controllers/util_controller.ex:300:pattern_match
The pattern can never match the type.
Pattern:
{:error, :no_such_alias}
Type:
{:not_found, nil}
lib/pleroma/web/twitter_api/controllers/util_controller.ex:304:pattern_match
The pattern can never match the type.
Pattern:
{:error, _error}
Type:
{:not_found, nil}
2024-01-26 17:22:27 -05:00
Mark Felder
5b95abaeea
Credo.Check.Readability.PredicateFunctionNames
...
This check was recently improved in Credo and it does make sense for readability.
The offending functions in Pleroma have been renamed and a couple missing the ? suffix have been fixed as well.
2024-01-26 16:59:58 -05:00
Mark Felder
18d38486a5
InetCidr.parse/2 is deprecated
2024-01-26 15:57:50 -05:00
Haelwenn (lanodan) Monnier
799891d359
Transmogrifier: Cleanup obsolete handling of "contentMap": null
2024-01-26 17:10:10 +01:00
Haelwenn (lanodan) Monnier
acef2a4a40
CommonFixes: Use Maps.filter_empty_values on fix_object_defaults
2024-01-26 16:19:25 +01:00
Haelwenn (lanodan) Monnier
0de1a7629c
Maps: Add filter_empty_values/1
2024-01-26 16:18:29 +01:00
Mark Felder
3a8594e927
MastodonAPI.Controller.StatusController: fix dialyzer error
...
lib/pleroma/web/mastodon_api/controllers/status_controller.ex:333:pattern_match
The pattern can never match the type.
Pattern:
{:ok, _activity}
Type:
{:error, _}
2024-01-22 18:37:29 -05:00
Mark Felder
115b2ad638
MRF.KeywordPolicy: fix dialyzer error
...
lib/pleroma/web/activity_pub/mrf/keyword_policy.ex:13:neg_guard_fail
Guard test:
not is_binary(_string :: binary())
can never succeed.
2024-01-22 18:37:29 -05:00
Mark Felder
0dd65246ea
MRF.HashtagPolicy: fix dialyzer error
...
lib/pleroma/web/activity_pub/mrf/hashtag_policy.ex:87:exact_eq
The test <<_::32>> == <<_::48>> can never evaluate to 'true'.
2024-01-22 18:37:19 -05:00
Mark Felder
5f71928f6b
MRF.InlineQuotePolicy: fix dialyzer error
...
lib/pleroma/web/activity_pub/mrf/inline_quote_policy.ex:60:callback_type_mismatch
Type mismatch for @callback config_description/0 in Pleroma.Web.ActivityPub.MRF.Policy behaviour.
Expected type:
%{
:description => binary(),
:key => atom(),
:label => binary(),
:related_policy => binary(),
:children => [map()]
}
Actual type:
%{
:children => [
%{
:description => <<_::808>>,
:key => :template,
:suggestions => [any(), ...],
:type => :string
},
...
],
:description => <<_::336>>,
:key => :mrf_inline_quote,
:label => <<_::184>>,
:related_policy => <<_::360>>,
:type => :group
}
2024-01-22 18:37:13 -05:00
Mark Felder
a7fa6f18dc
Pleroma.Migrators.Support.BaseMigrator: Fix dialyzer errors
...
lib/pleroma/migrators/context_objects_deletion_migrator.ex:13:exact_eq
The test :error | float() == 0 can never evaluate to 'true'.
lib/pleroma/migrators/hashtags_table_migrator.ex:13:exact_eq
The test :error | float() == 0 can never evaluate to 'true'.
2024-01-22 18:37:13 -05:00
Mark Felder
6ce7011a2e
Pleroma.Gun.ConnectionPool.WorkerSupervisor: fix dialyzer error
...
lib/pleroma/gun/connection_pool/worker_supervisor.ex:24:guard_fail
The guard clause:
when _ :: true === nil
can never succeed.
2024-01-22 18:37:13 -05:00
Mark Felder
65d49ac090
Pleroma.HTTP.AdapterHelper: fix dialyzer errors
...
lib/pleroma/http/adapter_helper.ex:18:unknown_type
Unknown type: Connection.host/0.
lib/pleroma/http/adapter_helper.ex:19:unknown_type
Unknown type: Connection.host/0.
lib/pleroma/http/adapter_helper.ex:19:unknown_type
Unknown type: Connection.proxy_type/0.
2024-01-22 18:37:13 -05:00
Mark Felder
c74c5f479a
Pleroma.Migrators.Support.BaseMigratorState: fix dialyzer error
...
lib/pleroma/migrators/support/base_migrator_state.ex:10:unknown_type
Unknown type: Pleroma.DataMigration.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
36355d3ed9
Pleroma.Web.ActivityPub.Builder: fix dialyzer error
...
lib/pleroma/web/activity_pub/builder.ex:205:unknown_type
Unknown type: Pleroma.Web.CommonAPI.ActivityDraft.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
39da451b6d
Pleroma.Web.ActivityPub.Builder: fix dialyzer errors
...
lib/pleroma/web/activity_pub/builder.ex:35:unknown_type
Unknown type: Activity.t/0.
lib/pleroma/web/activity_pub/builder.ex:40:unknown_type
Unknown type: Activity.t/0.
lib/pleroma/web/activity_pub/builder.ex:144:unknown_type
Unknown type: Activity.t/0.
________________________________________________________________________________
lib/pleroma/web/activity_pub/builder.ex:204:unknown_type
Unknown type: Pleroma.Web.CommonAPI.ActivityDraft.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
10f3a2833f
Pleroma.User.Query: fix dialyzer error
...
lib/pleroma/user/query.ex:74:unknown_type
Unknown type: Query.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
40feac086f
Pleroma.User: fix dialyzer errors
...
lib/pleroma/user.ex:1514:unknown_type
Unknown type: Pleroma.UserRelationship.t/0.
lib/pleroma/user.ex:2629:unknown_type
Unknown type: Pleroma.UserRelationship.t/0.
lib/pleroma/user.ex:2638:unknown_type
Unknown type: Pleroma.UserRelationship.t/0.
2024-01-22 18:37:13 -05:00
Mark Felder
1361856213
Pleroma.User.Backup: fix some dialyzer errors
...
lib/pleroma/user/backup.ex:207:call
The function call will not succeed.
:zip.create(
string(),
[:"\"actor.json\"", :"\"outbox.json\"", :"\"likes.json\"", :"\"bookmarks.json\""],
[{:cwd, binary()}, ...]
)
will never return since the success typing is:
(
atom() | [atom() | [any()] | char()],
[
atom()
| [atom() | [any()] | char()]
| {atom() | [atom() | [any()] | char()], binary()}
| {atom() | [atom() | [any()] | char()], binary(),
{:file_info, :undefined | non_neg_integer(),
:device | :directory | :other | :regular | :symlink | :undefined,
:none | :read | :read_write | :undefined | :write,
:undefined | non_neg_integer() | {_, _}, :undefined | non_neg_integer() | {_, _},
:undefined | non_neg_integer() | {_, _}, :undefined | non_neg_integer(),
:undefined | non_neg_integer(), :undefined | non_neg_integer(),
:undefined | non_neg_integer(), :undefined | non_neg_integer(),
:undefined | non_neg_integer(), :undefined | non_neg_integer()}}
],
[
:cooked
| :memory
| :verbose
| {:comment, string()}
| {:compress, :all | [[any()]] | {:add, [any()]} | {:del, [any()]}}
| {:cwd, string()}
| {:uncompress, :all | [[any()]] | {:add, [any()]} | {:del, [any()]}}
]
) ::
{:error, _}
| {:ok,
atom() | [atom() | [any()] | char()] | {atom() | [atom() | [any()] | char()], binary()}}
and the contract is
(name, fileList, options) :: retValue
when name: :file.name(),
fileList: [:FileSpec],
fileSpec:
:file.name() | {:file.name(), binary()} | {:file.name(), binary(), :file.file_info()},
options: [:Option],
option: create_option(),
retValue:
{:ok, FileName :: filename()}
| {:ok, {FileName :: filename(), binary()}}
| {:error, Reason :: term()}
2024-01-22 18:37:13 -05:00
Mark Felder
38ebefce9c
Announcement: fix dialyzer errors and add typespec for the changeset
...
It was possible for this to raise (no_local_return) because the data key could be missing from the params
2024-01-22 18:37:13 -05:00
Mark Felder
eb4dd50f53
Use config to control inclusion of test emoji
2024-01-22 18:37:13 -05:00
Mark Felder
6df93e61c4
Use config to determine sending to the streamer registry instead of MIX_ENV compile time function definition
2024-01-22 18:37:13 -05:00
Mark Felder
653b14e1c7
Use config to control Uploader callback timeout
2024-01-22 18:37:13 -05:00
Mark Felder
0ac010ba3f
Replace custom fifo implementation with Exile
...
This is for streaming media to ffmpeg thumbnailer. The existing implementation relies on undocumented behavior.
Erlang open_port/2 does not officially support passing a string of a file path for opening. The specs clearly state you are to provide one of the following for open_port/2:
{spawn, Command :: string() | binary()} |
{spawn_driver, Command :: string() | binary()} |
{spawn_executable, FileName :: file:name_all()} |
{fd, In :: integer() >= 0, Out :: integer() >= 0}
Our method technically works but is strongly discouraged as it can block the scheduler and dialyzer throws errors as it recognizes we're breaking the contract and some of the functions we wrote may never return.
This is indirectly covered by the Erlang FAQ section "9.12 Why can't I open devices (e.g. a serial port) like normal files?"
https://www.erlang.org/faq/problems#idm1127
2024-01-22 10:13:17 -05:00
marcin mikołajczak
def088ce52
format
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-21 18:23:24 +01:00
Haelwenn
ab3f03a04a
Merge branch 'develop' into 'public-polls'
...
# Conflicts:
# docs/development/API/differences_in_mastoapi_responses.md
2024-01-21 12:03:29 +00:00
Mark Felder
dcd0102800
Credo
2024-01-20 19:39:13 -05:00
Mark Felder
2330100371
Use config to control starting all HTTP pools in test env
2024-01-20 19:10:57 -05:00
Mark Felder
17877f612e
Use config to control streamer registry
2024-01-20 18:51:20 -05:00
Mark Felder
4bb57d4f25
Use config to control background migrators
2024-01-20 18:47:25 -05:00
Mark Felder
c7eda0b24a
Use config to control loading of custom modules
2024-01-20 18:43:53 -05:00
Mark Felder
029aaf3d74
Use config to control max_restarts
2024-01-20 18:41:04 -05:00
Mark Felder
65ac513776
Dialyzer: fix pattern match coverage
2024-01-20 17:58:47 -05:00
Mark Felder
88042109a3
Dialyzer: fix pattern match coverage
2024-01-20 17:56:32 -05:00
Mark Felder
7f649a7a19
Dialyzer: remove function that will never match
2024-01-20 17:50:21 -05:00
Mark Felder
2fbb67add7
Fix typo in typespec
2024-01-20 17:48:12 -05:00
Mark Felder
ea26add540
Fix incorrect type definition for maybe_direct_follow/2
2024-01-20 17:43:34 -05:00
Mark Felder
38d01ff511
Fix invalid types
2024-01-20 17:37:27 -05:00
Mark Felder
83eece7764
Fix invalid type
...
lib/pleroma/web/auth/authenticator.ex:8:unknown_type
Unknown type: User.t/0.
2024-01-20 17:33:37 -05:00
Mark Felder
4f07116108
Fix invalid type
...
lib/pleroma/web/activity_pub/publisher.ex:31:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:32:19 -05:00
Mark Felder
ec5ae83da6
Fix invalid types
...
lib/pleroma/web/activity_pub/mrf/policy.ex:6:unknown_type
Unknown type: Map.t/0.
lib/pleroma/web/activity_pub/mrf/policy.ex:7:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:31:07 -05:00
Mark Felder
2061a1d917
Fix invalid type
...
lib/pleroma/uploaders/uploader.ex:43:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:29:27 -05:00
Mark Felder
551e90cd52
Fix invalid type
...
lib/pleroma/upload.ex:89:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:28:54 -05:00
Mark Felder
f050a75b92
Fix invalid types due to typos
...
lib/pleroma/web/feed/feed_view.ex:135:unknown_type
Unknown type: NativeDateTime.t/0.
lib/pleroma/web/feed/feed_view.ex:148:unknown_type
Unknown type: NativeDateTime.t/0.
2024-01-20 17:22:40 -05:00
Mark Felder
e5120a2703
Fix invalid type due to typos
...
lib/pleroma/web/o_auth/authorization.ex:61:unknown_type
Unknown type: Authtorizatiton.t/0.
2024-01-20 17:21:12 -05:00
Mark Felder
65dfaa6cb9
Fix invalid type due to late aliasing
...
lib/pleroma/web/o_auth/token/query.ex:12:unknown_type
Unknown type: Token.t/0.
2024-01-20 17:18:16 -05:00
Mark Felder
09ae0ab24a
Fix invalid type
...
lib/pleroma/web/rich_media/parser.ex:105:unknown_type
Unknown type: Integer.t/0.
2024-01-20 17:16:10 -05:00
Mark Felder
467a65af90
Fix invalid types
...
lib/pleroma/web/rich_media/parser/ttl.ex:6:unknown_type
Unknown type: Integer.t/0.
lib/pleroma/web/rich_media/parser/ttl.ex:6:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:14:56 -05:00
Mark Felder
e3f52ee13f
Fix invalid types
...
lib/pleroma/web/streamer.ex:37:unknown_type
Unknown type: Map.t/0.
________________________________________________________________________________
lib/pleroma/web/streamer.ex:63:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:14:10 -05:00
Mark Felder
593c7e26d4
Fix invalid type
...
lib/pleroma/migrators/hashtags_table_migrator.ex:103:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:13:27 -05:00
Mark Felder
559aeb5dd0
Add missing type Pleroma.Emoji.t()
...
lib/pleroma/emoji/loader.ex:23:unknown_type
Unknown type: Pleroma.Emoji.t/0.
2024-01-20 17:08:18 -05:00
Mark Felder
8ed506a370
Fix invalid type
...
lib/pleroma/docs/json.ex:21:unknown_type
Unknown type: Map.t/0.
2024-01-20 17:05:55 -05:00
Mark Felder
0b7d214211
Fix invalid typespec references to Ecto.Changeset.t()
2024-01-20 16:47:50 -05:00
Mark Felder
dc8045d766
FlakeId.Ecto.CompatType.t() does not exist
...
This type is not exported and usable. FlakeId intends to return the type as :uuid, so we replace it in the typespecs with Ecto.UUID.t() which assuages the dialyzer errors
e.g.,
lib/pleroma/bookmark.ex:25:unknown_type
Unknown type: FlakeId.Ecto.CompatType.t/0.
2024-01-20 16:36:01 -05:00
Mark Felder
b16a01ba9d
Pleroma.ApplicationRequirements: fix dialyzer errors
...
lib/pleroma/application_requirements.ex:19:unknown_type
Unknown type: Pleroma.ApplicationRequirements.VerifyError.t/0.
lib/pleroma/application_requirements.ex:199:pattern_match_cov
The pattern
variable_result
can never match, because previous clauses completely cover the type
:ok.
2024-01-20 16:10:11 -05:00
Mark Felder
df1d390a49
Pleroma.Activity.Queries: fix dialyzer error
...
lib/pleroma/activity/queries.ex:12:unknown_type
Unknown type: Activity.t/0.
2024-01-20 16:01:32 -05:00
Mark Felder
2a28377be0
Fix mix task pleroma.instance dialyzer error
...
lib/mix/tasks/pleroma/instance.ex:356:pattern_match_cov
The pattern
:variable_
can never match, because previous clauses completely cover the type
%{
:anonymize => boolean(),
:dedupe => boolean(),
:read_description => boolean(),
:strip_location => boolean()
}.
2024-01-20 15:55:33 -05:00
Haelwenn
a5f64ffd0c
Apply lanodan’s suggestion to 1 file
2024-01-19 21:28:15 +00:00
Haelwenn
3c65a2899d
Merge branch 'handle_object_fetch_failures' into 'develop'
...
Handle object fetch failures gracefully
See merge request pleroma/pleroma!4015
2024-01-19 18:43:00 +00:00
marcin mikołajczak
b39403a48f
Update API docs for my changes
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2024-01-17 17:13:21 +01:00
Haelwenn
4c20713ecd
Merge branch 'otp26' into 'develop'
...
OTP26 support
See merge request pleroma/pleroma!4025
2024-01-17 09:51:56 +00:00
Haelwenn
9b39bc6aa8
Merge branch 'mrf-regex-error' into 'develop'
...
MRF: Log sensible regex error for subdomain_match
See merge request pleroma/pleroma!4026
2024-01-15 08:24:54 +00:00
Haelwenn
c29430b018
Merge branch 'mrf-steal-emoji-extname' into 'develop'
...
MRF.StealEmojiPolicy: Properly add fallback extension to filenames missing one
See merge request pleroma/pleroma!4029
2024-01-15 08:24:24 +00:00
Mark Felder
12c052551b
Allow the Remote Fetcher to attempt fetching an unreachable instance
2024-01-14 14:05:43 -05:00
tusooa
d3a4f5b7d7
Merge branch 'nil-contentMap' into 'develop'
...
Support objects with a nil contentMap (firefish)
Closes #3231
See merge request pleroma/pleroma!4030
2024-01-13 22:23:21 +00:00
feld
9cc46c5538
Merge branch 'qtfaststart-fix' into 'develop'
...
Fix MediaProxy crashing on some videos
See merge request pleroma/pleroma!4024
2024-01-13 04:35:32 +00:00
Mint
3c30eadd5e
Fix duplicate inbox deliveries
2024-01-11 20:48:35 +03:00
Haelwenn (lanodan) Monnier
7651198508
Support objects with a nil contentMap (firefish)
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3231
2024-01-11 07:16:45 +01:00
Haelwenn (lanodan) Monnier
4ca65c6182
MRF.StealEmojiPolicy: Properly add fallback extension to filenames missing one
2024-01-07 19:37:35 +01:00
Ekaterina Vaartis
29158681f9
Fetch count before downloading the pack and use that as page size
2024-01-07 17:07:50 +03:00
Ekaterina Vaartis
69e4ebbb8e
Make remote emoji packs API use specifically the V1 URL
...
Akkoma does not understand it without V1, and it works either way with
normal pleroma, so no reason to not do this
2024-01-07 15:30:52 +03:00
Alexander Tumin
32d8e0d496
Fix authentication check on account rendering when bio is defined
2024-01-04 16:57:48 +03:00
Haelwenn (lanodan) Monnier
6af49270a9
MRF: Log sensible error for subdomains_regex
2024-01-02 15:37:41 +01:00
Mark Felder
1b5168ae02
Phoenix detects the webfinger requests with content-type application/jrd+json as "jrd" now
2023-12-29 23:18:45 -05:00
Haelwenn
f74f5e0a56
Merge branch 'publisher' into 'develop'
...
Discard some failed publisher jobs
See merge request pleroma/pleroma!4022
2023-12-29 23:18:34 +00:00
Mark Felder
50edef5bc1
Change QTFastStart to recover gracefully if it encounters an error during bitstring matching
...
This fixes issues with internal errors when trying to serve the video
2023-12-29 14:12:44 -05:00
Mark Felder
833117f573
Fix tests
...
Need to handle the edge case of no valid HTTP response which has no status code
2023-12-29 13:04:06 -05:00
feld
8ac4458630
Merge branch 'finch-redirects' into 'develop'
...
Fix following redirects with Finch
See merge request pleroma/pleroma!4023
2023-12-29 17:00:58 +00:00
lain
a6fc97ffec
Merge branch 'bugfix/chat-attachment-empty-array' into 'develop'
...
ChatMessage: Tolerate attachment field set to an empty array
Closes #3224
See merge request pleroma/pleroma!4020
2023-12-29 08:12:27 +00:00
Mark Felder
4afe211e50
Return the full tuple from Tesla
2023-12-29 01:04:05 -05:00
Mark Felder
2950397d47
Fix following redirects with Finch
2023-12-29 00:50:50 -05:00
Mark Felder
141702538b
Discard on a 404 as well
2023-12-29 00:31:05 -05:00
Mark Felder
7ebca7ecfa
Activity publishing failures will prevent the job from retrying if the publishing request returns a 403 or 410
2023-12-29 00:25:33 -05:00
Mark Felder
77949d4590
Make the Publisher log error less noisy
2023-12-29 00:25:11 -05:00
Mark Felder
f17f92105b
Oban jobs should be discarded on permanent errors
2023-12-28 23:52:59 -05:00
Haelwenn (lanodan) Monnier
39dc6c65ef
ChatMessage: Tolerate attachment field set to an empty array
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3224
2023-12-29 05:32:47 +01:00
Mark Felder
aa070c7daf
Handle 401s as I have observed it in the wild
2023-12-28 23:09:33 -05:00
Mark Felder
efd50759d5
Log errors when publishing activities
2023-12-28 22:59:27 -05:00
Mark Felder
08ba9a15b2
Fix the Federator perform/2 Oban callback
2023-12-28 22:51:47 -05:00
Mark Felder
3acfdb6f8a
Retire the Pleroma.Web.Federator.Publisher module
2023-12-28 14:53:09 -05:00
Mark Felder
1d816222e0
Remove support for multiple federation publisher modules
...
This also unravels some needless indirection.
2023-12-28 11:55:19 -05:00
Haelwenn
ddc321a094
Merge branch 'tusooa/3205-group-actor' into 'develop'
...
Implement group actors
See merge request pleroma/pleroma!3969
2023-12-28 10:46:53 +00: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
marcin mikołajczak
017e35fbf1
Fix some more typos
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-28 00:17:04 +01:00
marcin mikołajczak
f53197c82a
Fix operation name typo
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-27 23:52:46 +01: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
marcin mikołajczak
f6fee39e42
Add changelog
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-27 21:24:20 +01:00
Mark Felder
1a337dcc18
These functions in Pleroma.Instances should be defdelegates to Pleroma.Instances.Instance
2023-12-27 12:44:16 -05:00
tusooa
b273025fd7
Add pleroma:group_actors to instance features
2023-12-27 12:28:11 -05:00
tusooa
e34a975dd9
Do not boost if group is blocking poster
2023-12-27 12:28:10 -05:00
tusooa
5459bbc1ef
Allow group actors to boost posts
2023-12-27 12:28:04 -05:00
tusooa
7a58ddfa48
Allow local user to have group actor type
...
https://git.pleroma.social/pleroma/pleroma/-/issues/3205
2023-12-27 12:27:37 -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
marcin mikołajczak
6051715a99
Merge remote-tracking branch 'origin/develop' into instance_rules
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-22 14:34:30 +01:00
marcin mikołajczak
9fc6676d8c
Merge remote-tracking branch 'origin/develop' into instance-contact-account
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-22 13:54:44 +01:00
marcin mikołajczak
28e5e65676
Merge remote-tracking branch 'origin/develop' into webfinger-fix
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-22 13:29:56 +01: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
marcin mikołajczak
39d3df86c8
Use consistent terminology
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-12-21 00:10:30 +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
Haelwenn (lanodan) Monnier
086ba59d03
HTTPSignaturePlug: Add :authorized_fetch_mode_exceptions
2023-12-16 19:25:51 +01:00
Haelwenn (lanodan) Monnier
f271ea6e43
Move Plugs.RemoteIP.maybe_add_cidr/1 to InetHelper.parse_cidr/1
2023-12-16 18:23:26 +01: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
kPherox
b70ca7d54e
fix: AnalyzeMetadata filter no longer depends on ImageMagick's commands
2023-12-07 09:53:24 +00:00
Lain Soykaf
ef8a2134bc
AccountView: Add test, refactor
2023-12-07 11:25:18 +04:00
Lain Soykaf
6a191a91ab
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into last_status_at
2023-12-07 11:18:39 +04:00
lain
2656199dc7
Merge branch 'more-test-fixes' into 'develop'
...
More test fixes
See merge request pleroma/pleroma!3984
2023-12-07 05:26:06 +00:00
Mark Felder
1ad0d94d6f
Change set_reachable/1 to an upsert
2023-12-06 15:50:00 -05:00
Lain Soykaf
eb6be30602
Linting
2023-11-30 10:05:00 +04:00
Lain Soykaf
15a8acbd6c
MRF, Docs.Generator: Ensure code is loaded before checking it
2023-11-30 09:40:17 +04:00
HJ
6a6a631c81
Merge branch 'neetzsche/add_url_to_scrobbles' into 'develop'
...
Add optional URL value for scrobbles
See merge request pleroma/pleroma!3977
2023-11-29 15:59:19 +00:00
NEETzsche
e216603477
Change url to externalLink as requested by hj here: https://shigusegubu.club/notice/AcIjZjackKAt6e522a
2023-11-29 07:55:44 -07:00
lain
1955b3c557
Merge branch 'vips' into 'develop'
...
Replace ImageMagick with Vips
See merge request pleroma/pleroma!3771
2023-11-29 06:03:37 +00:00
Lain Soykaf
ccc2adee41
Linting
2023-11-28 13:13:43 +04:00
Lain Soykaf
b3214be32f
AnayzeMetadata: Fix error case that would never match
2023-11-28 12:33:54 +04:00
Lain Soykaf
03db495e1d
AnalyzeMetadata: Switch to rinpatch_blurhash
2023-11-28 12:23:41 +04:00
lain
ef7bda61ad
Merge branch 'promex' into 'develop'
...
Switch to PromEx for prometheus metrics
See merge request pleroma/pleroma!3967
2023-11-28 07:50:16 +00:00
Lain Soykaf
4ef56c5b65
ActivityPub.Utils: Only treat object ids as valid while stripping
2023-11-27 18:44:11 +04:00
NEETzsche
27df2c0ce6
Fix #strip_report_status_data
2023-11-27 17:56:43 +04:00
Mark Felder
299c548b12
Prevent a blurhash failure from breaking all metadata collection
2023-11-23 16:15:53 -05:00
NEETzsche
510a7b64f1
Add optional URL value for scrobbles
2023-11-23 04:51:51 -07:00
HJ
4ebfc011fc
Merge branch 'favicon' into 'develop'
...
Make favicon configurable, embed favicon and manifest in server-generated meta
See merge request pleroma/pleroma!3963
2023-11-19 08:52:37 +00:00
feld
906b121a10
Merge branch 'develop' into 'vips'
...
# Conflicts:
# mix.exs
2023-11-17 16:50:36 +00:00
Mark Felder
88cc7e6a04
Resize images to 100 pixels before hashing
2023-11-17 11:06:31 -05:00
Mark Felder
0c6a54b37c
Upload.Filter.AnalyzeMetadata: Blurhash with a Rust NIF, and use Vix to retrieve image metadata
2023-11-17 10:26:00 -05:00
Haelwenn (lanodan) Monnier
8ac7cc98c1
MastoAPI AccountView: Change last_status_at to be a date
...
Changed in Mastodon 3.1.0 with: https://github.com/tootsuite/mastodon/pull/12966
2023-11-16 15:52:01 +01:00
Haelwenn (lanodan) Monnier
5d3e145dc4
RedirectController: Unify server-generated-meta insertion code
2023-11-14 11:06:36 +01:00
Henry Jameson
a5aa8ea796
Add support for configuring a favicon and embed PWA manifest in server-generated-meta
2023-11-14 11:05:23 +01:00
Haelwenn (lanodan) Monnier
66f5ae0c5a
router: Make /federation_status publicly available
2023-11-14 10:48:30 +01:00
Haelwenn
bf2d6abaf2
Merge branch 'healthcheck-disabled-error' into 'develop'
...
TwitterAPI: Return proper error when healthcheck is disabled
See merge request pleroma/pleroma!3953
2023-11-14 09:41:26 +00:00
Mark Felder
a4b6e5613f
Revert "Add Pleroma.Upload.Filter.HeifToJpeg based on vips"
...
This reverts commit 31d4448ee6
.
This functionality is not reliably working with vips/vix due to codec patent junk
2023-11-13 15:41:39 -05:00
Mark Felder
481b6ac0d5
Add Pleroma.Upload.Filter.HeifToJpeg based on vips
2023-11-13 15:41:39 -05:00
Mark Felder
13baba90f6
Replace ImageMagick with Vips for Media Preview Proxy
2023-11-13 15:41:39 -05:00
Mark Felder
66cb3294ed
Switch to PromEx for prometheus metrics
...
Recommending use of the separate HTTP server for exposing the metrics
and securing it externally on your firewall or reverse proxy. It will
listen on port 4021 by default.
2023-11-13 15:34:59 -05:00
lain
752bc168f6
Merge branch 'quotes-count' into 'develop'
...
Count and display post quotes
See merge request pleroma/pleroma!3956
2023-11-12 13:38:09 +00:00
marcin mikołajczak
9a063deacc
Count and display post quotes
2023-11-12 13:38:08 +00:00
lain
5f19fbc5a9
Merge branch 'phoenix1.7' into 'develop'
...
Update to Phoenix 1.7
See merge request pleroma/pleroma!3900
2023-11-12 13:34:27 +00:00
Lain Soykaf
3d62c71edf
Credo fixes.
2023-11-12 17:13:27 +04:00
Lain Soykaf
59018d73c3
B Meilisearch: Update to current API responses.
2023-11-12 16:43:50 +04:00
Lain Soykaf
a1a25029da
B DatabaseSearch: Fix local-only search.
2023-11-12 16:19:54 +04:00
Lain Soykaf
d3f8950588
B MeiliSearch, SearchIndexingWorker: Use Config.Getting, make tests async.
2023-11-12 14:49:50 +04:00
Lain Soykaf
c1402af293
B Getting: Add default implementation, delegate, prepare test support.
2023-11-12 14:49:15 +04:00
Lain Soykaf
0c5cc51983
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-meilisearch
2023-11-12 13:53:18 +04:00
Marcin Mikołajczak
1e9333a9aa
Merge remote-tracking branch 'origin/develop' into instance-v2
2023-11-08 20:46:57 +01:00
Mark Felder
e23672d82f
Ensure benchee doesn't run unless we are executing benchmarks
2023-11-08 12:44:57 -05:00
Mark Felder
a0e08c6ec2
Merge branch 'develop' into phoenix1.7
2023-11-07 16:05:04 -05:00
Mark Felder
bf426c53b4
Fix digest email processing, consolidate Oban queues
...
The email related jobs can all share a single Oban queue
2023-11-07 15:14:36 -05:00
marcin mikołajczak
c62696c8e7
Support /authorize-interaction route used by Mastodon
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-11-02 13:47:23 +01:00
marcin mikołajczak
50e7706b26
Verify link ownership with rel="me"
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-11-02 13:30:46 +01:00
marcin mikołajczak
93370b870a
Expose nonAnonymous field from Smithereen polls
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-28 23:58:39 +02:00
marcin mikołajczak
b6a9d87f16
Display reposted replies with exclude_replies: true
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-28 00:10:13 +02:00
marcin mikołajczak
c6cedbb810
InstanceV2: skip auth
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-28 00:07:18 +02:00
marcin mikołajczak
6b8c5e12df
Add contact account to InstanceView
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-26 23:32:08 +02:00
marcin mikołajczak
5ff3783d01
Use correct domain for fqn and InstanceView
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-10-25 00:38:10 +02:00
tusooa
b748efe66a
Fix mentioning punycode domains when using Markdown
2023-10-16 21:35:25 -04:00
tusooa
840dd01035
Fix duplicated schema names
2023-10-15 17:20:26 -04:00
tusooa
32de0683c4
Fix unsubscribe event type in streaming doc
2023-10-15 17:20:26 -04:00
tusooa
c13f0a8460
Add meta-info and query strings to streaming doc
2023-10-15 17:20:26 -04:00
tusooa
f393a15dd1
Fix some specs about server-sent events in streaming
2023-10-15 17:20:26 -04:00
tusooa
8829dcaee4
Document client-sent events in streaming
2023-10-15 17:20:25 -04:00
tusooa
dcef33f5f0
Document server-sent events of streaming
2023-10-15 17:20:25 -04:00
tusooa
844d1a14e0
Start writing api docs for streaming endpoint
2023-10-15 17:20:25 -04:00
tusooa
eebc605bc2
Clear up debug statement
2023-10-15 17:20:25 -04:00
tusooa
a348c2e4dd
Use pleroma: instead of pleroma. for ws events
2023-10-15 17:20:25 -04:00
tusooa
7d005e8c93
Return stream attribute in server-sent events
2023-10-15 17:20:23 -04:00
tusooa
21395aa509
Allow authenticating via client-sent events
2023-10-15 17:19:49 -04:00
tusooa
273cda63ad
Allow subscribing to streams
2023-10-15 17:19:49 -04:00
tusooa
2b5636bf12
Allow unified streaming endpoint
2023-10-15 17:19:40 -04:00
Haelwenn (lanodan) Monnier
2f6fc6a7ab
TwitterAPI: Return proper error when healthcheck is disabled
2023-09-24 23:32:17 +02:00
tusooa
08608afca5
Fix quote_visible attribute
2023-09-13 19:20:33 -04:00
tusooa
a8b2f9205d
Expose quote_id parameter on the api
2023-09-13 19:20:32 -04:00
tusooa
875b46d97d
Do not mention original poster when quoting
2023-09-13 19:20:32 -04:00
tusooa
87353e5ad1
Fix config descriptions for mrf inline quote
2023-09-13 19:20:32 -04:00
tusooa
8b98a98dfb
Make InlineQuotePolicy history aware
2023-09-13 19:20:32 -04:00
tusooa
e349e92a44
Add mrf to force link tag of quoting posts
2023-09-13 19:20:30 -04:00
tusooa
479a6f11db
Keep incoming Link tag
2023-09-13 19:19:44 -04:00
tusooa
e9cd004ba1
Parse object link as quoteUrl
2023-09-13 19:19:42 -04:00
tusooa
163e563733
Allow more flexibility in InlineQuotePolicy
2023-09-13 19:19:05 -04:00
tusooa
9bcec87aba
Allow local quote and private self-quote
2023-09-13 19:19:05 -04:00
tusooa
b0a7e795e7
Unify logic for normalizing quoteUri
2023-09-13 19:19:05 -04:00
Alex Gleason
f9697e68c2
InlineQuotePolicy: skip objects which already have an .inline-quote span
2023-09-13 19:19:05 -04:00
Alex Gleason
79fca39faf
Actually, don't send _misskey_quote anymore
2023-09-13 19:19:05 -04:00
Alex Gleason
4075eecca0
InlineQuotePolicy: improve the way Markdown quotes are displayed by other software
2023-09-13 19:19:05 -04:00
Alex Gleason
817e308c0d
Handle Fedibird's new quoteUri field
2023-09-13 19:19:05 -04:00
Alex Gleason
3c8319fe9f
Transmogrifier: federate quotes with _misskey_quote field
2023-09-13 19:19:04 -04:00
Alex Gleason
cf8e425883
StatusView: return quote post inside a reblog
2023-09-13 19:19:04 -04:00
Alex Gleason
bee7e41959
InlineQuotePolicy: don't add line breaks to markdown posts
2023-09-13 19:19:04 -04:00
Alex Gleason
74e0a4555f
StatusView: add quote_visible
param
2023-09-13 19:19:04 -04:00
Alex Gleason
6f11f11519
StatusView: fix quote visibility
2023-09-13 19:19:04 -04:00
Alex Gleason
59326247aa
CommonAPI: disallow quoting private posts through the API
2023-09-13 19:19:04 -04:00
Alex Gleason
57ef1d1211
Add InlineQuotePolicy to force quote URLs inline
2023-09-13 19:19:04 -04:00
Alex Gleason
1f19dd76f6
ActivityDraft: mix format, defensive actor ID
2023-09-13 19:19:04 -04:00
Alex Gleason
54a9897938
ActivityDraft: mention the OP of a quoted post
2023-09-13 19:19:04 -04:00
Alex Gleason
80ab2572a4
Return quote_url through the API, don't render quotes more than 1 level deep
2023-09-13 19:19:04 -04:00
Alex Gleason
5716f88a1d
InstanceView: add "quote_posting" feature
2023-09-13 19:19:03 -04:00
Alex Gleason
9600973917
mix format
2023-09-13 19:19:03 -04:00
Alex Gleason
d4fea8b559
ActivityDraft: allow quoting
2023-09-13 19:19:03 -04:00
Alex Gleason
6ac19c3999
ActivityDraft: create quote posts
2023-09-13 19:19:03 -04:00
Alex Gleason
0d9c443e51
StatusView: render the whole quoted status
2023-09-13 19:19:03 -04:00
Alex Gleason
ce5eb31723
StatusView: show quoted posts through the API, probably
2023-09-13 19:19:03 -04:00
Alex Gleason
cc4badaf60
Transmogrifier: fix quoteUrl here too
2023-09-13 19:19:03 -04:00
Alex Gleason
b022d6635d
Transmogrifier: fetch quoted post
2023-09-13 19:19:03 -04:00
Alex Gleason
795736af16
ObjectValidators: improve quoteUrl compatibility
2023-09-13 19:19:03 -04:00
Alex Gleason
31eb3dc245
ObjectValidators: accept "quoteUrl" field
2023-09-13 19:19:02 -04:00
marcin mikołajczak
28ef5ebd3c
Update InstanceView.features
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-09-07 15:00:24 +02:00
Mint
1afde067b1
CommonAPI: Prevent users from accessing media of other users
2023-09-03 10:41:37 +02:00
tusooa
3d09bc320e
Make lint happy
2023-08-30 20:36:52 -04:00
Haelwenn
1e685c8302
Merge branch 'csp-flash' into 'develop'
...
allow https: so that flash works across instances without need for media proxy
See merge request pleroma/pleroma!3879
2023-08-16 13:37:49 +00:00
Haelwenn
d838d1990b
Apply lanodan's suggestion(s) to 1 file(s)
2023-08-16 13:34:32 +00:00
marcin mikołajczak
79e46ce73f
InstanceView: Add common_information function
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-08-11 13:57:22 +02:00
marcin mikołajczak
9effa24f30
Implement api/v2/instance route
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-08-11 00:08:05 +02:00
mae
48b1e9bdc7
Completely disable xml entity resolution
2023-08-05 14:17:04 +02:00
Mae
ca0859b90f
Prevent XML parser from loading external entities
2023-08-04 22:35:13 -04:00
Haelwenn (lanodan) Monnier
69caedc591
instance gen: Reduce permissions of pleroma directories and config files
2023-08-04 09:50:28 +02:00
Haelwenn (lanodan) Monnier
8cc8100120
Config: Restrict permissions of OTP config file
2023-08-04 09:50:28 +02:00
Mark Felder
2c79509453
Resolve information disclosure vulnerability through emoji pack archive download endpoint
...
The pack name has been sanitized so an attacker cannot upload a media
file called pack.json with their own handcrafted list of emoji files as
arbitrary files on the filesystem and then call the emoji pack archive
download endpoint with a pack name crafted to the location of the media
file they uploaded which tricks Pleroma into generating a zip file of
the target files the attacker wants to download.
The attack only works if the Pleroma instance does not have the
AnonymizeFilename upload filter enabled, which is currently the default.
Reported by: graf@poast.org
2023-08-04 08:40:27 +02:00
Haelwenn
819fccb7d1
Merge branch 'tusooa/3154-attachment-type-check' into 'develop'
...
Restrict attachments to only uploaded files only
Closes #3154
See merge request pleroma/pleroma!3923
2023-08-03 10:01:32 +00:00
Faried Nawaz
e5e76ec445
cleaner ecto query to handle restrict_unauthenticated for activities
...
This fix is for this case:
config :pleroma, :restrict_unauthenticated,
activities: %{local: true, remote: true}
2023-07-28 18:45:59 +05:00
faried nawaz
dc4de79d43
status context: perform visibility check on activities around a status
...
issue #2927
2023-07-28 18:45:59 +05:00
tusooa
ea4225a646
Restrict attachments to only uploaded files only
2023-07-18 18:39:59 -04:00
Haelwenn
93ad16cca0
Merge branch '2023-06-deps-update' into 'develop'
...
2023-06 deps update + de-override plug
See merge request pleroma/pleroma!3911
2023-07-17 20:37:47 +00:00
tusooa
1459d64508
Make regex-to-string descriptor reusable
2023-07-07 07:09:35 -04:00
tusooa
ba3aa4f86d
Fix edge cases
2023-07-07 06:58:32 -04:00
tusooa
ef8a6c539a
Make EmojiPolicy aware of custom emoji reactions
2023-07-07 06:58:31 -04:00
tusooa
20d193c91d
Improve config examples for EmojiPolicy
2023-07-07 06:58:31 -04:00
tusooa
f50422c380
Move emoji_policy.ex to the right place
2023-07-07 06:58:31 -04:00
tusooa
7eb8abf7bb
EmojiPolicy: Implement delist
2023-07-07 06:58:31 -04:00
tusooa
80ce6482f6
EmojiPolicy: implement remove by shortcode
2023-07-07 06:58:31 -04:00
tusooa
28ff828caa
Add emoji policy to remove emojis matching certain urls
...
https://git.pleroma.social/pleroma/pleroma/-/issues/2775
2023-07-07 06:58:22 -04:00
Haelwenn (lanodan) Monnier
3d79ceb23a
Deprecate audio scrobbling
2023-07-04 03:40:11 +02:00
Haelwenn
a31a4c522f
Merge branch 'tusooa/3131-handle-report-from-deactivated-user' into 'develop'
...
Fix handling report from a deactivated user
Closes #3131
See merge request pleroma/pleroma!3915
2023-07-02 21:27:15 +00:00
tusooa
6e4de2383f
Fix handling report from a deactivated user
2023-07-02 11:15:34 -04:00
tusooa
a1621839cc
Fix user fetch completely broken if featured collection is not in a supported form
2023-07-02 11:03:09 -04:00
tusooa
48e490cd58
Merge branch 'bugfix/full-revert-media-host-validation' into 'develop'
...
Merge Revert "Merge branch 'validate-host' into 'develop'"
Closes #3136
See merge request pleroma/pleroma!3909
2023-07-01 21:54:18 +00:00
Haelwenn
043a00991d
Merge branch 'instance-nodeinfo-metadata' into 'develop'
...
instances: Store some metadata based on NodeInfo
See merge request pleroma/pleroma!3853
2023-06-27 18:58:04 +00:00
Haelwenn
ae0ca49451
Merge branch 'tusooa/3119-bio-update' into 'develop'
...
Show more informative errors when profile exceeds char limits
Closes #3119
See merge request pleroma/pleroma!3886
2023-06-27 18:49:43 +00:00
Haelwenn
41f2ee69a8
Merge branch 'from/upstream-develop/tusooa/backup-status' into 'develop'
...
Detail backup states
Closes #3024
See merge request pleroma/pleroma!3809
2023-06-27 12:08:11 +00:00
Haelwenn (lanodan) Monnier
d7e049d5e8
router: Fix usage of globs
...
warning: doing a prefix match with globs is deprecated, invalid segment "pleroma*path".
You can either replace by a single segment match:
/foo/bar-:var
Or by mixing single segment match with globs:
/foo/bar-:var/*rest
2023-06-27 10:42:10 +02:00
Haelwenn (lanodan) Monnier
3a67b8f287
endpoint: Use custom Multipart module for dynamic configuration
2023-06-27 10:41:25 +02:00
Haelwenn (lanodan) Monnier
dd9f8150fc
Merge Revert "Merge branch 'validate-host' into 'develop'"
...
This reverts commit d998a114e2
, reversing
changes made to da6b4003ac
.
2023-06-22 21:28:25 +02:00
Sean King
a5a354a36e
Prevent bypassing authorized fetch mode with a json file
2023-06-21 23:10:56 -06:00
lain
4e6ea7cc91
Merge branch 'tusooa/3054-banned-delete' into 'develop'
...
Fix deleting banned users' statuses
See merge request pleroma/pleroma!3889
2023-06-11 13:17:12 +00:00
Lain Soykaf
6611c6ce4e
B ForceMentionsInContent: Fix test, refactor.
2023-06-11 16:45:31 +04:00
Lain Soykaf
55dd8ef1c7
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into pleroma-double_mentions
2023-06-11 16:31:20 +04:00
lain
16313af7eb
Merge branch 'fix/metadata-tags' into 'develop'
...
static frontend: fix meta tags
See merge request pleroma/pleroma!3885
2023-06-11 11:57:16 +00:00
lain
1f4618d64b
Merge branch 'cleanup/ostatus-user-upgrade' into 'develop'
...
Cleanup OStatus-era user upgrades and ap_enabled indicator
See merge request pleroma/pleroma!3880
2023-06-11 11:13:57 +00:00
feld
75900f21f0
Merge branch 'revert-mediaproxy-host-validation' into 'develop'
...
Revert MediaProxy Host header validation
See merge request pleroma/pleroma!3902
2023-06-11 11:10:51 +00:00
lain
1db29f734f
Merge branch 'fep-fffd-url' into 'develop'
...
CommonFields: Use BareUri for :url
Closes #3121
See merge request pleroma/pleroma!3884
2023-06-11 11:02:39 +00:00
Mark Felder
fadcd7f1a9
Revert MediaProxy Host header validation
...
Something is going wrong here even though the tests are correct.
2023-06-07 09:19:22 -04:00
Mark Felder
63ef1dcedc
Phoenix.Router.routes/1 is the public function we are meant to be using here
2023-06-03 14:17:49 -04:00
Lain Soykaf
cbc5b8cebd
B Preload: Make sure that the preloaded json is html safe
2023-06-02 17:03:21 +04:00
Mark Felder
f0e5f0e837
Fix compile warning
...
warning: doing a prefix match with globs is deprecated, invalid segment "pleroma*path"
2023-05-31 22:23:36 +00:00
Mark Felder
2b8bbb288c
Phoenix.Socket.Transport.force_ssl/4 no longer exists
2023-05-31 22:11:17 +00:00
Mark Felder
62322f71e2
Clean up Plug.Parsers.MULTIPART deprecation warnings
...
There is no need to the length setting to :multipart. The length setting is global for all of the parsers.
2023-05-31 16:22:40 -04:00
Mark Felder
ffee478ed0
Move websocket config for Shoutbox to the Endpoint
...
This is the modern way of configuring it
2023-05-31 15:30:58 -04:00
Mark Felder
e3110cb34e
Fix deprecated calls to get_flash/2
2023-05-31 13:36:21 -04:00
Haelwenn
d998a114e2
Merge branch 'validate-host' into 'develop'
...
Validate Host header for MediaProxy and Uploads
See merge request pleroma/pleroma!3896
2023-05-31 00:50:01 +00:00
Mark Felder
b3c3bd99c3
Switch from serving a 400 to a 302
2023-05-30 16:56:09 -04:00
Mark Felder
9caa0b0be1
Add OnlyMedia Upload Filter to simplify restricting uploads to audio, image, and video types
2023-05-29 15:49:04 -04:00
Mark Felder
da7394f33b
Fix unused assignment
2023-05-29 15:09:31 -04:00
Mark Felder
a60dd0d92d
Validate Host header matches expected value before allowing access to Uploads
2023-05-29 14:16:03 -04:00
Mark Felder
843fcca5b4
Validate Host header matches expected value before allowing access to MediaProxy
2023-05-29 13:59:51 -04:00
faried nawaz
8b390d27dc
twitter card: handle case where image has no alt text
2023-05-29 02:52:49 +05:00
faried nawaz
52368e6702
fix meta tag for twitter cards and image attachments
...
The name of the tag should be twitter:image, not twitter:player.
Also, add twitter:image:alt meta tags.
2023-05-29 02:52:49 +05:00
faried nawaz
b6b7de2010
add url to Metadata.build_tags call
...
If static_fe is enabled, going to https://pleroma/notice/some-id
results in
<meta content="https://pleroma/users/someuser " property="og:url">
With this fix, it is
<meta content="https://pleroma/notice/some-id " property="og:url">
Additionally, Pleroma.Web.Metadata.Providers.OpenGraph now
generates meta tags for attachments in the post.
2023-05-29 02:52:41 +05:00
Haelwenn (lanodan) Monnier
869f0d24a6
Merge branch 'release/2.5.2' into mergeback/2.5.2
2023-05-26 23:47:50 +02:00
Mark Felder
4505bc1e58
Filter OEmbed HTML tags
2023-05-26 19:56:36 +02:00
Mark Felder
0d68804aa7
Filter OEmbed HTML tags
2023-05-26 19:54:24 +02:00
tusooa
d0c2e0830b
Enforce unauth restrictions for public streaming endpoints
2023-05-26 19:24:08 +02:00
Haelwenn
b36263e5ff
Merge branch 'issue/3126' into 'develop'
...
MediaProxyController: Apply CSP sandbox
See merge request pleroma/pleroma!3890
2023-05-26 19:24:08 +02:00
Haelwenn
4339230f64
Merge branch 'tusooa/fix-object-test' into 'develop'
...
Fix ObjectTest
See merge request pleroma/pleroma!3887
2023-05-26 19:24:08 +02:00
Haelwenn
72833c84b5
Merge branch 'tusooa/rework-refetch' into 'develop'
...
Make sure object refetching follows update rules
See merge request pleroma/pleroma!3883
2023-05-26 19:24:08 +02:00
Mark Felder
38bcf6b19e
MediaProxyController: Apply CSP sandbox
2023-05-26 12:34:01 -04:00
Zero
279fd47b48
ForceMentionsInContent: fix double mentions for Mastodon/Misskey posts
...
The code checked for duplicates using "ap_id", but in Mastodon and Misskey the look like that:
Mastodon: https://mastodon.example.com/users/roger
Misskey: https:///misskey.example.com/users/104ab42f11
The fix is to also check for "uri", which is what will be in the "explicitly_mentioned_uris" list:
Mastodon: https://mastodon.example.com/@roger
Misskey: https://misskey.example.com/@roger
2023-05-26 12:30:19 -04:00
tusooa
1fa196d8f7
Fix deleting banned users' statuses
2023-05-25 19:00:38 -04:00
tusooa
2c66f584b5
Show more informative errors when profile exceeds char limits
2023-05-25 08:22:33 -04:00
tusooa
819a82da99
Fix unused variable
2023-05-22 08:19:58 -04:00
tusooa
505e58d4eb
Fix ObjectTest
2023-05-22 08:14:20 -04:00
Haelwenn
0524e66a05
Merge branch 'accept-tags-2.5' into 'develop'
...
TagValidator: Drop unrecognized Tag types
Closes #2952
See merge request pleroma/pleroma!3823
2023-05-17 19:04:51 +00:00
Haelwenn
ce1c0f75cd
Merge branch 'tusooa/3065-scopes' into 'develop'
...
OAuth scopes descriptions
Closes #3065
See merge request pleroma/pleroma!3848
2023-05-17 18:51:26 +00:00
Haelwenn (lanodan) Monnier
a5066bb078
CommonFields: Use BareUri for :url
...
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3121
2023-05-17 17:25:46 +02:00
Haelwenn (lanodan) Monnier
fb3335ffe2
EctoType: Add BareUri
2023-05-17 17:14:38 +02:00
tusooa
e170fc40dd
Fix build warning
2023-05-09 21:38:28 -04:00
tusooa
be5c5118cb
Make sure object refetching follows update rules
2023-05-09 21:04:27 -04:00
Henry Jameson
2a07411b0c
keep the websocket url for all modes
2023-05-07 15:34:17 +03:00
Henry Jameson
f50fd9278f
reduce redundant reduntancy reduction
2023-05-07 15:29:19 +03:00
Henry Jameson
f8ef4924ec
fix whitespace
2023-05-07 15:24:09 +03:00
Henry Jameson
c0d11da2d8
conditionally set csp depnding on media-proxy state
2023-05-07 15:16:30 +03:00
Haelwenn (lanodan) Monnier
fcd49e3985
User: Remove ap_enabled field
2023-05-05 11:11:26 +02:00
Haelwenn (lanodan) Monnier
238edc30de
User: Remove ap_enabled?/1
2023-05-05 11:11:26 +02:00
Haelwenn (lanodan) Monnier
9dfa1c4be0
ActivityPub: Mark fetch_and_prepare_user_from_ap_id/1 as private
2023-05-05 11:11:26 +02:00
Haelwenn (lanodan) Monnier
8181be89a2
Federator: Stop using ap_enabled?/1
2023-05-05 11:11:26 +02:00
Haelwenn (lanodan) Monnier
e17265a7a2
TransmogrifierWorker: Remove obsolete worker
2023-05-05 11:11:26 +02:00
Haelwenn (lanodan) Monnier
2ee483ba41
Transmogrifier: Remove upgrade_user_from_ap_id
2023-05-05 11:11:26 +02:00
Haelwenn (lanodan) Monnier
3962253cf1
Publisher: Stop filtering via ap_enabled?/1
2023-05-05 11:11:26 +02:00
Haelwenn (lanodan) Monnier
606f78f5e5
ActivityPub: Stop relying on ap_enabled and upgrade_user_from_ap_id
2023-05-05 11:11:26 +02:00
Haelwenn (lanodan) Monnier
0903c41645
User: Stop relying on ap_enabled
2023-05-05 11:11:26 +02:00
Haelwenn (lanodan) Monnier
4fd96b24ae
AddRemoveValidator: Use User.fetch_by_ap_id instead of upgrade_user_from_ap_id
2023-05-05 11:11:26 +02:00
tusooa
6d0ebccdb0
Make webui use translated scope descriptions
2023-05-02 16:32:33 -04:00
tusooa
85bdbb102e
Add extraction process for oauth scopes
2023-05-02 16:32:10 -04:00
HJ
675639225a
allow https: so that flash works across instances without need for media proxy
2023-04-28 11:13:42 +00:00
tusooa
248f914e6e
Merge branch 'list-installed-frontends' into 'develop'
...
List installed frontend refs in admin API
See merge request pleroma/pleroma!3862
2023-04-27 02:56:19 +00:00
tusooa
ddf57596be
Merge branch 'bugfix/content-disposition' into 'develop'
...
UploadedMedia: Add missing disposition_type to Content-Disposition
Closes #3114
See merge request pleroma/pleroma!3873
2023-04-26 15:39:20 +00:00
duponin
0231a09310
Remove SSH/BBS feature from core
...
And link to sshocial, the replacement client for this removed feature
2023-04-23 10:47:07 +02:00
Haelwenn (lanodan) Monnier
2148ef5e2f
UploadedMedia: Increase readability via ~s sigil
2023-04-18 00:12:42 +02:00
Haelwenn (lanodan) Monnier
8f0f58e28b
UploadedMedia: Add missing disposition_type to Content-Disposition
...
Set it to `inline` because the vast majority of what's sent is multimedia
content while `attachment` would have the side-effect of triggering a
download dialog.
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3114
2023-04-18 00:09:19 +02:00
Haelwenn
3867b52aef
Merge branch 'tusooa/3027-dedupe-poll' into 'develop'
...
Dedupe poll options
Closes #3027
See merge request pleroma/pleroma!3860
2023-04-13 08:40:04 +00:00
Ekaterina Vaartis
6a63dced4a
Fix tests for frontend installation
2023-03-30 19:25:35 +03:00
Haelwenn
e4288df502
Merge branch 'background-timeout' into 'develop'
...
Set background worker timeout to 15 minutes
See merge request pleroma/pleroma!3857
2023-03-30 12:48:35 +02:00
tusooa
40f14fd31c
Merge branch 'remove-crypt' into 'develop'
...
Remove crypt(3) support
Closes #3030 and #3062
See merge request pleroma/pleroma!3847
2023-03-30 12:47:36 +02:00
Haelwenn
937df7e465
Merge branch 'fix/tag-feed-crashes' into 'develop'
...
fix: atom/rss feed issues
Closes #3045
See merge request pleroma/pleroma!3851
2023-03-30 12:46:35 +02:00
Haelwenn
d640df3927
Merge branch 'fix/static-fe-feed-500' into 'develop'
...
fix: remove static_fe pipeline for /users/:nickname/feed
See merge request pleroma/pleroma!3852
2023-03-30 12:45:39 +02:00
Haelwenn
22b72cd6b8
Merge branch 'tusooa/oban-common-pipeline' into 'develop'
...
Stop oban from retrying if validating errors occur when processing incoming data
See merge request pleroma/pleroma!3844
2023-03-30 12:43:58 +02:00
Ekaterina Vaartis
3037d2780c
Also list frontends that are not in the config file
2023-03-30 11:16:40 +03:00
Ekaterina Vaartis
d3b27d45a9
List installed frontend refs in admin API
2023-03-29 23:23:06 +03:00
tusooa
c5d946bc92
Fix emoji reactions for legacy 2-tuple formats
2023-03-26 15:12:40 -04:00
tusooa
10930f7507
Dedupe poll options
2023-03-25 23:20:07 -04:00
Haelwenn
6d0cc8fa2a
Merge branch 'features/image-object' into 'develop'
...
Add support for Image objects
Closes #1581
See merge request pleroma/pleroma!3145
2023-03-25 06:35:55 +00:00
anemone
f463b7570e
Set background worker timeout to 15 minutes
2023-03-23 23:14:52 -07:00
Haelwenn (lanodan) Monnier
9a2523a09a
instances: Store some metadata based on NodeInfo
2023-03-16 09:02:20 +01:00
Haelwenn
353538d16c
Merge branch 'pleroma-akkoma-emoji-port' into 'develop'
...
Custom emoji reactions support
See merge request pleroma/pleroma!3845
2023-03-16 08:00:00 +00:00
Haelwenn
c3600b6104
Merge branch 'feat/fields-rel-me-tag' into 'develop'
...
feat: build rel me tags with profile fields
See merge request pleroma/pleroma!3850
2023-03-16 07:53:27 +00:00
kPherox
83c7415803
fix: append field values to bio before parsing
2023-03-15 23:55:24 +09:00
tusooa
9145fd04f2
Merge branch 'remove-crypt' into 'develop'
...
Remove crypt(3) support
Closes #3030 and #3062
See merge request pleroma/pleroma!3847
2023-03-12 16:06:00 +00:00
Alexander Tumin
2c2ea16b50
Allow custom emoji reactions: Add pleroma_custom_emoji_reactions feature, review changes
2023-03-12 11:39:17 +03:00
Haelwenn (lanodan) Monnier
ea07ec51ef
Add support for Image objects
2023-03-09 14:21:12 +01:00
Haelwenn
f5c6e44731
Merge branch 'tusooa/block-rel' into 'develop'
...
Allow with_relationships param for blocks
See merge request pleroma/pleroma!3843
2023-03-09 13:13:14 +00:00
Haelwenn (lanodan) Monnier
197647a04e
MastoAPI Attachment: Use "summary" for descriptions if present
2023-03-09 11:10:02 +01:00
Haelwenn (lanodan) Monnier
2ae1b802f2
AttachmentValidator: Add support for Honk "summary" + "name"
...
As used by Honk and supported by Mastodon
2023-03-09 10:26:33 +01:00
Haelwenn
5cc23dc382
Merge branch 'fix/tag-feed-crashes' into 'develop'
...
fix: atom/rss feed issues
Closes #3045
See merge request pleroma/pleroma!3851
2023-03-06 22:55:24 +00:00
faried nawaz
8241eff05b
remove static_fe pipeline for /users/:nickname/feed
2023-03-06 23:34:00 +05:00
faried nawaz
7b42ec5633
oops, remove unused import
2023-03-06 02:44:36 +05:00
faried nawaz
141146d1f1
use scrub_html_and_truncate instead of scrub_html for feed item title
...
Sometimes this truncated properly encoded HTML entities in the
wrong place. The new flow calls scrub_html, removes emojis,
decodes entities (a second time), truncates, and then re-encodes.
Fixes #3045 .
2023-03-06 02:38:02 +05:00
faried nawaz
86ee4b72f3
modify Utils.scrub_html_and_truncate to take omission parameter
2023-03-06 02:30:52 +05:00
faried nawaz
117a53b88e
format feed_view.ex
2023-03-06 01:16:24 +05:00
faried nawaz
d3f22d24f6
feed eex templates: use published field from @data, not @activity.data
2023-03-06 00:23:31 +05:00
faried nawaz
f33e89765a
fix tag feeds: remote activities might not have a summary field
2023-03-06 00:20:57 +05:00
Haelwenn
c00a19f371
Merge branch 'tusooa/oban-common-pipeline' into 'develop'
...
Stop oban from retrying if validating errors occur when processing incoming data
See merge request pleroma/pleroma!3844
2023-03-05 06:37:59 +00:00
Haelwenn (lanodan) Monnier
5716654d12
Remove crypt(3) support
...
This was used to support migration from GNU Social, which was used by at least
shitposter.club, should be entirely irrelevant now.
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3030
Closes: https://git.pleroma.social/pleroma/pleroma/-/issues/3062
2023-03-05 01:37:57 +01:00
Alexander Tumin
8d3b29aaba
Allow custom emoji reactions: add test for mixed emoji react, fix credo errors
2023-03-02 11:18:16 +03:00
Alexander Tumin
4b85d1c617
Allow custom emoji reactions: Fix tests, mixed custom and unicode reactions
2023-03-02 11:18:16 +03:00
floatingghost
787e30c5fd
Allow reacting with remote emoji when they exist on the post ( #200 )
...
Co-authored-by: FloatingGhost <hannah@coffee-and-dreams.uk>
Reviewed-on: https://akkoma.dev/AkkomaGang/akkoma/pulls/200
2023-03-02 11:18:16 +03:00
tusooa
1babd0798f
Stop oban from retrying if validating errors occur when processing incoming data
2023-03-01 21:03:30 -05:00
tusooa
f33401f54b
Merge remote-tracking branch 'upstream/stable' into mergeback/2.5.1
2023-03-01 20:09:50 -05:00
tusooa
e4925f813a
Sanitize filenames when uploading
2023-03-01 18:40:02 -05:00
tusooa
d83f16fe44
Allow with_relationships param for blocks
2023-02-28 22:16:01 -05:00
silverpill
98b9c1bcb1
Merge branch 'develop' into accept-tags-2.5
2023-02-27 23:10:36 +00:00
silverpill
5cfb0578a6
TagValidator: Drop unrecognized tags
2023-02-27 23:09:46 +00:00
tusooa
410d50afe5
Ignores in exiftool read descriptions
2023-02-20 12:30:36 -05:00
Alexander Tumin
c3a0703564
Require related object for notifications to filter on content
2023-02-20 12:27:50 -05:00
tusooa
8e8a0f005c
Fix inproper content being cached in report content
2023-02-20 12:26:16 -05:00
tusooa
1c225bfd6e
Allow customizing instance languages
2023-02-20 12:25:00 -05:00
Mark Felder
1b82fd95d4
Remove unwanted code specific to MIX_ENV=test
2023-02-20 12:24:38 -05:00
Mark Felder
88ce0e8b24
Fix rel="me"
...
Cachex for this was not started
2023-02-20 12:24:32 -05:00
tusooa
3ab3404817
Fix block_from_stranger setting
2023-02-20 12:21:27 -05:00
Lain Soykaf
d5125e6ce7
B StripLocation: Add test, work for all svgs.
2023-02-20 12:21:04 -05:00
Dmytro Poltavchenko
e8fca8882a
Added SVG to formats not compatible with exiftool
2023-02-20 12:21:04 -05:00
marcin mikołajczak
92592c25c2
Merge remote-tracking branch 'pleroma/develop' into status-notification-type
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-02-19 22:02:03 +01:00
kPherox
d5d7648789
feat: build rel me tags with profile fields
2023-02-18 17:57:41 +09:00
tusooa
024bb27fc7
Ignores in exiftool read descriptions
2023-02-11 00:30:52 -05:00
lain
7abb248ceb
Merge branch 'notification-content-filtering-noobj' into 'develop'
...
Require related object for content-filtering on notification
See merge request pleroma/pleroma!3837
2023-02-09 19:54:59 +00:00
lain
00b39dea5d
Merge branch 'tusooa/3059-report-fake-create-render' into 'develop'
...
Fix inproper content being cached in report content
Closes #3059
See merge request pleroma/pleroma!3836
2023-02-09 19:52:01 +00:00
lain
755279e253
Merge branch 'tusooa/api-spec-property-map' into 'develop'
...
OpenApiSpex: overhaul
See merge request pleroma/pleroma!3832
2023-02-09 19:50:59 +00:00
lain
724bf7c647
Merge branch 'tusooa/3055-instance-languages' into 'develop'
...
Allow customizing instance languages
Closes #3055
See merge request pleroma/pleroma!3835
2023-02-09 19:23:29 +00:00
lain
50abb54d15
Merge branch 'fix-relme' into 'develop'
...
Fix rel="me"
See merge request pleroma/pleroma!3824
2023-02-09 19:09:54 +00:00
Alexander Tumin
55a8aa9787
Require related object for notifications to filter on content
2023-02-08 13:07:34 +03:00
tusooa
08132002d2
Fix inproper content being cached in report content
2023-02-03 16:00:39 -05:00
tusooa
bc7ec43179
Allow customizing instance languages
2023-01-26 20:17:13 -05:00
tusooa
7467b24730
Fix block_from_stranger setting
2023-01-18 18:36:52 -05:00
tusooa
97f947deaf
Fix tests
2023-01-15 21:39:05 -05:00
tusooa
5af9ce4a01
Fix type of admin_account.is_confirmed
2023-01-15 18:41:36 -05:00
tusooa
3b4b84b74c
Force spec for every operation to have a listed tag
2023-01-15 18:31:37 -05:00
tusooa
bddcb3ed68
Add names to additionalProperties
2023-01-15 17:28:32 -05:00
Lain Soykaf
fe00fbfd54
B StripLocation: Add test, work for all svgs.
2023-01-05 11:29:06 -05:00
Dmytro Poltavchenko
5b4962165e
Added SVG to formats not compatible with exiftool
2023-01-05 11:26:57 -05:00
lain
e853cfe7c3
Revert "Merge branch 'copyright-bump' into 'develop'"
...
This reverts merge request !3825
2023-01-02 20:38:50 +00:00
marcin mikołajczak
10886eeaa2
Bump copyright year
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2023-01-01 12:13:06 +01:00
Mark Felder
39e4b788ad
Remove unwanted code specific to MIX_ENV=test
2022-12-30 15:36:21 -05:00
Mark Felder
bea43aba33
Fix rel="me"
...
Cachex for this was not started
2022-12-29 19:42:14 +00:00
silverpill
c7dc5ce85c
TagValidator: Allow unrecognized Tag types
2022-12-29 14:21:20 +00:00
marcin mikołajczak
6e51845d44
Merge remote-tracking branch 'pleroma/develop' into secure-mode
...
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-12-27 16:41:16 +01:00
tusooa
179efd9467
Make backup parameters configurable
2022-12-24 00:20:25 -05:00
tusooa
7d3e4eaeb9
Log errors more extensively
2022-12-24 00:04:51 -05:00
tusooa
070fbb89e1
Lint
2022-12-24 00:04:51 -05:00
tusooa
a1b95922c5
Fix compile error
2022-12-24 00:04:50 -05:00
tusooa
46ab97d721
Simplify backup update clause
2022-12-24 00:04:50 -05:00
tusooa
bdd63d2a3a
Expose backup status via Pleroma API
2022-12-24 00:04:50 -05:00
tusooa
e4ac2a7cd6
Detail backup states
2022-12-24 00:04:32 -05:00
Haelwenn (lanodan) Monnier
3fbd42061c
Revert "Delete report notifs when demoting from superuser"
...
This reverts commit 4504c81080
.
2022-12-23 17:06:09 +01:00
Haelwenn (lanodan) Monnier
7d68d64d63
Merge back 2.4.5
2022-12-23 17:05:05 +01:00
Sean King
90681c720d
Make lint happy
2022-12-21 23:40:39 -07:00
Sean King
351b5a9df4
Use crazy hack to finally get pleroma:report notifications not visible after revoking privileges
2022-12-21 23:35:39 -07:00
Ekaterina Vaartis
398141da68
Merge remote-tracking branch 'upstream/develop' into meilisearch
2022-12-20 21:00:07 +03:00
Sean King
d5d4c7c11d
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into fine_grained_moderation_privileges
2022-12-19 18:48:26 -07:00
lain
c6dff687c0
Merge branch 'from/upstream/develop/tusooa/mrf-updates' into 'develop'
...
MRFs with Updates
See merge request pleroma/pleroma!3808
2022-12-20 00:51:41 +00:00
Sean King
1d95012758
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into fine_grained_moderation_privileges
2022-12-19 17:48:11 -07:00
lain
3dfa009ec3
Merge branch 'develop' into 'fix/2980-rss-feed-generation'
...
# Conflicts:
# CHANGELOG.md
2022-12-19 23:43:23 +00:00
Mark Felder
72d4d1b392
Fix TwitterCard meta tags
...
TwitterCard meta tags are supposed to use the attributes "name" and "content".
OpenGraph tags use the attributes "property" and "content".
Twitter itself is smart enough to detect broken meta tags and discover the TwitterCard
using "property" and "content", but other platforms that only implement parsing of TwitterCards
and not OpenGraph may fail to correctly detect the tags as they're under the wrong attributes.
> "Open Graph protocol also specifies the use of property and content attributes for markup while
> Twitter cards use name and content. Twitter’s parser will fall back to using property and content,
> so there is no need to modify existing Open Graph protocol markup if it already exists." [0]
[0] https://developer.twitter.com/en/docs/twitter-for-websites/cards/guides/getting-started
2022-12-19 17:23:12 -05:00
Sean King
c58eb873dd
Fix CommonAPI delete function to use User.privileged? instead of User.superuser?
2022-12-18 22:05:07 -07:00
Sean King
60df2d8a97
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into fine_grained_moderation_privileges
2022-12-18 22:03:48 -07:00
faried nawaz
0f67eab384
remove pub_date() -- use to_rfc2822 instead
...
_tag_activity.xml.eex used activity_content() instead
of activity_description(), and did not escape html properly.
2022-12-19 01:44:46 +05:00
faried nawaz
3f63caee2a
fix: add xmlns:thr for in-reply-to refs
2022-12-19 01:44:46 +05:00