pleroma/lib/pleroma/web
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
..
activity_pub Pleroma.Web.ActivityPub.SideEffects: dialyzer errors 2024-01-27 15:05:12 -05:00
admin_api Pleroma.Web.AdminAPI.ConfigController: dialyzer error 2024-01-27 16:42:30 -05:00
api_spec Pleroma.Web.PleromaAPI.ChatController: Dialyzer error 2024-01-28 15:52:09 -05:00
auth Fix invalid type 2024-01-20 17:33:37 -05:00
channels Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
common_api Pleroma.Web.ActivityPub.Builder: fix dialyzer error 2024-01-22 18:37:13 -05:00
fallback RedirectController: Unify server-generated-meta insertion code 2023-11-14 11:06:36 +01:00
federator Retire the Pleroma.Web.Federator.Publisher module 2023-12-28 14:53:09 -05:00
feed Fix invalid types due to typos 2024-01-20 17:22:40 -05:00
mailer Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
mastodon_api Update API docs for my changes 2024-01-17 17:13:21 +01:00
media_proxy Revert MediaProxy Host header validation 2023-06-07 09:19:22 -04:00
metadata twitter card: handle case where image has no alt text 2023-05-29 02:52:49 +05:00
mongoose_im Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
nodeinfo Remove support for multiple federation publisher modules 2023-12-28 11:55:19 -05:00
o_auth Use config to control loading of custom modules 2024-01-20 18:43:53 -05:00
o_status Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
pleroma_api Pleroma.Web.PleromaAPI.ChatController: Dialyzer error 2024-01-28 15:52:09 -05:00
plugs Fix some more typos 2023-12-28 00:17:04 +01:00
preload/providers Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
push Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
rich_media RichMedia.Parser.TTL.AwsSignedUrl: dialyzer fix 2024-01-26 17:37:32 -05:00
static_fe add url to Metadata.build_tags call 2023-05-29 02:52:41 +05:00
templates Fix deprecated calls to get_flash/2 2023-05-31 13:36:21 -04:00
twitter_api Pleroma.Web.TwitterAPI.UtilController: dialyzer fixes 2024-01-27 15:47:07 -05:00
utils Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
views Use pleroma: instead of pleroma. for ws events 2023-10-15 17:20:25 -04:00
web_finger Phoenix detects the webfinger requests with content-type application/jrd+json as "jrd" now 2023-12-29 23:18:45 -05:00
api_spec.ex Fix some more typos 2023-12-28 00:17:04 +01:00
common_api.ex MastodonAPI.Controller.StatusController: fix dialyzer error 2024-01-22 18:37:29 -05:00
controller_helper.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
embed_controller.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
endpoint.ex Switch to PromEx for prometheus metrics 2023-11-13 15:34:59 -05:00
federator.ex Fix the Federator perform/2 Oban callback 2023-12-28 22:51:47 -05:00
gettext.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
instance_document.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
manifest_controller.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
media_proxy.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
metadata.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
multipart.ex endpoint: Use custom Multipart module for dynamic configuration 2023-06-27 10:41:25 +02:00
o_auth.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
plug.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
preload.ex B Preload: Make sure that the preloaded json is html safe 2023-06-02 17:03:21 +04:00
push.ex Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
rel_me.ex Remove unwanted code specific to MIX_ENV=test 2023-02-20 12:24:38 -05:00
router.ex Phoenix detects the webfinger requests with content-type application/jrd+json as "jrd" now 2023-12-29 23:18:45 -05:00
shout_channel.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
streamer.ex 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
translation_helpers.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
uploader_controller.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
web_finger.ex Remove support for multiple federation publisher modules 2023-12-28 11:55:19 -05:00
xml.ex Completely disable xml entity resolution 2023-08-05 14:17:04 +02:00