From ce7f9f527c55b282a56c86a68c358a6272d01aee Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Tue, 31 Oct 2017 14:40:12 +0100 Subject: [PATCH 1/4] MastoAPI: Always return an url for statuses. External url if available, id if not. --- lib/pleroma/web/mastodon_api/views/status_view.ex | 2 +- test/web/mastodon_api/status_view_test.exs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index 272f83b2a..b3bb50880 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -80,7 +80,7 @@ def render("status.json", %{activity: %{data: %{"object" => object}} = activity} %{ id: activity.id, uri: object["id"], - url: object["external_url"], + url: object["external_url"] || object["id"], account: AccountView.render("account.json", %{user: user}), in_reply_to_id: reply_to && reply_to.id, in_reply_to_account_id: reply_to_user && reply_to_user.id, diff --git a/test/web/mastodon_api/status_view_test.exs b/test/web/mastodon_api/status_view_test.exs index dc5cdfe9a..caa2c9d83 100644 --- a/test/web/mastodon_api/status_view_test.exs +++ b/test/web/mastodon_api/status_view_test.exs @@ -19,7 +19,7 @@ test "a note activity" do expected = %{ id: note.id, uri: note.data["object"]["id"], - url: note.data["object"]["external_id"], + url: note.data["object"]["id"], account: AccountView.render("account.json", %{user: user}), in_reply_to_id: nil, in_reply_to_account_id: nil, From 2f39bb6b432ad993b86146d3e0284dc30653c6b4 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Tue, 31 Oct 2017 14:46:01 +0100 Subject: [PATCH 2/4] Typo. --- test/web/mastodon_api/mastodon_api_controller_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs index 485a0d029..b97ca06e8 100644 --- a/test/web/mastodon_api/mastodon_api_controller_test.exs +++ b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -319,7 +319,7 @@ test "unimplemented mutes, follow_requests, blocks, domain blocks" do end) end - test "account seach", %{conn: conn} do + test "account search", %{conn: conn} do user = insert(:user) user_two = insert(:user, %{nickname: "shp@shitposter.club"}) user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"}) From f6372b245a2d65cf1c225adfe7bf822094cb4e1e Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Tue, 31 Oct 2017 14:46:53 +0100 Subject: [PATCH 3/4] Small readme update. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 12efb681b..78be3d2d5 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,13 @@ Pleroma is an OStatus-compatible social networking server written in Elixir, com For clients it supports both the GNU Social API with Qvitter extensions and the Mastodon client API. -Mobile clients that are known to work: +Mobile clients that are known to work well: * Twidere * Tusky * Pawoo (Android) * Subway Tooter +* Amaroq (iOS) No release has been made yet, but several servers have been online for months already. If you want to run your own server, feel free to contact us at @lain@pleroma.soykaf.com or in our dev chat at https://matrix.heldscal.la/#/room/#pleromafe:matrix.heldscal.la. From 968a546d4ac7d6b50af84aea71b3b37af8f2f669 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Tue, 31 Oct 2017 14:51:41 +0100 Subject: [PATCH 4/4] MastoAPI: Return id as string instead of integer. --- lib/pleroma/web/mastodon_api/views/status_view.ex | 6 +++--- test/web/mastodon_api/status_view_test.exs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index b3bb50880..48703e657 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -21,9 +21,9 @@ def render("status.json", %{activity: %{data: %{"type" => "Announce", "object" = |> Enum.map(fn (user) -> AccountView.render("mention.json", %{user: user}) end) %{ - id: activity.id, + id: to_string(activity.id), uri: object, - url: nil, + url: nil, # TODO: This might be wrong, check with mastodon. account: AccountView.render("account.json", %{user: user}), in_reply_to_id: nil, in_reply_to_account_id: nil, @@ -78,7 +78,7 @@ def render("status.json", %{activity: %{data: %{"object" => object}} = activity} |> Enum.map(fn {name, url} -> %{ shortcode: name, url: url, static_url: url } end) %{ - id: activity.id, + id: to_string(activity.id), uri: object["id"], url: object["external_url"] || object["id"], account: AccountView.render("account.json", %{user: user}), diff --git a/test/web/mastodon_api/status_view_test.exs b/test/web/mastodon_api/status_view_test.exs index caa2c9d83..5aeee98c4 100644 --- a/test/web/mastodon_api/status_view_test.exs +++ b/test/web/mastodon_api/status_view_test.exs @@ -17,7 +17,7 @@ test "a note activity" do |> String.replace(~r/\.\d+Z/, ".000Z") expected = %{ - id: note.id, + id: to_string(note.id), uri: note.data["object"]["id"], url: note.data["object"]["id"], account: AccountView.render("account.json", %{user: user}), @@ -101,7 +101,7 @@ test "a reblog" do represented = StatusView.render("status.json", %{for: user, activity: reblog}) - assert represented[:id] == reblog.id - assert represented[:reblog][:id] == activity.id + assert represented[:id] == to_string(reblog.id) + assert represented[:reblog][:id] == to_string(activity.id) end end