logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: f0cde24f71f292b417dfcac663e1f4e6082c833a
parent: 2f291576e4eef95e6867348e24bc526058518095
Author: lambda <pleromagit@rogerbraun.net>
Date:   Thu,  8 Feb 2018 18:18:28 +0000

Merge branch 'fix/config-disable-chat' into 'develop'

Add config option for enabling/disabling chat.

See merge request pleroma/pleroma!58

Diffstat:

Mconfig/config.exs3+++
Mlib/pleroma/application.ex6+++++-
Mlib/pleroma/web/channels/user_socket.ex4+++-
Mlib/pleroma/web/endpoint.ex4+++-
4 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/config/config.exs b/config/config.exs @@ -56,6 +56,9 @@ config :pleroma, :media_proxy, redirect_on_failure: true #base_url: "https://cache.pleroma.social" +config :pleroma, :chat, + enabled: true + # Import environment specific config. This must remain at the bottom # of this file so it overrides the configuration defined above. import_config "#{Mix.env}.exs" diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex @@ -20,14 +20,18 @@ defmodule Pleroma.Application do limit: 2500 ]]), worker(Pleroma.Web.Federator, []), - worker(Pleroma.Web.ChatChannel.ChatChannelState, []), worker(Pleroma.Stats, []), ] ++ if Mix.env == :test, do: [], else: [worker(Pleroma.Web.Streamer, [])] + ++ if !chat_enabled(), do: [], else: [worker(Pleroma.Web.ChatChannel.ChatChannelState, [])] # See http://elixir-lang.org/docs/stable/elixir/Supervisor.html # for other strategies and supported options opts = [strategy: :one_for_one, name: Pleroma.Supervisor] Supervisor.start_link(children, opts) end + + defp chat_enabled do + Application.get_env(:pleroma, :chat, []) |> Keyword.get(:enabled) + end end diff --git a/lib/pleroma/web/channels/user_socket.ex b/lib/pleroma/web/channels/user_socket.ex @@ -5,7 +5,9 @@ defmodule Pleroma.Web.UserSocket do ## Channels # channel "room:*", Pleroma.Web.RoomChannel - channel "chat:*", Pleroma.Web.ChatChannel + if Application.get_env(:pleroma, :chat) |> Keyword.get(:enabled) do + channel "chat:*", Pleroma.Web.ChatChannel + end ## Transports transport :websocket, Phoenix.Transports.WebSocket diff --git a/lib/pleroma/web/endpoint.ex b/lib/pleroma/web/endpoint.ex @@ -1,7 +1,9 @@ defmodule Pleroma.Web.Endpoint do use Phoenix.Endpoint, otp_app: :pleroma - socket "/socket", Pleroma.Web.UserSocket + if Application.get_env(:pleroma, :chat) |> Keyword.get(:enabled) do + socket "/socket", Pleroma.Web.UserSocket + end socket "/api/v1", Pleroma.Web.MastodonAPI.MastodonSocket # Serve at "/" the static files from "priv/static" directory.