Move shout configuration from :instance, update docs and changelog
authorMark Felder <feld@FreeBSD.org>
Tue, 4 Aug 2020 15:42:52 +0000 (10:42 -0500)
committerMark Felder <feld@feld.me>
Tue, 1 Jun 2021 16:49:46 +0000 (11:49 -0500)
CHANGELOG.md
config/config.exs
docs/configuration/cheatsheet.md
lib/pleroma/web/mastodon_api/views/instance_view.ex
lib/pleroma/web/shout_channel.ex
test/pleroma/web/shout_channel_test.ex

index 1c08710a3a95a7e558314f8ab5036e38a7eededa..6e27c456130fe9f65ca2e6b977f876a012708245 100644 (file)
@@ -8,7 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 
 ### Changed
 
-- **Breaking:** Configuration: `:chat, enabled` moved to `:shout, enabled` and `:instance, chat_limit` moved to `:instance, shout_limit`
+- **Breaking:** Configuration: `:chat, enabled` moved to `:shout, enabled` and `:instance, chat_limit` moved to `:shout, limit`
 - The `application` metadata returned with statuses is no longer hardcoded. Apps that want to display these details will now have valid data for new posts after this change.
 - HTTPSecurityPlug now sends a response header to opt out of Google's FLoC (Federated Learning of Cohorts) targeted advertising.
 - Email address is now returned if requesting user is the owner of the user account so it can be exposed in client and FE user settings UIs.
index e2bf0cfc1834887d5b930a1a46d2b36ef15d16a5..2f8a18788cfc0329a01b49951bb304380a9982bb 100644 (file)
@@ -190,7 +190,6 @@ config :pleroma, :instance,
   instance_thumbnail: "/instance/thumbnail.jpeg",
   limit: 5_000,
   description_limit: 5_000,
-  shout_limit: 5_000,
   remote_limit: 100_000,
   upload_limit: 16_000_000,
   avatar_upload_limit: 2_000_000,
@@ -457,7 +456,9 @@ config :pleroma, :media_preview_proxy,
   image_quality: 85,
   min_content_length: 100 * 1024
 
-config :pleroma, :shout, enabled: true
+config :pleroma, :shout,
+  enabled: true,
+  limit: 5_000
 
 config :phoenix, :format_encoders, json: Jason
 
index 0694217225f040bd0c0809ce376fc1b58661e250..4e20309a1f2f47719b800c509ade88123642045a 100644 (file)
@@ -8,9 +8,10 @@ For from source installations Pleroma configuration works by first importing the
 
 To add configuration to your config file, you can copy it from the base config. The latest version of it can be viewed [here](https://git.pleroma.social/pleroma/pleroma/blob/develop/config/config.exs). You can also use this file if you don't know how an option is supposed to be formatted.
 
-## :chat
+## :shout
 
-* `enabled` - Enables the backend chat. Defaults to `true`.
+* `enabled` - Enables the backend Shoutbox chat feature. Defaults to `true`.
+* `limit` - Shout character limit. Defaults to `5_000`
 
 ## :instance
 * `name`: The instance’s name.
@@ -19,7 +20,6 @@ To add configuration to your config file, you can copy it from the base config.
 * `description`: The instance’s description, can be seen in nodeinfo and ``/api/v1/instance``.
 * `limit`: Posts character limit (CW/Subject included in the counter).
 * `description_limit`: The character limit for image descriptions.
-* `chat_limit`: Character limit of the instance chat messages.
 * `remote_limit`: Hard character limit beyond which remote posts will be dropped.
 * `upload_limit`: File size limit of uploads (except for avatar, background, banner).
 * `avatar_upload_limit`: File size limit of user’s profile avatars.
index 75964f176259367cbb6d754194b180f6ad6c0c73..fcb4e2466063e564ccf5c26fea083664efedd28b 100644 (file)
@@ -37,7 +37,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
       background_upload_limit: Keyword.get(instance, :background_upload_limit),
       banner_upload_limit: Keyword.get(instance, :banner_upload_limit),
       background_image: Pleroma.Web.Endpoint.url() <> Keyword.get(instance, :background_image),
-      shout_limit: Keyword.get(instance, :shout_limit),
+      shout_limit: Config.get([:shout, :limit]),
       description_limit: Keyword.get(instance, :description_limit),
       pleroma: %{
         metadata: %{
index 1d97858d6406aada31c2fb64d6381b82fef47013..dc342fdfb191b01b60501d5ae9fc7e58a99d15fd 100644 (file)
@@ -22,7 +22,7 @@ defmodule Pleroma.Web.ShoutChannel do
   def handle_in("new_msg", %{"text" => text}, %{assigns: %{user_name: user_name}} = socket) do
     text = String.trim(text)
 
-    if String.length(text) in 1..Pleroma.Config.get([:instance, :shout_limit]) do
+    if String.length(text) in 1..Pleroma.Config.get([:shout, :limit]) do
       author = User.get_cached_by_nickname(user_name)
       author_json = AccountView.render("show.json", user: author, skip_visibility_check: true)
 
index ba6730cebd4b9ecf3029b36415ea97c339c9821e..b4d661689b4d565f51ecdd97078c2d69ed40d78a 100644 (file)
@@ -25,7 +25,7 @@ defmodule Pleroma.Web.ShoutChannelTest do
   end
 
   describe "message lengths" do
-    setup do: clear_config([:instance, :shout_limit])
+    setup do: clear_config([:shout, :limit])
 
     test "it ignores messages of length zero", %{socket: socket} do
       push(socket, "new_msg", %{"text" => ""})
@@ -33,7 +33,7 @@ defmodule Pleroma.Web.ShoutChannelTest do
     end
 
     test "it ignores messages above a certain length", %{socket: socket} do
-      Pleroma.Config.put([:instance, :shout_limit], 2)
+      Pleroma.Config.put([:shout, :limit], 2)
       push(socket, "new_msg", %{"text" => "123"})
       refute_broadcast("new_msg", %{text: "123"})
     end