Merge branch 'fix/better-descriptions-for-email-fields' into 'develop'
[akkoma] / config / description.exs
index 3abcc62669370eceb42d3a519c0b5d12d7390776..6c931c152e137dedfdb051bbce760a36ade18d75 100644 (file)
@@ -23,7 +23,7 @@ config :pleroma, :config_description, [
         key: :uploader,
         type: :module,
         description: "Module which will be used for uploads",
-        suggestions: [Pleroma.Uploaders.Local, Pleroma.Uploaders.MDII, Pleroma.Uploaders.S3]
+        suggestions: [Pleroma.Uploaders.Local, Pleroma.Uploaders.S3]
       },
       %{
         key: :filters,
@@ -101,8 +101,8 @@ config :pleroma, :config_description, [
                       %{
                         key: :versions,
                         type: {:list, :atom},
-                        descriptions: "List of TLS version to use",
-                        suggestions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"]
+                        description: "List of TLS version to use",
+                        suggestions: [:tlsv1, ":tlsv1.1", ":tlsv1.2"]
                       }
                     ]
                   }
@@ -238,7 +238,8 @@ config :pleroma, :config_description, [
           Swoosh.Adapters.AmazonSES,
           Swoosh.Adapters.Dyn,
           Swoosh.Adapters.SocketLabs,
-          Swoosh.Adapters.Gmail
+          Swoosh.Adapters.Gmail,
+          Swoosh.Adapters.Local
         ]
       },
       %{
@@ -449,6 +450,26 @@ config :pleroma, :config_description, [
       }
     ]
   },
+  %{
+    group: :swoosh,
+    type: :group,
+    description: "`Swoosh.Adapters.Local` adapter specific settings",
+    children: [
+      %{
+        group: {:subgroup, Swoosh.Adapters.Local},
+        key: :serve_mailbox,
+        type: :boolean,
+        description: "Run the preview server together as part of your app"
+      },
+      %{
+        group: {:subgroup, Swoosh.Adapters.Local},
+        key: :preview_port,
+        type: :integer,
+        description: "The preview server port",
+        suggestions: [4001]
+      }
+    ]
+  },
   %{
     group: :pleroma,
     key: :uri_schemes,
@@ -494,6 +515,7 @@ config :pleroma, :config_description, [
       },
       %{
         key: :email,
+        label: "Admin Email Address",
         type: :string,
         description: "Email used to reach an Administrator/Moderator of the instance",
         suggestions: [
@@ -502,8 +524,9 @@ config :pleroma, :config_description, [
       },
       %{
         key: :notify_email,
+        label: "Sender Email Address",
         type: :string,
-        description: "Email used for notifications",
+        description: "Envelope FROM address for mail sent via Pleroma",
         suggestions: [
           "notify@example.com"
         ]
@@ -524,6 +547,14 @@ config :pleroma, :config_description, [
           5_000
         ]
       },
+      %{
+        key: :chat_limit,
+        type: :integer,
+        description: "Character limit of the instance chat messages",
+        suggestions: [
+          5_000
+        ]
+      },
       %{
         key: :remote_limit,
         type: :integer,
@@ -625,6 +656,7 @@ config :pleroma, :config_description, [
       },
       %{
         key: :federation_incoming_replies_max_depth,
+        label: "Fed. incoming replies max depth",
         type: :integer,
         description:
           "Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while" <>
@@ -635,6 +667,7 @@ config :pleroma, :config_description, [
       },
       %{
         key: :federation_reachability_timeout_days,
+        label: "Fed. reachability timeout days",
         type: :integer,
         description:
           "Timeout (in days) of each external federation target being unreachable prior to pausing federating to it",
@@ -838,12 +871,6 @@ config :pleroma, :config_description, [
           false
         ]
       },
-      %{
-        key: :dynamic_configuration,
-        type: :boolean,
-        description:
-          "Allow transferring configuration to DB with the subsequent customization from Admin api. Defaults to `false`"
-      },
       %{
         key: :max_account_fields,
         type: :integer,
@@ -1488,8 +1515,8 @@ config :pleroma, :config_description, [
                       %{
                         key: :versions,
                         type: {:list, :atom},
-                        descriptions: "List of TLS version to use",
-                        suggestions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"]
+                        description: "List of TLS version to use",
+                        suggestions: [:tlsv1, ":tlsv1.1", ":tlsv1.2"]
                       }
                     ]
                   }
@@ -1799,7 +1826,7 @@ config :pleroma, :config_description, [
       %{
         key: :private_key,
         type: :string,
-        description: "VAPID private keyn",
+        description: "VAPID private key",
         suggestions: ["Private key"]
       }
     ]
@@ -1819,7 +1846,7 @@ config :pleroma, :config_description, [
         key: :method,
         type: :module,
         description: "The method/service to use for captcha",
-        suggestions: [Pleroma.Captcha.Kocaptcha]
+        suggestions: [Pleroma.Captcha.Kocaptcha, Pleroma.Captcha.Native]
       },
       %{
         key: :seconds_valid,
@@ -2007,7 +2034,8 @@ config :pleroma, :config_description, [
         suggestions: [
           Pleroma.Web.Metadata.Providers.OpenGraph,
           Pleroma.Web.Metadata.Providers.TwitterCard,
-          Pleroma.Web.Metadata.Providers.RelMe
+          Pleroma.Web.Metadata.Providers.RelMe,
+          Pleroma.Web.Metadata.Providers.Feed
         ]
       },
       %{
@@ -2487,7 +2515,6 @@ config :pleroma, :config_description, [
           "Emojis are ordered in groups (tags). This is an array of key-value pairs where the key is the groupname" <>
             " and the value the location or array of locations. * can be used as a wildcard",
         suggestions: [
-          # Put groups that have higher priority than defaults here. Example in `docs/config/custom_emoji.md`
           Custom: ["/emoji/*.png", "/emoji/**/*.png"]
         ]
       },
@@ -2501,6 +2528,7 @@ config :pleroma, :config_description, [
       },
       %{
         key: :shared_pack_cache_seconds_per_file,
+        label: "Shared pack cache s/file",
         type: :integer,
         descpiption:
           "When an emoji pack is shared, the archive is created and cached in memory" <>
@@ -2748,25 +2776,6 @@ config :pleroma, :config_description, [
       }
     ]
   },
-  %{
-    group: :pleroma,
-    key: Pleroma.Uploaders.MDII,
-    description:
-      "Uploader for https://github.com/hakaba-hitoyo/minimal-digital-image-infrastructure",
-    type: :group,
-    children: [
-      %{
-        key: :cgi,
-        type: :string,
-        suggestions: ["https://mdii.sakura.ne.jp/mdii-post.cgi"]
-      },
-      %{
-        key: :files,
-        type: :string,
-        suggestions: ["https://mdii.sakura.ne.jp"]
-      }
-    ]
-  },
   %{
     group: :pleroma,
     key: :http,
@@ -2784,6 +2793,13 @@ config :pleroma, :config_description, [
         key: :send_user_agent,
         type: :boolean
       },
+      %{
+        key: :user_agent,
+        type: [:string, :atom],
+        description:
+          "What user agent to use. Must be a string or an atom `:default`. Default value is `:default`",
+        suggestions: ["Pleroma", :default]
+      },
       %{
         key: :adapter,
         type: :keyword,
@@ -2799,8 +2815,8 @@ config :pleroma, :config_description, [
               %{
                 key: :versions,
                 type: {:list, :atom},
-                descriptions: "List of TLS version to use",
-                suggestions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"]
+                description: "List of TLS version to use",
+                suggestions: [:tlsv1, ":tlsv1.1", ":tlsv1.2"]
               }
             ]
           }
@@ -2997,5 +3013,95 @@ config :pleroma, :config_description, [
         suggestions: [30_000]
       }
     ]
+  },
+  %{
+    group: :pleroma,
+    key: :static_fe,
+    type: :group,
+    description:
+      "Render profiles and posts using server-generated HTML that is viewable without using JavaScript.",
+    children: [
+      %{
+        key: :enabled,
+        type: :boolean,
+        description: "Enables the rendering of static HTML. Defaults to `false`."
+      }
+    ]
+  },
+  %{
+    group: :pleroma,
+    key: :feed,
+    type: :group,
+    description: "Configure feed rendering.",
+    children: [
+      %{
+        key: :post_title,
+        type: :map,
+        description: "Configure title rendering.",
+        children: [
+          %{
+            key: :max_length,
+            type: :integer,
+            description: "Maximum number of characters before truncating title.",
+            suggestions: [100]
+          },
+          %{
+            key: :omission,
+            type: :string,
+            description: "Replacement which will be used after truncating string.",
+            suggestions: ["..."]
+          }
+        ]
+      }
+    ]
+  },
+  %{
+    group: :pleroma,
+    key: :mrf_object_age,
+    type: :group,
+    description: "Rejects or delists posts based on their age when received.",
+    children: [
+      %{
+        key: :threshold,
+        type: :integer,
+        description: "Required age (in seconds) of a post before actions are taken.",
+        suggestions: [172_800]
+      },
+      %{
+        key: :actions,
+        type: {:list, :atom},
+        description:
+          "A list of actions to apply to the post. `:delist` removes the post from public timelines; " <>
+            "`:strip_followers` removes followers from the ActivityPub recipient list, ensuring they won't be delivered to home timelines; " <>
+            "`:reject` rejects the message entirely",
+        suggestions: [:delist, :strip_followers, :reject]
+      }
+    ]
+  },
+  %{
+    group: :pleroma,
+    key: :modules,
+    type: :group,
+    description: "Custom Runtime Modules.",
+    children: [
+      %{
+        key: :runtime_dir,
+        type: :string,
+        description: "A path to custom Elixir modules (such as MRF policies)."
+      }
+    ]
+  },
+  %{
+    group: :pleroma,
+    type: :group,
+    description: "Allow instance configuration from database.",
+    children: [
+      %{
+        key: :configurable_from_database,
+        type: :boolean,
+        description:
+          "Allow transferring configuration to DB with the subsequent customization from Admin api. Defaults to `false`"
+      }
+    ]
   }
 ]