Merge branch 'update-pleroma-frontend' into 'develop'
[akkoma] / lib / pleroma / web / twitter_api / controllers / util_controller.ex
index 7a0c37ce97f1c8a9eeb04cded61518e7042aeaec..d1ecebf619c6f3d0fed094bf23f7a89301b96b55 100644 (file)
@@ -99,6 +99,10 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
       conn
       |> render("followed.html", %{error: false})
     else
+      # Was already following user
+      {:error, "Could not follow user:" <> _rest} ->
+        render(conn, "followed.html", %{error: false})
+
       _e ->
         conn
         |> render("follow_login.html", %{
@@ -117,6 +121,11 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
       conn
       |> render("followed.html", %{error: false})
     else
+      # Was already following user
+      {:error, "Could not follow user:" <> _rest} ->
+        conn
+        |> render("followed.html", %{error: false})
+
       e ->
         Logger.debug("Remote follow failed with error #{inspect(e)}")
 
@@ -126,6 +135,8 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   end
 
   @instance Application.get_env(:pleroma, :instance)
+  @instance_fe Application.get_env(:pleroma, :fe)
+  @instance_chat Application.get_env(:pleroma, :chat)
   def config(conn, _params) do
     case get_format(conn) do
       "xml" ->
@@ -148,9 +159,23 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
         json(conn, %{
           site: %{
             name: Keyword.get(@instance, :name),
+            description: Keyword.get(@instance, :description),
             server: Web.base_url(),
             textlimit: to_string(Keyword.get(@instance, :limit)),
-            closed: if(Keyword.get(@instance, :registrations_open), do: "0", else: "1")
+            closed: if(Keyword.get(@instance, :registrations_open), do: "0", else: "1"),
+            private: if(Keyword.get(@instance, :public, true), do: "0", else: "1"),
+            pleromafe: %{
+              theme: Keyword.get(@instance_fe, :theme),
+              background: Keyword.get(@instance_fe, :background),
+              logo: Keyword.get(@instance_fe, :logo),
+              redirectRootNoLogin: Keyword.get(@instance_fe, :redirect_root_no_login),
+              redirectRootLogin: Keyword.get(@instance_fe, :redirect_root_login),
+              chatDisabled: !Keyword.get(@instance_chat, :enabled),
+              showInstanceSpecificPanel: Keyword.get(@instance_fe, :show_instance_panel),
+              scopeOptionsEnabled: Keyword.get(@instance_fe, :scope_options_enabled),
+              collapseMessageWithSubject:
+                Keyword.get(@instance_fe, :collapse_message_with_subject)
+            }
           }
         })
     end