spc-pleroma/lib/pleroma
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 Pleroma.Activity.Queries: fix dialyzer error 2024-01-20 16:01:32 -05:00
captcha Fix some more typos 2023-12-28 00:17:04 +01:00
chat Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
config Fix some more typos 2023-12-28 00:17:04 +01:00
conversation Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
docs Fix invalid type 2024-01-20 17:05:55 -05:00
ecto_type Dialyzer: fix pattern match coverage 2024-01-20 17:56:32 -05:00
emails Revert "EmailTest: use config mock" 2023-12-12 19:35:19 +04:00
emoji Use config to control inclusion of test emoji 2024-01-22 18:37:13 -05:00
gopher Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
gun Pleroma.Gun.ConnectionPool.Reclaimer: dialyzer error 2024-01-27 14:25:16 -05:00
helpers Pleroma.Helpers.QtFastStart: Dialzyer error 2024-01-26 21:03:41 -05:00
http Pleroma.HTTP.AdapterHelper: fix dialyzer errors 2024-01-22 18:37:13 -05:00
instances Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
mfa Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
migration_helper Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
migrators Pleroma.Migrators.Support.BaseMigrator: Fix dialyzer errors 2024-01-22 18:37:13 -05:00
object Handle 401s as I have observed it in the wild 2023-12-28 23:09:33 -05:00
password Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
reverse_proxy Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
search Pleroma.Search.SearchBackend: dialyzer error 2024-01-26 21:03:41 -05:00
telemetry Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
tesla/middleware Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
tests Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
upload Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
uploaders Use config to control Uploader callback timeout 2024-01-22 18:37:13 -05:00
user Pleroma.User.Query: fix dialyzer error 2024-01-22 18:37:13 -05:00
web Pleroma.Web.PleromaAPI.ChatController: Dialyzer error 2024-01-28 15:52:09 -05:00
workers Merge branch 'handle_object_fetch_failures' into 'develop' 2024-01-19 18:43:00 +00:00
activity.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
announcement.ex Announcement: fix dialyzer errors and add typespec for the changeset 2024-01-22 18:37:13 -05:00
announcement_read_relationship.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
application.ex Credo 2024-01-20 19:39:13 -05:00
application_requirements.ex Pleroma.ApplicationRequirements: fix dialyzer errors 2024-01-20 16:10:11 -05:00
bookmark.ex Fix invalid typespec references to Ecto.Changeset.t() 2024-01-20 16:47:50 -05:00
caching.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
captcha.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
chat.ex FlakeId.Ecto.CompatType.t() does not exist 2024-01-20 16:36:01 -05:00
clippy.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
config.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
config_db.ex Fix invalid typespec references to Ecto.Changeset.t() 2024-01-20 16:47:50 -05:00
constants.ex Allow local user to have group actor type 2023-12-27 12:27:37 -05:00
conversation.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
counter_cache.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
data_migration.ex Pleroma.Migrators.Support.BaseMigratorState: fix dialyzer error 2024-01-22 18:37:13 -05:00
delivery.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
ecto_enums.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
emoji-test.txt emoji-test: update to latest 15.0 draft 2022-08-20 00:21:07 +02:00
emoji.ex Pleroma.Emoji: dialyzer error 2024-01-27 14:00:17 -05:00
filter.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
following_relationship.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
formatter.ex Fix mentioning punycode domains when using Markdown 2023-10-16 21:35:25 -04:00
frontend.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
gun.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
hashtag.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
healthcheck.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
html.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
http.ex Fix following redirects with Finch 2023-12-29 00:50:50 -05:00
instances.ex These functions in Pleroma.Instances should be defdelegates to Pleroma.Instances.Instance 2023-12-27 12:44:16 -05:00
job_queue_monitor.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
jwt.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
keys.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
list.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
logging.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
maintenance.ex Elixir 1.15: Chase the Logger.warn deprecation 2023-12-20 20:16:26 +00:00
maps.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
marker.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
mfa.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
moderation_log.ex Formatting 2024-01-27 10:09:20 -05:00
notification.ex Require related object for notifications to filter on content 2023-02-20 12:27:50 -05:00
object.ex Pleroma.Object: dialyzer error 2024-01-27 13:58:50 -05:00
object_tombstone.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
otp_version.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
pagination.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
password_reset_token.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
prom_ex.ex Switch to PromEx for prometheus metrics 2023-11-13 15:34:59 -05:00
registration.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
release_tasks.ex Dialyzer: fix pattern match coverage 2024-01-20 17:58:47 -05:00
repo.ex Switch to PromEx for prometheus metrics 2023-11-13 15:34:59 -05:00
report_note.ex Fix invalid typespec references to Ecto.Changeset.t() 2024-01-20 16:47:50 -05:00
reverse_proxy.ex Pleroma.Web.Plugs.UploadedMedia: dialyzer error 2024-01-28 14:22:35 -05:00
scheduled_activity.ex ScheduledActivity: Use config mocking 2023-12-12 12:48:55 +04:00
search.ex Don't try removing deleted users and such from index as posts 2022-10-10 20:19:09 +03:00
signature.ex Pleroma.Signature: dialyzer error 2024-01-26 21:03:41 -05:00
stats.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
thread_mute.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
upload.ex Pleroma.Web.PleromaAPI.MascotController: dialyzer errors 2024-01-28 15:52:09 -05:00
user.ex Use config to control loading of custom modules 2024-01-20 18:43:53 -05:00
user_invite_token.ex Fix invalid typespec references to Ecto.Changeset.t() 2024-01-20 16:47:50 -05:00
user_note.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
user_relationship.ex Pleroma.User: fix dialyzer errors 2024-01-22 18:37:13 -05:00
utils.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00
web.ex Fix deprecated calls to get_flash/2 2023-05-31 13:36:21 -04:00
xml_builder.ex Revert "Merge branch 'copyright-bump' into 'develop'" 2023-01-02 20:38:50 +00:00