Add :shared_pack_cache_seconds_per_file to description.exs
[akkoma] / config / description.exs
index be5eb0cc35302f878ac2da86081836201480e3c1..5dc8dc36466c187f7815c8c0f5be95bd376fbc30 100644 (file)
@@ -39,11 +39,7 @@ config :pleroma, :config_description, [
         key: :link_name,
         type: :boolean,
         description:
-          "If enabled, a name parameter will be added to the url of the upload. For example `https://instance.tld/media/imagehash.png?name=realname.png`",
-        suggestions: [
-          true,
-          false
-        ]
+          "If enabled, a name parameter will be added to the url of the upload. For example `https://instance.tld/media/imagehash.png?name=realname.png`"
       },
       %{
         key: :base_url,
@@ -57,11 +53,7 @@ config :pleroma, :config_description, [
         key: :proxy_remote,
         type: :boolean,
         description:
-          "If enabled, requests to media stored using a remote uploader will be proxied instead of being redirected.",
-        suggestions: [
-          true,
-          false
-        ]
+          "If enabled, requests to media stored using a remote uploader will be proxied instead of being redirected."
       },
       %{
         key: :proxy_opts,
@@ -117,8 +109,7 @@ config :pleroma, :config_description, [
         type: :string,
         description:
           "If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \"\" etc." <>
-            " For example, when using CDN to S3 virtual host format, set \"\". At this time, write CNAME to CDN in public_endpoint.",
-        suggestions: [""]
+            " For example, when using CDN to S3 virtual host format, set \"\". At this time, write CNAME to CDN in public_endpoint."
       }
     ]
   },
@@ -190,11 +181,7 @@ config :pleroma, :config_description, [
       %{
         key: :enabled,
         type: :boolean,
-        description: "Allow/disallow send emails",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "Allow/disallow send emails"
       },
       %{
         group: {:subgroup, Swoosh.Adapters.SMTP},
@@ -221,8 +208,7 @@ config :pleroma, :config_description, [
         group: {:subgroup, Swoosh.Adapters.SMTP},
         key: :ssl,
         type: :boolean,
-        description: "`Swoosh.Adapters.SMTP` adapter specific setting",
-        suggestions: [true, false]
+        description: "`Swoosh.Adapters.SMTP` adapter specific setting"
       },
       %{
         group: {:subgroup, Swoosh.Adapters.SMTP},
@@ -256,8 +242,7 @@ config :pleroma, :config_description, [
         group: {:subgroup, Swoosh.Adapters.SMTP},
         key: :no_mx_lookups,
         type: :boolean,
-        description: "`Swoosh.Adapters.SMTP` adapter specific setting",
-        suggestions: [true, false]
+        description: "`Swoosh.Adapters.SMTP` adapter specific setting"
       },
       %{
         group: {:subgroup, Swoosh.Adapters.Sendgrid},
@@ -284,8 +269,7 @@ config :pleroma, :config_description, [
         group: {:subgroup, Swoosh.Adapters.Sendmail},
         key: :qmail,
         type: :boolean,
-        description: "`Swoosh.Adapters.Sendmail` adapter specific setting",
-        suggestions: [true, false]
+        description: "`Swoosh.Adapters.Sendmail` adapter specific setting"
       },
       %{
         group: {:subgroup, Swoosh.Adapters.Mandrill},
@@ -375,22 +359,19 @@ config :pleroma, :config_description, [
         group: {:subgroup, Swoosh.Adapters.SocketLabs},
         key: :server_id,
         type: :string,
-        description: "`Swoosh.Adapters.SocketLabs` adapter specific setting",
-        suggestions: [""]
+        description: "`Swoosh.Adapters.SocketLabs` adapter specific setting"
       },
       %{
         group: {:subgroup, Swoosh.Adapters.SocketLabs},
         key: :api_key,
         type: :string,
-        description: "`Swoosh.Adapters.SocketLabs` adapter specific setting",
-        suggestions: [""]
+        description: "`Swoosh.Adapters.SocketLabs` adapter specific setting"
       },
       %{
         group: {:subgroup, Swoosh.Adapters.Gmail},
         key: :access_token,
         type: :string,
-        description: "`Swoosh.Adapters.Gmail` adapter specific setting",
-        suggestions: [""]
+        description: "`Swoosh.Adapters.Gmail` adapter specific setting"
       }
     ]
   },
@@ -553,38 +534,22 @@ config :pleroma, :config_description, [
       %{
         key: :registrations_open,
         type: :boolean,
-        description: "Enable registrations for anyone, invitations can be enabled when false",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "Enable registrations for anyone, invitations can be enabled when false"
       },
       %{
         key: :invites_enabled,
         type: :boolean,
-        description: "Enable user invitations for admins (depends on registrations_open: false)",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "Enable user invitations for admins (depends on registrations_open: false)"
       },
       %{
         key: :account_activation_required,
         type: :boolean,
-        description: "Require users to confirm their emails before signing in",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "Require users to confirm their emails before signing in"
       },
       %{
         key: :federating,
         type: :boolean,
-        description: "Enable federation with other instances",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "Enable federation with other instances"
       },
       %{
         key: :federation_incoming_replies_max_depth,
@@ -618,11 +583,7 @@ config :pleroma, :config_description, [
       %{
         key: :allow_relay,
         type: :boolean,
-        description: "Enable Pleroma's Relay, which makes it possible to follow a whole instance",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "Enable Pleroma's Relay, which makes it possible to follow a whole instance"
       },
       %{
         key: :rewrite_policy,
@@ -638,11 +599,7 @@ config :pleroma, :config_description, [
         type: :boolean,
         description:
           "Makes the client API in authentificated mode-only except for user-profiles." <>
-            " Useful for disabling the Local Timeline and The Whole Known Network",
-        suggestions: [
-          true,
-          false
-        ]
+            " Useful for disabling the Local Timeline and The Whole Known Network"
       },
       %{
         key: :quarantined_instances,
@@ -658,11 +615,7 @@ config :pleroma, :config_description, [
         key: :managed_config,
         type: :boolean,
         description:
-          "Whenether the config for pleroma-fe is configured in this config or in static/config.json",
-        suggestions: [
-          true,
-          false
-        ]
+          "Whenether the config for pleroma-fe is configured in this config or in static/config.json"
       },
       %{
         key: :static_dir,
@@ -689,11 +642,7 @@ config :pleroma, :config_description, [
         key: :mrf_transparency,
         type: :boolean,
         description:
-          "Make the content of your Message Rewrite Facility settings public (via nodeinfo)",
-        suggestions: [
-          true,
-          false
-        ]
+          "Make the content of your Message Rewrite Facility settings public (via nodeinfo)"
       },
       %{
         key: :mrf_transparency_exclusions,
@@ -709,11 +658,7 @@ config :pleroma, :config_description, [
         type: :boolean,
         description:
           "Set to true to use extended local nicknames format (allows underscores/dashes)." <>
-            " This will break federation with older software for theses nicknames",
-        suggestions: [
-          true,
-          false
-        ]
+            " This will break federation with older software for theses nicknames"
       },
       %{
         key: :max_pinned_statuses,
@@ -741,11 +686,7 @@ config :pleroma, :config_description, [
         key: :no_attachment_links,
         type: :boolean,
         description:
-          "Set to true to disable automatically adding attachment link text to statuses",
-        suggestions: [
-          true,
-          false
-        ]
+          "Set to true to disable automatically adding attachment link text to statuses"
       },
       %{
         key: :welcome_message,
@@ -780,20 +721,12 @@ config :pleroma, :config_description, [
         description:
           "If set to true, only mentions at the beginning of a post will be used to address people in direct messages." <>
             " This is to prevent accidental mentioning of people when talking about them (e.g. \"@friend hey i really don't like @enemy\")." <>
-            " Default: false",
-        suggestions: [
-          true,
-          false
-        ]
+            " Default: false"
       },
       %{
         key: :healthcheck,
         type: :boolean,
-        description: "If set to true, system data will be shown on /api/pleroma/healthcheck",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "If set to true, system data will be shown on /api/pleroma/healthcheck"
       },
       %{
         key: :remote_post_retention_days,
@@ -823,11 +756,7 @@ config :pleroma, :config_description, [
       %{
         key: :skip_thread_containment,
         type: :boolean,
-        description: "Skip filter out broken threads. The default is true",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "Skip filter out broken threads. The default is true"
       },
       %{
         key: :limit_to_local_content,
@@ -844,11 +773,7 @@ config :pleroma, :config_description, [
         key: :dynamic_configuration,
         type: :boolean,
         description:
-          "Allow transferring configuration to DB with the subsequent customization from Admin api. Defaults to `false`",
-        suggestions: [
-          true,
-          false
-        ]
+          "Allow transferring configuration to DB with the subsequent customization from Admin api. Defaults to `false`"
       },
       %{
         key: :max_account_fields,
@@ -878,19 +803,15 @@ config :pleroma, :config_description, [
       %{
         key: :account_field_value_length,
         type: :integer,
-        description: "An account field value maximum length (default: 512)",
+        description: "An account field value maximum length (default: 2048)",
         suggestions: [
-          512
+          2048
         ]
       },
       %{
         key: :external_user_synchronization,
         type: :boolean,
-        description: "Enabling following/followers counters synchronization for external users",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "Enabling following/followers counters synchronization for external users"
       }
     ]
   },
@@ -936,7 +857,6 @@ config :pleroma, :config_description, [
       %{
         key: :metadata,
         type: {:list, :atom},
-        description: "",
         suggestions: [[:request_id]]
       }
     ]
@@ -962,7 +882,6 @@ config :pleroma, :config_description, [
       %{
         key: :metadata,
         type: {:list, :atom},
-        description: "",
         suggestions: [[:request_id]]
       }
     ]
@@ -1069,48 +988,40 @@ config :pleroma, :config_description, [
           %{
             key: :showInstanceSpecificPanel,
             type: :boolean,
-            description: "Whenether to show the instance's specific panel",
-            suggestions: [true, false]
+            description: "Whenether to show the instance's specific panel"
           },
           %{
             key: :scopeOptionsEnabled,
             type: :boolean,
-            description: "Enable setting an notice visibility and subject/CW when posting",
-            suggestions: [true, false]
+            description: "Enable setting an notice visibility and subject/CW when posting"
           },
           %{
             key: :formattingOptionsEnabled,
             type: :boolean,
             description:
-              "Enable setting a formatting different than plain-text (ie. HTML, Markdown) when posting, relates to :instance, allowed_post_formats",
-            suggestions: [true, false]
+              "Enable setting a formatting different than plain-text (ie. HTML, Markdown) when posting, relates to :instance, allowed_post_formats"
           },
           %{
             key: :collapseMessageWithSubject,
             type: :boolean,
             description:
-              "When a message has a subject(aka Content Warning), collapse it by default",
-            suggestions: [true, false]
+              "When a message has a subject(aka Content Warning), collapse it by default"
           },
           %{
             key: :hidePostStats,
             type: :boolean,
-            description: "Hide notices statistics(repeats, favorites, ...)",
-            suggestions: [true, false]
+            description: "Hide notices statistics(repeats, favorites, ...)"
           },
           %{
             key: :hideUserStats,
             type: :boolean,
             description:
-              "Hide profile statistics(posts, posts per day, followers, followings, ...)",
-            suggestions: [true, false]
+              "Hide profile statistics(posts, posts per day, followers, followings, ...)"
           },
           %{
             key: :scopeCopy,
             type: :boolean,
-            description:
-              "Copy the scope (private/unlisted/public) in replies to posts by default",
-            suggestions: [true, false]
+            description: "Copy the scope (private/unlisted/public) in replies to posts by default"
           },
           %{
             key: :subjectLineBehavior,
@@ -1124,8 +1035,7 @@ config :pleroma, :config_description, [
           %{
             key: :alwaysShowSubjectInput,
             type: :boolean,
-            description: "When set to false, auto-hide the subject field when it's empty",
-            suggestions: [true, false]
+            description: "When set to false, auto-hide the subject field when it's empty"
           }
         ]
       },
@@ -1142,8 +1052,7 @@ config :pleroma, :config_description, [
           %{
             key: :showInstanceSpecificPanel,
             type: :boolean,
-            description: "Whenether to show the instance's specific panel",
-            suggestions: [true, false]
+            description: "Whenether to show the instance's specific panel"
           }
         ]
       }
@@ -1266,19 +1175,16 @@ config :pleroma, :config_description, [
     group: :pleroma,
     key: :mrf_rejectnonpublic,
     type: :group,
-    description: "",
     children: [
       %{
         key: :allow_followersonly,
         type: :boolean,
-        description: "whether to allow followers-only posts",
-        suggestions: [true, false]
+        description: "whether to allow followers-only posts"
       },
       %{
         key: :allow_direct,
         type: :boolean,
-        description: "whether to allow direct messages",
-        suggestions: [true, false]
+        description: "whether to allow direct messages"
       }
     ]
   },
@@ -1393,8 +1299,7 @@ config :pleroma, :config_description, [
       %{
         key: :enabled,
         type: :boolean,
-        description: "Enables proxying of remote media to the instance's proxy",
-        suggestions: [true, false]
+        description: "Enables proxying of remote media to the instance's proxy"
       },
       %{
         key: :base_url,
@@ -1426,8 +1331,7 @@ config :pleroma, :config_description, [
       %{
         key: :enabled,
         type: :boolean,
-        description: "Enables the gopher interface",
-        suggestions: [true, false]
+        description: "Enables the gopher interface"
       },
       %{
         key: :ip,
@@ -1537,43 +1441,36 @@ config :pleroma, :config_description, [
       %{
         key: :instrumenters,
         type: {:list, :module},
-        description: "",
         suggestions: [Pleroma.Web.Endpoint.Instrumenter]
       },
       %{
         key: :protocol,
         type: :string,
-        description: "",
         suggestions: ["https"]
       },
       %{
         key: :secret_key_base,
         type: :string,
-        description: "",
         suggestions: ["aK4Abxf29xU9TTDKre9coZPUgevcVCFQJe/5xP/7Lt4BEif6idBIbjupVbOrbKxl"]
       },
       %{
         key: :signing_salt,
         type: :string,
-        description: "",
         suggestions: ["CqaoopA2"]
       },
       %{
         key: :render_errors,
         type: :keyword,
-        description: "",
         suggestions: [[view: Pleroma.Web.ErrorView, accepts: ~w(json)]],
         children: [
           %{
             key: :view,
             type: :module,
-            description: "",
             suggestions: [Pleroma.Web.ErrorView]
           },
           %{
             key: :accepts,
             type: {:list, :string},
-            description: "",
             suggestions: ["json"]
           }
         ]
@@ -1581,33 +1478,27 @@ config :pleroma, :config_description, [
       %{
         key: :pubsub,
         type: :keyword,
-        description: "",
         suggestions: [[name: Pleroma.PubSub, adapter: Phoenix.PubSub.PG2]],
         children: [
           %{
             key: :name,
             type: :module,
-            description: "",
             suggestions: [Pleroma.PubSub]
           },
           %{
             key: :adapter,
             type: :module,
-            description: "",
             suggestions: [Phoenix.PubSub.PG2]
           }
         ]
       },
       %{
         key: :secure_cookie_flag,
-        type: :boolean,
-        description: "",
-        suggestions: [true, false]
+        type: :boolean
       },
       %{
         key: :extra_cookie_attrs,
         type: {:list, :string},
-        description: "",
         suggestions: ["SameSite=Lax"]
       }
     ]
@@ -1621,20 +1512,17 @@ config :pleroma, :config_description, [
       %{
         key: :unfollow_blocked,
         type: :boolean,
-        description: "Whether blocks result in people getting unfollowed",
-        suggestions: [true, false]
+        description: "Whether blocks result in people getting unfollowed"
       },
       %{
         key: :outgoing_blocks,
         type: :boolean,
-        description: "Whether to federate blocks to other instances",
-        suggestions: [true, false]
+        description: "Whether to federate blocks to other instances"
       },
       %{
         key: :sign_object_fetches,
         type: :boolean,
-        description: "Sign object fetches with HTTP signatures",
-        suggestions: [true, false]
+        description: "Sign object fetches with HTTP signatures"
       },
       %{
         key: :follow_handshake_timeout,
@@ -1653,14 +1541,12 @@ config :pleroma, :config_description, [
       %{
         key: :enabled,
         type: :boolean,
-        description: "Whether the managed content security policy is enabled",
-        suggestions: [true, false]
+        description: "Whether the managed content security policy is enabled"
       },
       %{
         key: :sts,
         type: :boolean,
-        description: "Whether to additionally send a Strict-Transport-Security header",
-        suggestions: [true, false]
+        description: "Whether to additionally send a Strict-Transport-Security header"
       },
       %{
         key: :sts_max_age,
@@ -1727,8 +1613,7 @@ config :pleroma, :config_description, [
       %{
         key: :enabled,
         type: :boolean,
-        description: "Whether the captcha should be shown on registration",
-        suggestions: [true, false]
+        description: "Whether the captcha should be shown on registration"
       },
       %{
         key: :method,
@@ -1778,8 +1663,7 @@ config :pleroma, :config_description, [
     group: :pleroma_job_queue,
     key: :queues,
     type: :group,
-    description: "[Deprecated] Replaced with `Oban`/`:queues` (keeping the same format)",
-    children: []
+    description: "[Deprecated] Replaced with `Oban`/`:queues` (keeping the same format)"
   },
   %{
     group: :pleroma,
@@ -1790,8 +1674,7 @@ config :pleroma, :config_description, [
       %{
         key: :max_retries,
         type: :integer,
-        description: "[Deprecated] Replaced as `Oban`/`:queues`/`:outgoing_federation` value",
-        suggestions: []
+        description: "[Deprecated] Replaced as `Oban`/`:queues`/`:outgoing_federation` value"
       }
     ]
   },
@@ -1817,8 +1700,7 @@ config :pleroma, :config_description, [
       %{
         key: :verbose,
         type: :boolean,
-        description: "Logs verbose mode",
-        suggestions: [false, true]
+        description: "Logs verbose mode"
       },
       %{
         key: :prune,
@@ -1937,11 +1819,7 @@ config :pleroma, :config_description, [
       %{
         key: :unfurl_nsfw,
         type: :boolean,
-        description: "If set to true nsfw attachments will be shown in previews",
-        suggestions: [
-          true,
-          false
-        ]
+        description: "If set to true nsfw attachments will be shown in previews"
       }
     ]
   },
@@ -1949,14 +1827,12 @@ config :pleroma, :config_description, [
     group: :pleroma,
     key: :rich_media,
     type: :group,
-    description: "",
     children: [
       %{
         key: :enabled,
         type: :boolean,
         description:
-          "if enabled the instance will parse metadata from attached links to generate link previews",
-        suggestions: [true, false]
+          "if enabled the instance will parse metadata from attached links to generate link previews"
       },
       %{
         key: :ignore_hosts,
@@ -1998,8 +1874,7 @@ config :pleroma, :config_description, [
         key: :enabled,
         type: :boolean,
         description:
-          "if enabled, when a new user is federated with, fetch some of their latest posts",
-        suggestions: [true, false]
+          "if enabled, when a new user is federated with, fetch some of their latest posts"
       },
       %{
         key: :pages,
@@ -2030,14 +1905,12 @@ config :pleroma, :config_description, [
       %{
         key: :new_window,
         type: :boolean,
-        description: "set to false to remove target='_blank' attribute",
-        suggestions: [true, false]
+        description: "set to false to remove target='_blank' attribute"
       },
       %{
         key: :scheme,
         type: :boolean,
-        description: "Set to true to link urls with schema http://google.com",
-        suggestions: [true, false]
+        description: "Set to true to link urls with schema http://google.com"
       },
       %{
         key: :truncate,
@@ -2049,14 +1922,12 @@ config :pleroma, :config_description, [
       %{
         key: :strip_prefix,
         type: :boolean,
-        description: "Strip the scheme prefix",
-        suggestions: [true, false]
+        description: "Strip the scheme prefix"
       },
       %{
         key: :extra,
         type: :boolean,
-        description: "link urls with rarely used schemes (magnet, ipfs, irc, etc.)",
-        suggestions: [true, false]
+        description: "link urls with rarely used schemes (magnet, ipfs, irc, etc.)"
       }
     ]
   },
@@ -2083,8 +1954,7 @@ config :pleroma, :config_description, [
       %{
         key: :enabled,
         type: :boolean,
-        description: "whether scheduled activities are sent to the job queue to be executed",
-        suggestions: [true, false]
+        description: "whether scheduled activities are sent to the job queue to be executed"
       }
     ]
   },
@@ -2097,8 +1967,7 @@ config :pleroma, :config_description, [
       %{
         key: :enabled,
         type: :boolean,
-        description: "whether expired activities will be sent to the job queue to be deleted",
-        suggestions: [true, false]
+        description: "whether expired activities will be sent to the job queue to be deleted"
       }
     ]
   },
@@ -2110,7 +1979,6 @@ config :pleroma, :config_description, [
       %{
         key: Pleroma.Web.Auth.Authenticator,
         type: :module,
-        description: "",
         suggestions: [Pleroma.Web.Auth.PleromaAuthenticator, Pleroma.Web.Auth.LDAPAuthenticator]
       }
     ]
@@ -2128,8 +1996,7 @@ config :pleroma, :config_description, [
       %{
         key: :enabled,
         type: :boolean,
-        description: "enables LDAP authentication",
-        suggestions: [true, false]
+        description: "enables LDAP authentication"
       },
       %{
         key: :host,
@@ -2146,26 +2013,22 @@ config :pleroma, :config_description, [
       %{
         key: :ssl,
         type: :boolean,
-        description: "true to use SSL, usually implies the port 636",
-        suggestions: [true, false]
+        description: "true to use SSL, usually implies the port 636"
       },
       %{
         key: :sslopts,
         type: :keyword,
-        description: "additional SSL options",
-        suggestions: []
+        description: "additional SSL options"
       },
       %{
         key: :tls,
         type: :boolean,
-        description: "true to start TLS, usually implies the port 389",
-        suggestions: [true, false]
+        description: "true to start TLS, usually implies the port 389"
       },
       %{
         key: :tlsopts,
         type: :keyword,
-        description: "additional TLS options",
-        suggestions: []
+        description: "additional TLS options"
       },
       %{
         key: :base,
@@ -2237,8 +2100,7 @@ config :pleroma, :config_description, [
           %{
             key: :active,
             type: :boolean,
-            description: "globally enable or disable digest emails",
-            suggestions: [true, false]
+            description: "globally enable or disable digest emails"
           },
           %{
             key: :schedule,
@@ -2271,7 +2133,7 @@ config :pleroma, :config_description, [
     children: [
       %{
         key: :logo,
-        type: [:string, nil],
+        type: [:string, nil],
         description: "a path to a custom logo. Set it to nil to use the default Pleroma logo",
         suggestions: ["some/path/logo.png", nil]
       },
@@ -2293,37 +2155,31 @@ config :pleroma, :config_description, [
           %{
             key: :link_color,
             type: :string,
-            description: "",
             suggestions: ["#d8a070"]
           },
           %{
             key: :background_color,
             type: :string,
-            description: "",
             suggestions: ["#2C3645"]
           },
           %{
             key: :content_background_color,
             type: :string,
-            description: "",
             suggestions: ["#1B2635"]
           },
           %{
             key: :header_color,
             type: :string,
-            description: "",
             suggestions: ["#d8a070"]
           },
           %{
             key: :text_color,
             type: :string,
-            description: "",
             suggestions: ["#b9b9ba"]
           },
           %{
             key: :text_muted_color,
             type: :string,
-            description: "",
             suggestions: ["#b9b9ba"]
           }
         ]
@@ -2346,14 +2202,12 @@ config :pleroma, :config_description, [
         key: :issue_new_refresh_token,
         type: :boolean,
         description:
-          "Keeps old refresh token or generate new refresh token when to obtain an access token",
-        suggestions: [true, false]
+          "Keeps old refresh token or generate new refresh token when to obtain an access token"
       },
       %{
         key: :clean_expired_tokens,
         type: :boolean,
-        description: "Enable a background job to clean expired oauth tokens. Defaults to false",
-        suggestions: [true, false]
+        description: "Enable a background job to clean expired oauth tokens. Defaults to false"
       },
       %{
         key: :clean_expired_tokens_interval,
@@ -2368,7 +2222,6 @@ config :pleroma, :config_description, [
     group: :pleroma,
     key: :emoji,
     type: :group,
-    description: "",
     children: [
       %{
         key: :shortcode_globs,
@@ -2403,6 +2256,14 @@ config :pleroma, :config_description, [
           "Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download." <>
             " Currently only one manifest can be added (no arrays)",
         suggestions: ["https://git.pleroma.social/pleroma/emoji-index/raw/master/index.json"]
+      },
+      %{
+        key: :shared_pack_cache_seconds_per_file,
+        type: :integer,
+        descpiption:
+          "When an emoji pack is shared, the archive is created and cached in memory" <>
+            " for this amount of seconds multiplied by the number of files.",
+        suggestions: [60]
       }
     ]
   },
@@ -2415,8 +2276,7 @@ config :pleroma, :config_description, [
       %{
         key: :rum_enabled,
         type: :boolean,
-        description: "If RUM indexes should be used. Defaults to false",
-        suggestions: [true, false]
+        description: "If RUM indexes should be used. Defaults to false"
       }
     ]
   },
@@ -2475,8 +2335,7 @@ config :pleroma, :config_description, [
       %{
         key: :enabled,
         type: :boolean,
-        description: "Enables ssh",
-        suggestions: [true, false]
+        description: "Enables ssh"
       },
       %{
         key: :priv_dir,
@@ -2512,7 +2371,6 @@ config :pleroma, :config_description, [
       %{
         key: :types,
         type: :map,
-        description: "",
         suggestions: [
           %{
             "application/xml" => ["xml"],
@@ -2526,31 +2384,26 @@ config :pleroma, :config_description, [
           %{
             key: "application/xml",
             type: {:list, :string},
-            description: "",
             suggestions: [["xml"]]
           },
           %{
             key: "application/xrd+xml",
             type: {:list, :string},
-            description: "",
             suggestions: [["xrd+xml"]]
           },
           %{
             key: "application/jrd+json",
             type: {:list, :string},
-            description: "",
             suggestions: [["jrd+json"]]
           },
           %{
             key: "application/activity+json",
             type: {:list, :string},
-            description: "",
             suggestions: [["activity+json"]]
           },
           %{
             key: "application/ld+json",
             type: {:list, :string},
-            description: "",
             suggestions: [["activity+json"]]
           }
         ]
@@ -2578,9 +2431,7 @@ config :pleroma, :config_description, [
     children: [
       %{
         key: :enabled,
-        type: :boolean,
-        description: "",
-        suggestions: [true, false]
+        type: :boolean
       }
     ]
   },
@@ -2588,13 +2439,11 @@ config :pleroma, :config_description, [
     group: :pleroma,
     key: :suggestions,
     type: :group,
-    description: "",
     children: [
       %{
         key: :enabled,
         type: :boolean,
-        description: "Enables suggestions",
-        suggestions: []
+        description: "Enables suggestions"
       },
       %{
         key: :third_party_engine,
@@ -2619,7 +2468,6 @@ config :pleroma, :config_description, [
       %{
         key: :web,
         type: :string,
-        description: "",
         suggestions: ["https://vinayaka.distsn.org"]
       }
     ]
@@ -2646,7 +2494,6 @@ config :pleroma, :config_description, [
       %{
         key: :adapter,
         type: :module,
-        description: "",
         suggestions: [Pleroma.Signature]
       }
     ]
@@ -2655,18 +2502,15 @@ config :pleroma, :config_description, [
     group: :pleroma,
     key: Pleroma.Uploaders.MDII,
     type: :group,
-    description: "",
     children: [
       %{
         key: :cgi,
         type: :string,
-        description: "",
         suggestions: ["https://mdii.sakura.ne.jp/mdii-post.cgi"]
       },
       %{
         key: :files,
         type: :string,
-        description: "",
         suggestions: ["https://mdii.sakura.ne.jp"]
       }
     ]
@@ -2680,19 +2524,15 @@ config :pleroma, :config_description, [
       %{
         key: :proxy_url,
         type: [:string, :atom, nil],
-        description: "",
         suggestions: ["localhost:9020", {:socks5, :localhost, 3090}, nil]
       },
       %{
         key: :send_user_agent,
-        type: :boolean,
-        description: "",
-        suggestions: [true, false]
+        type: :boolean
       },
       %{
         key: :adapter,
         type: :keyword,
-        description: "",
         suggestions: [
           [
             ssl_options: [
@@ -2710,36 +2550,26 @@ config :pleroma, :config_description, [
     group: :pleroma,
     key: :markup,
     type: :group,
-    description: "",
     children: [
       %{
         key: :allow_inline_images,
-        type: :boolean,
-        description: "",
-        suggestions: [true, false]
+        type: :boolean
       },
       %{
         key: :allow_headings,
-        type: :boolean,
-        description: "",
-        suggestions: [true, false]
+        type: :boolean
       },
       %{
         key: :allow_tables,
-        type: :boolean,
-        description: "",
-        suggestions: [true, false]
+        type: :boolean
       },
       %{
         key: :allow_fonts,
-        type: :boolean,
-        description: "",
-        suggestions: [true, false]
+        type: :boolean
       },
       %{
         key: :scrub_policy,
         type: {:list, :module},
-        description: "",
         suggestions: [[Pleroma.HTML.Transform.MediaProxy, Pleroma.HTML.Scrubber.Default]]
       }
     ]
@@ -2748,13 +2578,10 @@ config :pleroma, :config_description, [
     group: :pleroma,
     key: :user,
     type: :group,
-    description: "",
     children: [
       %{
         key: :deny_follow_blocked,
-        type: :boolean,
-        description: "",
-        suggestions: [true, false]
+        type: :boolean
       }
     ]
   },
@@ -2762,12 +2589,10 @@ config :pleroma, :config_description, [
     group: :pleroma,
     key: :mrf_normalize_markup,
     type: :group,
-    description: "",
     children: [
       %{
         key: :scrub_policy,
         type: :module,
-        description: "",
         suggestions: [Pleroma.HTML.Scrubber.Default]
       }
     ]
@@ -2776,12 +2601,10 @@ config :pleroma, :config_description, [
     group: :pleroma,
     key: Pleroma.User,
     type: :group,
-    description: "",
     children: [
       %{
         key: :restricted_nicknames,
         type: {:list, :string},
-        description: "",
         suggestions: [
           [
             ".well-known",
@@ -2822,24 +2645,20 @@ config :pleroma, :config_description, [
   %{
     group: :cors_plug,
     type: :group,
-    description: "",
     children: [
       %{
         key: :max_age,
         type: :integer,
-        description: "",
         suggestions: [86_400]
       },
       %{
         key: :methods,
         type: {:list, :string},
-        description: "",
         suggestions: [["POST", "PUT", "DELETE", "GET", "PATCH", "OPTIONS"]]
       },
       %{
         key: :expose,
         type: :string,
-        description: "",
         suggestions: [
           [
             "Link",
@@ -2853,14 +2672,11 @@ config :pleroma, :config_description, [
       },
       %{
         key: :credentials,
-        type: :boolean,
-        description: "",
-        suggestions: [true, false]
+        type: :boolean
       },
       %{
         key: :headers,
         type: {:list, :string},
-        description: "",
         suggestions: [["Authorization", "Content-Type", "Idempotency-Key"]]
       }
     ]