summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfeld <feld@feld.me>2020-02-13 14:37:55 +0000
committerfeld <feld@feld.me>2020-02-13 14:37:55 +0000
commitb312c36b8e14b6aaa450bd8509e320c9784d0f48 (patch)
tree970f7522951f583f100f682142d7aa1b4e1082c3
parent571a475c7ec8f9bb6e3a252aa7c3c65a1621bed6 (diff)
parent0db88f547b371fb480148279278bd081e5929003 (diff)
Merge branch 'develop' into 'fix/rename-no_attachment_links-setting'
# Conflicts: # config/description.exs
-rw-r--r--config/description.exs38
-rw-r--r--lib/pleroma/activity_expiration.ex2
-rw-r--r--test/web/mastodon_api/controllers/status_controller_test.exs26
3 files changed, 46 insertions, 20 deletions
diff --git a/config/description.exs b/config/description.exs
index 4b727d673..efea7c137 100644
--- a/config/description.exs
+++ b/config/description.exs
@@ -637,22 +637,24 @@ config :pleroma, :config_description, [
%{
key: :registrations_open,
type: :boolean,
- description: "Enable registrations for anyone, invitations can be enabled when `false`"
+ description:
+ "Enable registrations for anyone. Invitations require this setting to be disabled."
},
%{
key: :invites_enabled,
type: :boolean,
- description: "Enable user invitations for admins (depends on `registrations_open: false`)"
+ description:
+ "Enable user invitations for admins (depends on `registrations_open` being disabled)."
},
%{
key: :account_activation_required,
type: :boolean,
- description: "Require users to confirm their emails before signing in"
+ description: "Require users to confirm their emails before signing in."
},
%{
key: :federating,
type: :boolean,
- description: "Enable federation with other instances"
+ description: "Enable federation with other instances."
},
%{
key: :federation_incoming_replies_max_depth,
@@ -761,14 +763,14 @@ config :pleroma, :config_description, [
key: :extended_nickname_format,
type: :boolean,
description:
- "Set to `true` to use extended local nicknames format (allows underscores/dashes)." <>
+ "Enable to use extended local nicknames format (allows underscores/dashes)." <>
" This will break federation with older software for theses nicknames."
},
%{
key: :cleanup_attachments,
type: :boolean,
description: """
- "Set to `true` to remove associated attachments when status is removed.
+ "Enable to remove associated attachments when status is removed.
This will not affect duplicates and attachments without status.
Enabling this will increase load to database when deleting statuses on larger instances.
"""
@@ -829,14 +831,14 @@ config :pleroma, :config_description, [
key: :safe_dm_mentions,
type: :boolean,
description:
- "If set to `true`, only mentions at the beginning of a post will be used to address people in direct messages." <>
+ "If enabled, 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. \"@admin please keep an eye on @bad_actor\")." <>
- " Default: `false`"
+ " Default: disabled"
},
%{
key: :healthcheck,
type: :boolean,
- description: "If set to `true`, system data will be shown on /api/pleroma/healthcheck"
+ description: "If enabled, system data will be shown on /api/pleroma/healthcheck"
},
%{
key: :remote_post_retention_days,
@@ -866,7 +868,7 @@ config :pleroma, :config_description, [
%{
key: :skip_thread_containment,
type: :boolean,
- description: "Skip filter out broken threads. Default: `true`"
+ description: "Skip filtering out broken threads. Default: enabled"
},
%{
key: :limit_to_local_content,
@@ -1158,17 +1160,15 @@ config :pleroma, :config_description, [
key: :alwaysShowSubjectInput,
label: "Always show subject input",
type: :boolean,
- description: "When set to `false`, auto-hide the subject field when it's empty"
+ description: "When disabled, auto-hide the subject field if it's empty"
},
%{
key: :logoMask,
label: "Logo mask",
type: :boolean,
description:
- "By default it assumes logo used will be monochrome-with-alpha one, this is done to be compatible with both light and dark themes, " <>
- "so that white logo designed with dark theme in mind won't be invisible over light theme, this is done via CSS3 Masking. " <>
- "Basically - it will take alpha channel of the image and fill non-transparent areas of it with solid color. " <>
- "If you really want colorful logo - it can be done by setting logoMask to false."
+ "By default it assumes logo used will be monochrome with alpha channel to be compatible with both light and dark themes. " <>
+ "If you want a colorful logo you must disable logoMask."
},
%{
key: :logoMargin,
@@ -1182,13 +1182,13 @@ config :pleroma, :config_description, [
%{
key: :stickers,
type: :boolean,
- description: "Enables/disables stickers."
+ description: "Enables stickers."
},
%{
key: :enableEmojiPicker,
label: "Emoji picker",
type: :boolean,
- description: "Enables/disables emoji picker."
+ description: "Enables emoji picker."
}
]
},
@@ -2085,7 +2085,7 @@ config :pleroma, :config_description, [
key: :unfurl_nsfw,
label: "Unfurl NSFW",
type: :boolean,
- description: "If set to `true` NSFW attachments will be shown in previews"
+ description: "When enabled NSFW attachments will be shown in previews"
}
]
},
@@ -2357,7 +2357,7 @@ config :pleroma, :config_description, [
type: :boolean,
description:
"OAuth admin scope requirement toggle. " <>
- "If `true`, admin actions explicitly demand admin OAuth scope(s) presence in OAuth token " <>
+ "If enabled, admin actions explicitly demand admin OAuth scope(s) presence in OAuth token " <>
"(client app must support admin scopes). If `false` and token doesn't have admin scope(s)," <>
"`is_admin` user flag grants access to admin-specific actions."
},
diff --git a/lib/pleroma/activity_expiration.ex b/lib/pleroma/activity_expiration.ex
index 7ea5c48ca..a58a493f7 100644
--- a/lib/pleroma/activity_expiration.ex
+++ b/lib/pleroma/activity_expiration.ex
@@ -62,6 +62,6 @@ defmodule Pleroma.ActivityExpiration do
def expires_late_enough?(scheduled_at) do
now = NaiveDateTime.utc_now()
diff = NaiveDateTime.diff(scheduled_at, now, :millisecond)
- diff >= @min_activity_lifetime
+ diff > @min_activity_lifetime
end
end
diff --git a/test/web/mastodon_api/controllers/status_controller_test.exs b/test/web/mastodon_api/controllers/status_controller_test.exs
index 83138d7ef..810f371cb 100644
--- a/test/web/mastodon_api/controllers/status_controller_test.exs
+++ b/test/web/mastodon_api/controllers/status_controller_test.exs
@@ -121,6 +121,32 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
NaiveDateTime.to_iso8601(expiration.scheduled_at)
end
+ test "it fails to create a status if `expires_in` is less or equal than an hour", %{
+ conn: conn
+ } do
+ # 1 hour
+ expires_in = 60 * 60
+
+ assert %{"error" => "Expiry date is too soon"} =
+ conn
+ |> post("api/v1/statuses", %{
+ "status" => "oolong",
+ "expires_in" => expires_in
+ })
+ |> json_response(422)
+
+ # 30 minutes
+ expires_in = 30 * 60
+
+ assert %{"error" => "Expiry date is too soon"} =
+ conn
+ |> post("api/v1/statuses", %{
+ "status" => "oolong",
+ "expires_in" => expires_in
+ })
+ |> json_response(422)
+ end
+
test "posting an undefined status with an attachment", %{user: user, conn: conn} do
file = %Plug.Upload{
content_type: "image/jpg",