@@ -211,6 +211,12 @@ config :pleroma, :instance, | |||||
avatar_upload_limit: 2_000_000, | avatar_upload_limit: 2_000_000, | ||||
background_upload_limit: 4_000_000, | background_upload_limit: 4_000_000, | ||||
banner_upload_limit: 4_000_000, | banner_upload_limit: 4_000_000, | ||||
poll_limits: %{ | |||||
max_options: 20, | |||||
max_option_chars: 200, | |||||
min_expiration: 0, | |||||
max_expiration: 365 * 24 * 60 * 60 | |||||
}, | |||||
registrations_open: true, | registrations_open: true, | ||||
federating: true, | federating: true, | ||||
federation_reachability_timeout_days: 7, | federation_reachability_timeout_days: 7, | ||||
@@ -71,6 +71,11 @@ config :pleroma, Pleroma.Emails.Mailer, | |||||
* `avatar_upload_limit`: File size limit of user’s profile avatars | * `avatar_upload_limit`: File size limit of user’s profile avatars | ||||
* `background_upload_limit`: File size limit of user’s profile backgrounds | * `background_upload_limit`: File size limit of user’s profile backgrounds | ||||
* `banner_upload_limit`: File size limit of user’s profile banners | * `banner_upload_limit`: File size limit of user’s profile banners | ||||
* `poll_limits`: A map with poll limits for **local** polls | |||||
* `max_options`: Maximum number of options | |||||
* `max_option_chars`: Maximum number of characters per option | |||||
* `min_expiration`: Minimum expiration time (in seconds) | |||||
* `max_expiration`: Maximum expiration time (in seconds) | |||||
* `registrations_open`: Enable registrations for anyone, invitations can be enabled when false. | * `registrations_open`: Enable registrations for anyone, invitations can be enabled when false. | ||||
* `invites_enabled`: Enable user invitations for admins (depends on `registrations_open: false`). | * `invites_enabled`: Enable user invitations for admins (depends on `registrations_open: false`). | ||||
* `account_activation_required`: Require users to confirm their emails before signing in. | * `account_activation_required`: Require users to confirm their emails before signing in. | ||||
@@ -197,7 +197,8 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do | |||||
languages: ["en"], | languages: ["en"], | ||||
registrations: Pleroma.Config.get([:instance, :registrations_open]), | registrations: Pleroma.Config.get([:instance, :registrations_open]), | ||||
# Extra (not present in Mastodon): | # Extra (not present in Mastodon): | ||||
max_toot_chars: Keyword.get(instance, :limit) | |||||
max_toot_chars: Keyword.get(instance, :limit), | |||||
poll_limits: Keyword.get(instance, :poll_limits) | |||||
} | } | ||||
json(conn, response) | json(conn, response) | ||||
@@ -1331,6 +1332,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do | |||||
max_toot_chars: limit, | max_toot_chars: limit, | ||||
mascot: "/images/pleroma-fox-tan-smol.png" | mascot: "/images/pleroma-fox-tan-smol.png" | ||||
}, | }, | ||||
poll_limits: Config.get([:instance, :poll_limits]), | |||||
rights: %{ | rights: %{ | ||||
delete_others_notice: present?(user.info.is_moderator), | delete_others_notice: present?(user.info.is_moderator), | ||||
admin: present?(user.info.is_admin) | admin: present?(user.info.is_admin) | ||||
@@ -2494,7 +2494,8 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do | |||||
"stats" => _, | "stats" => _, | ||||
"thumbnail" => _, | "thumbnail" => _, | ||||
"languages" => _, | "languages" => _, | ||||
"registrations" => _ | |||||
"registrations" => _, | |||||
"poll_limits" => _ | |||||
} = result | } = result | ||||
assert email == from_config_email | assert email == from_config_email | ||||