Pārlūkot izejas kodu

configurable lifetime for ephemeral activities

merge-requests/3010/head
Alexander Strizhakov rinpatch pirms 3 gadiem
vecāks
revīzija
2c2094d4b2
5 mainītis faili ar 26 papildinājumiem un 6 dzēšanām
  1. +1
    -1
      config/config.exs
  2. +6
    -0
      config/description.exs
  3. +13
    -0
      docs/configuration/cheatsheet.md
  4. +2
    -1
      lib/pleroma/workers/purge_expired_activity.ex
  5. +4
    -4
      test/web/mastodon_api/controllers/status_controller_test.exs

+ 1
- 1
config/config.exs Parādīt failu

@@ -654,7 +654,7 @@ config :pleroma, :rate_limit,
account_confirmation_resend: {8_640_000, 5},
ap_routes: {60_000, 15}

config :pleroma, Pleroma.Workers.PurgeExpiredActivity, enabled: true
config :pleroma, Pleroma.Workers.PurgeExpiredActivity, enabled: true, min_lifetime: 600

config :pleroma, Pleroma.Plugs.RemoteIp, enabled: true



+ 6
- 0
config/description.exs Parādīt failu

@@ -2480,6 +2480,12 @@ config :pleroma, :config_description, [
key: :enabled,
type: :boolean,
description: "Enables expired activities addition & deletion"
},
%{
key: :min_lifetime,
type: :integer,
description: "Minimum lifetime for ephemeral activity (in seconds)",
suggestions: [600]
}
]
},


+ 13
- 0
docs/configuration/cheatsheet.md Parādīt failu

@@ -1091,3 +1091,16 @@ config :pleroma, :frontends,
```

This would serve the frontend from the the folder at `$instance_static/frontends/pleroma/stable`. You have to copy the frontend into this folder yourself. You can choose the name and ref any way you like, but they will be used by mix tasks to automate installation in the future, the name referring to the project and the ref referring to a commit.

## Ephemeral activities

Settings to enable and configure expiration for ephemeral activities

* `:enabled` - enables ephemeral activities creation
* `:min_lifetime` - minimum lifetime for ephemeral activities (in seconds). Default: 10 minutes.

Example:

```elixir
config :pleroma, Pleroma.Workers.PurgeExpiredActivity, enabled: true, min_lifetime: 600
```

+ 2
- 1
lib/pleroma/workers/purge_expired_activity.ex Parādīt failu

@@ -77,6 +77,7 @@ defmodule Pleroma.Workers.PurgeExpiredActivity do
def expires_late_enough?(scheduled_at) do
now = DateTime.utc_now()
diff = DateTime.diff(scheduled_at, now, :millisecond)
diff > :timer.hours(1)
min_lifetime = Pleroma.Config.get([__MODULE__, :min_lifetime], 600)
diff > :timer.seconds(min_lifetime)
end
end

+ 4
- 4
test/web/mastodon_api/controllers/status_controller_test.exs Parādīt failu

@@ -129,8 +129,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
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
# 1 minute
expires_in = 1 * 60

assert %{"error" => "Expiry date is too soon"} =
conn
@@ -141,8 +141,8 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
})
|> json_response_and_validate_schema(422)

# 30 minutes
expires_in = 30 * 60
# 5 minutes
expires_in = 5 * 60

assert %{"error" => "Expiry date is too soon"} =
conn


Notiek ielāde…
Atcelt
Saglabāt