diff --git a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex
index e8a1746d4..1f2e953f7 100644
--- a/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex
+++ b/lib/pleroma/web/pleroma_api/controllers/chat_controller.ex
@@ -149,7 +149,9 @@ def index(%{assigns: %{user: %{id: user_id} = user}} = conn, _params) do
from(c in Chat,
where: c.user_id == ^user_id,
where: c.recipient not in ^blocked_ap_ids,
- order_by: [desc: c.updated_at]
+ order_by: [desc: c.updated_at],
+ inner_join: u in User,
+ on: u.ap_id == c.recipient
)
|> Repo.all()
diff --git a/priv/static/adminfe/index.html b/priv/static/adminfe/index.html
index e47ce1a1d..0500424b6 100644
--- a/priv/static/adminfe/index.html
+++ b/priv/static/adminfe/index.html
@@ -1 +1 @@
-
Admin FE
\ No newline at end of file
+Admin FE
\ No newline at end of file
diff --git a/priv/static/adminfe/static/fonts/element-icons.535877f.woff b/priv/static/adminfe/static/fonts/element-icons.535877f.woff
new file mode 100644
index 000000000..02b9a2539
Binary files /dev/null and b/priv/static/adminfe/static/fonts/element-icons.535877f.woff differ
diff --git a/priv/static/adminfe/static/fonts/element-icons.732389d.ttf b/priv/static/adminfe/static/fonts/element-icons.732389d.ttf
new file mode 100644
index 000000000..91b74de36
Binary files /dev/null and b/priv/static/adminfe/static/fonts/element-icons.732389d.ttf differ
diff --git a/priv/static/adminfe/static/img/401.089007e.gif b/priv/static/adminfe/static/img/401.089007e.gif
new file mode 100644
index 000000000..cd6e0d943
Binary files /dev/null and b/priv/static/adminfe/static/img/401.089007e.gif differ
diff --git a/priv/static/adminfe/static/img/404.a57b6f3.png b/priv/static/adminfe/static/img/404.a57b6f3.png
new file mode 100644
index 000000000..3d8e2305c
Binary files /dev/null and b/priv/static/adminfe/static/img/404.a57b6f3.png differ
diff --git a/priv/static/adminfe/static/js/7zzA.e1ae1c94.js b/priv/static/adminfe/static/js/7zzA.e1ae1c94.js
new file mode 100644
index 000000000..526e228f5
Binary files /dev/null and b/priv/static/adminfe/static/js/7zzA.e1ae1c94.js differ
diff --git a/priv/static/adminfe/static/js/7zzA.e1ae1c94.js.map b/priv/static/adminfe/static/js/7zzA.e1ae1c94.js.map
new file mode 100644
index 000000000..840e8a26b
Binary files /dev/null and b/priv/static/adminfe/static/js/7zzA.e1ae1c94.js.map differ
diff --git a/priv/static/adminfe/static/js/JEtC.f9ba4594.js b/priv/static/adminfe/static/js/JEtC.f9ba4594.js
new file mode 100644
index 000000000..4d7adff7f
Binary files /dev/null and b/priv/static/adminfe/static/js/JEtC.f9ba4594.js differ
diff --git a/priv/static/adminfe/static/js/JEtC.f9ba4594.js.map b/priv/static/adminfe/static/js/JEtC.f9ba4594.js.map
new file mode 100644
index 000000000..633bbc5d6
Binary files /dev/null and b/priv/static/adminfe/static/js/JEtC.f9ba4594.js.map differ
diff --git a/priv/static/adminfe/static/js/app.1df22cde.js b/priv/static/adminfe/static/js/app.1df22cde.js
new file mode 100644
index 000000000..00a5fbcd3
Binary files /dev/null and b/priv/static/adminfe/static/js/app.1df22cde.js differ
diff --git a/priv/static/adminfe/static/js/app.1df22cde.js.map b/priv/static/adminfe/static/js/app.1df22cde.js.map
new file mode 100644
index 000000000..4f6ad8e95
Binary files /dev/null and b/priv/static/adminfe/static/js/app.1df22cde.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-0171.9e927b8a.js b/priv/static/adminfe/static/js/chunk-0171.9e927b8a.js
new file mode 100644
index 000000000..f20f619ad
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-0171.9e927b8a.js differ
diff --git a/priv/static/adminfe/static/js/chunk-0171.9e927b8a.js.map b/priv/static/adminfe/static/js/chunk-0171.9e927b8a.js.map
new file mode 100644
index 000000000..4f2d63f3e
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-0171.9e927b8a.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-16d0.6ce78978.js b/priv/static/adminfe/static/js/chunk-16d0.6ce78978.js
new file mode 100644
index 000000000..497bbcb88
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-16d0.6ce78978.js differ
diff --git a/priv/static/adminfe/static/js/chunk-16d0.6ce78978.js.map b/priv/static/adminfe/static/js/chunk-16d0.6ce78978.js.map
new file mode 100644
index 000000000..17c3378e3
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-16d0.6ce78978.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-176e.5c19378d.js b/priv/static/adminfe/static/js/chunk-176e.5c19378d.js
new file mode 100644
index 000000000..65269ccf1
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-176e.5c19378d.js differ
diff --git a/priv/static/adminfe/static/js/chunk-176e.5c19378d.js.map b/priv/static/adminfe/static/js/chunk-176e.5c19378d.js.map
new file mode 100644
index 000000000..fa116fb3b
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-176e.5c19378d.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-2d97.079e9e64.js b/priv/static/adminfe/static/js/chunk-2d97.079e9e64.js
new file mode 100644
index 000000000..90399920a
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-2d97.079e9e64.js differ
diff --git a/priv/static/adminfe/static/js/chunk-2d97.079e9e64.js.map b/priv/static/adminfe/static/js/chunk-2d97.079e9e64.js.map
new file mode 100644
index 000000000..5e3e417cd
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-2d97.079e9e64.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-40a4.5dc0e299.js b/priv/static/adminfe/static/js/chunk-40a4.5dc0e299.js
new file mode 100644
index 000000000..ee0e267db
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-40a4.5dc0e299.js differ
diff --git a/priv/static/adminfe/static/js/chunk-40a4.5dc0e299.js.map b/priv/static/adminfe/static/js/chunk-40a4.5dc0e299.js.map
new file mode 100644
index 000000000..61c30c39b
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-40a4.5dc0e299.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-5118.7c48ad58.js b/priv/static/adminfe/static/js/chunk-5118.7c48ad58.js
new file mode 100644
index 000000000..2357e225d
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-5118.7c48ad58.js differ
diff --git a/priv/static/adminfe/static/js/chunk-5118.7c48ad58.js.map b/priv/static/adminfe/static/js/chunk-5118.7c48ad58.js.map
new file mode 100644
index 000000000..c29b4b170
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-5118.7c48ad58.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-565e.e1555105.js b/priv/static/adminfe/static/js/chunk-565e.e1555105.js
new file mode 100644
index 000000000..638c78b38
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-565e.e1555105.js differ
diff --git a/priv/static/adminfe/static/js/chunk-565e.e1555105.js.map b/priv/static/adminfe/static/js/chunk-565e.e1555105.js.map
new file mode 100644
index 000000000..1cfc4cdfa
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-565e.e1555105.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-60a9.22fe45f3.js b/priv/static/adminfe/static/js/chunk-60a9.22fe45f3.js
new file mode 100644
index 000000000..a23d46b72
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-60a9.22fe45f3.js differ
diff --git a/priv/static/adminfe/static/js/chunk-60a9.22fe45f3.js.map b/priv/static/adminfe/static/js/chunk-60a9.22fe45f3.js.map
new file mode 100644
index 000000000..690979713
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-60a9.22fe45f3.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-654e.38dd4b85.js b/priv/static/adminfe/static/js/chunk-654e.38dd4b85.js
new file mode 100644
index 000000000..eecdac498
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-654e.38dd4b85.js differ
diff --git a/priv/static/adminfe/static/js/chunk-654e.38dd4b85.js.map b/priv/static/adminfe/static/js/chunk-654e.38dd4b85.js.map
new file mode 100644
index 000000000..4fc105fb7
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-654e.38dd4b85.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-68ea.0dae7e55.js b/priv/static/adminfe/static/js/chunk-68ea.0dae7e55.js
new file mode 100644
index 000000000..dc31a8bb0
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-68ea.0dae7e55.js differ
diff --git a/priv/static/adminfe/static/js/chunk-68ea.0dae7e55.js.map b/priv/static/adminfe/static/js/chunk-68ea.0dae7e55.js.map
new file mode 100644
index 000000000..6c87803a8
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-68ea.0dae7e55.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-6e81.6043af74.js b/priv/static/adminfe/static/js/chunk-6e81.6043af74.js
new file mode 100644
index 000000000..82b08ad24
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-6e81.6043af74.js differ
diff --git a/priv/static/adminfe/static/js/chunk-6e81.6043af74.js.map b/priv/static/adminfe/static/js/chunk-6e81.6043af74.js.map
new file mode 100644
index 000000000..2c1c86e2c
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-6e81.6043af74.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-6e8c.2aa335e0.js b/priv/static/adminfe/static/js/chunk-6e8c.2aa335e0.js
new file mode 100644
index 000000000..020158f81
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-6e8c.2aa335e0.js differ
diff --git a/priv/static/adminfe/static/js/chunk-6e8c.2aa335e0.js.map b/priv/static/adminfe/static/js/chunk-6e8c.2aa335e0.js.map
new file mode 100644
index 000000000..1e742c3f9
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-6e8c.2aa335e0.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-7503.278e0031.js b/priv/static/adminfe/static/js/chunk-7503.278e0031.js
new file mode 100644
index 000000000..3875f9ad9
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-7503.278e0031.js differ
diff --git a/priv/static/adminfe/static/js/chunk-7503.278e0031.js.map b/priv/static/adminfe/static/js/chunk-7503.278e0031.js.map
new file mode 100644
index 000000000..494d1a763
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-7503.278e0031.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-7c6b.1ebeb0e4.js b/priv/static/adminfe/static/js/chunk-7c6b.1ebeb0e4.js
new file mode 100644
index 000000000..63be4d84f
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-7c6b.1ebeb0e4.js differ
diff --git a/priv/static/adminfe/static/js/chunk-7c6b.1ebeb0e4.js.map b/priv/static/adminfe/static/js/chunk-7c6b.1ebeb0e4.js.map
new file mode 100644
index 000000000..85d8dcb1c
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-7c6b.1ebeb0e4.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-97e2.c51fe6b0.js b/priv/static/adminfe/static/js/chunk-97e2.c51fe6b0.js
new file mode 100644
index 000000000..a9cef7b6b
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-97e2.c51fe6b0.js differ
diff --git a/priv/static/adminfe/static/js/chunk-97e2.c51fe6b0.js.map b/priv/static/adminfe/static/js/chunk-97e2.c51fe6b0.js.map
new file mode 100644
index 000000000..1d489f4c2
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-97e2.c51fe6b0.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-9a72.41e843cd.js b/priv/static/adminfe/static/js/chunk-9a72.41e843cd.js
new file mode 100644
index 000000000..575a01d30
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-9a72.41e843cd.js differ
diff --git a/priv/static/adminfe/static/js/chunk-9a72.41e843cd.js.map b/priv/static/adminfe/static/js/chunk-9a72.41e843cd.js.map
new file mode 100644
index 000000000..aede70d0a
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-9a72.41e843cd.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-commons.51fe2926.js b/priv/static/adminfe/static/js/chunk-commons.51fe2926.js
new file mode 100644
index 000000000..3fe10f0d3
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-commons.51fe2926.js differ
diff --git a/priv/static/adminfe/static/js/chunk-commons.51fe2926.js.map b/priv/static/adminfe/static/js/chunk-commons.51fe2926.js.map
new file mode 100644
index 000000000..7d55c69d6
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-commons.51fe2926.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-df62.6c5105a6.js b/priv/static/adminfe/static/js/chunk-df62.6c5105a6.js
new file mode 100644
index 000000000..c6c4b82ee
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-df62.6c5105a6.js differ
diff --git a/priv/static/adminfe/static/js/chunk-df62.6c5105a6.js.map b/priv/static/adminfe/static/js/chunk-df62.6c5105a6.js.map
new file mode 100644
index 000000000..a2380c4cd
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-df62.6c5105a6.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-elementUI.8e5c404c.js b/priv/static/adminfe/static/js/chunk-elementUI.8e5c404c.js
new file mode 100644
index 000000000..e8424c9ed
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-elementUI.8e5c404c.js differ
diff --git a/priv/static/adminfe/static/js/chunk-elementUI.8e5c404c.js.map b/priv/static/adminfe/static/js/chunk-elementUI.8e5c404c.js.map
new file mode 100644
index 000000000..a3c9be946
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-elementUI.8e5c404c.js.map differ
diff --git a/priv/static/adminfe/static/js/chunk-libs.f842b12e.js b/priv/static/adminfe/static/js/chunk-libs.f842b12e.js
new file mode 100644
index 000000000..2e8e0aba5
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-libs.f842b12e.js differ
diff --git a/priv/static/adminfe/static/js/chunk-libs.f842b12e.js.map b/priv/static/adminfe/static/js/chunk-libs.f842b12e.js.map
new file mode 100644
index 000000000..de17844c9
Binary files /dev/null and b/priv/static/adminfe/static/js/chunk-libs.f842b12e.js.map differ
diff --git a/priv/static/adminfe/static/js/oAJy.840fb1c2.js b/priv/static/adminfe/static/js/oAJy.840fb1c2.js
new file mode 100644
index 000000000..9973db60a
Binary files /dev/null and b/priv/static/adminfe/static/js/oAJy.840fb1c2.js differ
diff --git a/priv/static/adminfe/static/js/oAJy.840fb1c2.js.map b/priv/static/adminfe/static/js/oAJy.840fb1c2.js.map
new file mode 100644
index 000000000..48420eecd
Binary files /dev/null and b/priv/static/adminfe/static/js/oAJy.840fb1c2.js.map differ
diff --git a/priv/static/adminfe/static/js/runtime.04c4fa2f.js b/priv/static/adminfe/static/js/runtime.04c4fa2f.js
new file mode 100644
index 000000000..c08585729
Binary files /dev/null and b/priv/static/adminfe/static/js/runtime.04c4fa2f.js differ
diff --git a/priv/static/adminfe/static/js/runtime.04c4fa2f.js.map b/priv/static/adminfe/static/js/runtime.04c4fa2f.js.map
new file mode 100644
index 000000000..bf0af11e1
Binary files /dev/null and b/priv/static/adminfe/static/js/runtime.04c4fa2f.js.map differ
diff --git a/test/web/pleroma_api/controllers/chat_controller_test.exs b/test/web/pleroma_api/controllers/chat_controller_test.exs
index d71e80d03..7be5fe09c 100644
--- a/test/web/pleroma_api/controllers/chat_controller_test.exs
+++ b/test/web/pleroma_api/controllers/chat_controller_test.exs
@@ -267,6 +267,21 @@ test "it returns a chat", %{conn: conn, user: user} do
describe "GET /api/v1/pleroma/chats" do
setup do: oauth_access(["read:chats"])
+ test "it does not return chats with deleted users", %{conn: conn, user: user} do
+ recipient = insert(:user)
+ {:ok, _} = Chat.get_or_create(user.id, recipient.ap_id)
+
+ Pleroma.Repo.delete(recipient)
+ User.invalidate_cache(recipient)
+
+ result =
+ conn
+ |> get("/api/v1/pleroma/chats")
+ |> json_response_and_validate_schema(200)
+
+ assert length(result) == 0
+ end
+
test "it does not return chats with users you blocked", %{conn: conn, user: user} do
recipient = insert(:user)