Merge remote-tracking branch 'origin/develop' into merge-ogp-twitter-parsers
[akkoma] / config / description.exs
index 0b99c748cb961a2844f367d3c0d559e2219be365..b21d7840cb2c63dbc2ff2b5781410b434aa9dfa7 100644 (file)
@@ -29,7 +29,7 @@ config :pleroma, :config_description, [
         key: :filters,
         type: {:list, :module},
         description:
-          "List of filter modules for uploads. Module names are shortened (removed leading `Pleroma.Upload.Filter.` part), but on adding custom MRF module you need to use full name.",
+          "List of filter modules for uploads. Module names are shortened (removed leading `Pleroma.Upload.Filter.` part), but on adding custom module you need to use full name.",
         suggestions:
           Generator.list_modules_in_dir(
             "lib/pleroma/upload/filter",
@@ -119,6 +119,11 @@ config :pleroma, :config_description, [
             ]
           }
         ]
+      },
+      %{
+        key: :filename_display_max_length,
+        type: :integer,
+        description: "Set max length of a filename to display. 0 = no limit. Default: 30"
       }
     ]
   },
@@ -679,15 +684,6 @@ config :pleroma, :config_description, [
           7
         ]
       },
-      %{
-        key: :federation_publisher_modules,
-        type: {:list, :module},
-        description:
-          "List of modules for federation publishing. Module names are shortened (removed leading `Pleroma.Web.` part), but on adding custom MRF module you need to use full name.",
-        suggestions: [
-          Pleroma.Web.ActivityPub.Publisher
-        ]
-      },
       %{
         key: :allow_relay,
         type: :boolean,
@@ -697,7 +693,7 @@ config :pleroma, :config_description, [
         key: :rewrite_policy,
         type: [:module, {:list, :module}],
         description:
-          "A list of enabled MRF policies. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom MRF module you need to use full name.",
+          "A list of enabled MRF policies. Module names are shortened (removed leading `Pleroma.Web.ActivityPub.MRF.` part), but on adding custom module you need to use full name.",
         suggestions:
           Generator.list_modules_in_dir(
             "lib/pleroma/web/activity_pub/mrf",
@@ -978,6 +974,13 @@ config :pleroma, :config_description, [
             ]
           }
         ]
+      },
+      %{
+        key: :instance_thumbnail,
+        type: :string,
+        description:
+          "The instance thumbnail image. It will appear in [Pleroma Instances](http://distsn.org/pleroma-instances.html)",
+        suggestions: ["/instance/thumbnail.jpeg"]
       }
     ]
   },
@@ -1105,38 +1108,41 @@ config :pleroma, :config_description, [
         description: "Settings for Pleroma FE",
         suggestions: [
           %{
-            theme: "pleroma-dark",
-            logo: "/static/logo.png",
-            background: "/images/city.jpg",
-            redirectRootNoLogin: "/main/all",
-            redirectRootLogin: "/main/friends",
-            showInstanceSpecificPanel: true,
-            scopeOptionsEnabled: false,
-            formattingOptionsEnabled: false,
+            alwaysShowSubjectInput: true,
+            background: "/static/aurora_borealis.jpg",
             collapseMessageWithSubject: false,
+            disableChat: false,
+            greentext: false,
+            hideFilteredStatuses: false,
+            hideMutedPosts: false,
             hidePostStats: false,
+            hideSitename: false,
             hideUserStats: false,
+            loginMethod: "password",
+            logo: "/static/logo.png",
+            logoMargin: ".1em",
+            logoMask: true,
+            minimalScopesMode: false,
+            noAttachmentLinks: false,
+            nsfwCensorImage: "/static/img/nsfw.74818f9.png",
+            postContentType: "text/plain",
+            redirectRootLogin: "/main/friends",
+            redirectRootNoLogin: "/main/all",
             scopeCopy: true,
+            sidebarRight: false,
+            showFeaturesPanel: true,
+            showInstanceSpecificPanel: false,
             subjectLineBehavior: "email",
-            alwaysShowSubjectInput: true,
-            logoMask: false,
-            logoMargin: ".1em",
-            stickers: false,
-            enableEmojiPicker: false
+            theme: "pleroma-dark",
+            webPushNotifications: false
           }
         ],
         children: [
           %{
-            key: :theme,
-            type: :string,
-            description: "Which theme to use, they are defined in styles.json",
-            suggestions: ["pleroma-dark"]
-          },
-          %{
-            key: :logo,
-            type: :string,
-            description: "URL of the logo, defaults to Pleroma's logo",
-            suggestions: ["/static/logo.png"]
+            key: :alwaysShowSubjectInput,
+            label: "Always show subject input",
+            type: :boolean,
+            description: "When disabled, auto-hide the subject field if it's empty"
           },
           %{
             key: :background,
@@ -1146,46 +1152,35 @@ config :pleroma, :config_description, [
             suggestions: ["/images/city.jpg"]
           },
           %{
-            key: :redirectRootNoLogin,
-            label: "Redirect root no login",
-            type: :string,
-            description:
-              "Relative URL which indicates where to redirect when a user isn't logged in",
-            suggestions: ["/main/all"]
-          },
-          %{
-            key: :redirectRootLogin,
-            label: "Redirect root login",
-            type: :string,
+            key: :collapseMessageWithSubject,
+            label: "Collapse message with subject",
+            type: :boolean,
             description:
-              "Relative URL which indicates where to redirect when a user is logged in",
-            suggestions: ["/main/friends"]
+              "When a message has a subject (aka Content Warning), collapse it by default"
           },
           %{
-            key: :showInstanceSpecificPanel,
-            label: "Show instance specific panel",
+            key: :disableChat,
+            label: "PleromaFE Chat",
             type: :boolean,
-            description: "Whenether to show the instance's specific panel"
+            description: "Disables PleromaFE Chat component"
           },
           %{
-            key: :scopeOptionsEnabled,
-            label: "Scope options enabled",
+            key: :greentext,
+            label: "Greentext",
             type: :boolean,
-            description: "Enable setting a notice visibility and subject/CW when posting"
+            description: "Enables green text on lines prefixed with the > character."
           },
           %{
-            key: :formattingOptionsEnabled,
-            label: "Formatting options enabled",
+            key: :hideFilteredStatuses,
+            label: "Hide Filtered Statuses",
             type: :boolean,
-            description:
-              "Enable setting a formatting different than plain-text (ie. HTML, Markdown) when posting, relates to `:instance`, `allowed_post_formats`"
+            description: "Hides filtered statuses from timelines."
           },
           %{
-            key: :collapseMessageWithSubject,
-            label: "Collapse message with subject",
+            key: :hideMutedPosts,
+            label: "Hide Muted Posts",
             type: :boolean,
-            description:
-              "When a message has a subject (aka Content Warning), collapse it by default"
+            description: "Hides muted statuses from timelines."
           },
           %{
             key: :hidePostStats,
@@ -1193,6 +1188,12 @@ config :pleroma, :config_description, [
             type: :boolean,
             description: "Hide notices statistics (repeats, favorites, ...)"
           },
+          %{
+            key: :hideSitename,
+            label: "Hide Sitename",
+            type: :boolean,
+            description: "Hides instance name from PleromaFE banner."
+          },
           %{
             key: :hideUserStats,
             label: "Hide user stats",
@@ -1201,26 +1202,19 @@ config :pleroma, :config_description, [
               "Hide profile statistics (posts, posts per day, followers, followings, ...)"
           },
           %{
-            key: :scopeCopy,
-            label: "Scope copy",
-            type: :boolean,
-            description: "Copy the scope (private/unlisted/public) in replies to posts by default"
-          },
-          %{
-            key: :subjectLineBehavior,
-            label: "Subject line behavior",
+            key: :logo,
             type: :string,
-            description: "Allows changing the default behaviour of subject lines in replies.
-          `email`: copy and preprend re:, as in email,
-          `masto`: copy verbatim, as in Mastodon,
-          `noop`: don't copy the subject.",
-            suggestions: ["email", "masto", "noop"]
+            description: "URL of the logo, defaults to Pleroma's logo",
+            suggestions: ["/static/logo.png"]
           },
           %{
-            key: :alwaysShowSubjectInput,
-            label: "Always show subject input",
-            type: :boolean,
-            description: "When disabled, auto-hide the subject field if it's empty"
+            key: :logoMargin,
+            label: "Logo margin",
+            type: :string,
+            description:
+              "Allows you to adjust vertical margins between logo boundary and navbar borders. " <>
+                "The idea is that to have logo's image without any extra margins and instead adjust them to your need in layout.",
+            suggestions: [".1em"]
           },
           %{
             key: :logoMask,
@@ -1231,24 +1225,84 @@ config :pleroma, :config_description, [
                 "If you want a colorful logo you must disable logoMask."
           },
           %{
-            key: :logoMargin,
-            label: "Logo margin",
+            key: :minimalScopesMode,
+            label: "Minimal scopes mode",
+            type: :boolean,
+            description:
+              "Limit scope selection to Direct, User default, and Scope of post replying to. " <>
+                "Also prevents replying to a DM with a public post from PleromaFE."
+          },
+          %{
+            key: :nsfwCensorImage,
+            label: "NSFW Censor Image",
             type: :string,
             description:
-              "Allows you to adjust vertical margins between logo boundary and navbar borders. " <>
-                "The idea is that to have logo's image without any extra margins and instead adjust them to your need in layout.",
-            suggestions: [".1em"]
+              "URL of the image to use for hiding NSFW media attachments in the timeline.",
+            suggestions: ["/static/img/nsfw.74818f9.png"]
           },
           %{
-            key: :stickers,
+            key: :postContentType,
+            label: "Post Content Type",
+            type: {:dropdown, :atom},
+            description: "Default post formatting option.",
+            suggestions: ["text/plain", "text/html", "text/markdown", "text/bbcode"]
+          },
+          %{
+            key: :redirectRootNoLogin,
+            label: "Redirect root no login",
+            type: :string,
+            description:
+              "Relative URL which indicates where to redirect when a user isn't logged in",
+            suggestions: ["/main/all"]
+          },
+          %{
+            key: :redirectRootLogin,
+            label: "Redirect root login",
+            type: :string,
+            description:
+              "Relative URL which indicates where to redirect when a user is logged in",
+            suggestions: ["/main/friends"]
+          },
+          %{
+            key: :scopeCopy,
+            label: "Scope copy",
+            type: :boolean,
+            description: "Copy the scope (private/unlisted/public) in replies to posts by default"
+          },
+          %{
+            key: :sidebarRight,
+            label: "Sidebar on Right",
             type: :boolean,
-            description: "Enables stickers."
+            description: "Change alignment of sidebar and panels to the right."
           },
           %{
-            key: :enableEmojiPicker,
-            label: "Emoji picker",
+            key: :showFeaturesPanel,
+            label: "Show instance features panel",
             type: :boolean,
-            description: "Enables emoji picker."
+            description:
+              "Enables panel displaying functionality of the instance on the About page."
+          },
+          %{
+            key: :showInstanceSpecificPanel,
+            label: "Show instance specific panel",
+            type: :boolean,
+            description: "Whether to show the instance's custom panel"
+          },
+          %{
+            key: :subjectLineBehavior,
+            label: "Subject line behavior",
+            type: :string,
+            description: "Allows changing the default behaviour of subject lines in replies.
+          `email`: copy and preprend re:, as in email,
+          `masto`: copy verbatim, as in Mastodon,
+          `noop`: don't copy the subject.",
+            suggestions: ["email", "masto", "noop"]
+          },
+          %{
+            key: :theme,
+            type: :string,
+            description: "Which theme to use. Available themes are defined in styles.json",
+            suggestions: ["pleroma-dark"]
           }
         ]
       },
@@ -1304,6 +1358,12 @@ config :pleroma, :config_description, [
         suggestions: [
           :pleroma_fox_tan
         ]
+      },
+      %{
+        key: :default_user_avatar,
+        type: :string,
+        description: "URL of the default user avatar.",
+        suggestions: ["/images/avi.png"]
       }
     ]
   },
@@ -1411,6 +1471,21 @@ config :pleroma, :config_description, [
       }
     ]
   },
+  %{
+    group: :pleroma,
+    key: :mrf_activity_expiration,
+    label: "MRF Activity Expiration Policy",
+    type: :group,
+    description: "Adds expiration to all local Create Note activities",
+    children: [
+      %{
+        key: :days,
+        type: :integer,
+        description: "Default global expiration time for all local Create activities (in days)",
+        suggestions: [90, 365]
+      }
+    ]
+  },
   %{
     group: :pleroma,
     key: :mrf_subchain,
@@ -1548,14 +1623,12 @@ config :pleroma, :config_description, [
   # %{
   #   group: :pleroma,
   #   key: :mrf_user_allowlist,
-  #   type: :group,
+  #   type: :map,
   #   description:
   #     "The keys in this section are the domain names that the policy should apply to." <>
   #       " Each key should be assigned a list of users that should be allowed through by their ActivityPub ID",
-  #   children: [
-  #     ["example.org": ["https://example.org/users/admin"]],
   #     suggestions: [
-  #       ["example.org": ["https://example.org/users/admin"]]
+  #       %{"example.org" => ["https://example.org/users/admin"]}
   #     ]
   #   ]
   # },
@@ -1858,12 +1931,6 @@ config :pleroma, :config_description, [
       (see https://github.com/sorentwo/oban/issues/52).
     """,
     children: [
-      %{
-        key: :repo,
-        type: :module,
-        description: "Application's Ecto repo",
-        suggestions: [Pleroma.Repo]
-      },
       %{
         key: :verbose,
         type: {:dropdown, :atom},
@@ -2035,11 +2102,9 @@ config :pleroma, :config_description, [
         key: :parsers,
         type: {:list, :module},
         description:
-          "List of Rich Media parsers. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parsers.` part), but on adding custom MRF module you need to use full name.",
+          "List of Rich Media parsers. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parsers.` part), but on adding custom module you need to use full name.",
         suggestions: [
-          Pleroma.Web.RichMedia.Parsers.MetaTagsParser,
           Pleroma.Web.RichMedia.Parsers.OEmbed,
-          Pleroma.Web.RichMedia.Parsers.OGP,
           Pleroma.Web.RichMedia.Parsers.TwitterCard
         ]
       },
@@ -2048,7 +2113,7 @@ config :pleroma, :config_description, [
         label: "TTL setters",
         type: {:list, :module},
         description:
-          "List of rich media TTL setters. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parser.` part), but on adding custom MRF module you need to use full name.",
+          "List of rich media TTL setters. Module names are shortened (removed leading `Pleroma.Web.RichMedia.Parser.` part), but on adding custom module you need to use full name.",
         suggestions: [
           Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl
         ]
@@ -2638,18 +2703,6 @@ config :pleroma, :config_description, [
       }
     ]
   },
-  %{
-    group: :http_signatures,
-    type: :group,
-    description: "HTTP Signatures settings",
-    children: [
-      %{
-        key: :adapter,
-        type: :module,
-        suggestions: [Pleroma.Signature]
-      }
-    ]
-  },
   %{
     group: :pleroma,
     key: :http,
@@ -2723,7 +2776,7 @@ config :pleroma, :config_description, [
         key: :scrub_policy,
         type: {:list, :module},
         description:
-          "Module names are shortened (removed leading `Pleroma.HTML.` part), but on adding custom MRF module you need to use full name.",
+          "Module names are shortened (removed leading `Pleroma.HTML.` part), but on adding custom module you need to use full name.",
         suggestions: [Pleroma.HTML.Transform.MediaProxy, Pleroma.HTML.Scrubber.Default]
       }
     ]