diff options
3 files changed, 10 insertions, 19 deletions
| diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 1078c4e87..ce3bf3af7 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -619,24 +619,6 @@ config :pleroma, :workers,  * `enabled: false` corresponds to `config :pleroma, :workers, retries: [federator_outgoing: 1]`  * deprecated options: `max_jobs`, `initial_timeout` -### Pleroma.Scheduler - -Configuration for [Quantum](https://github.com/quantum-elixir/quantum-core) jobs scheduler. - -See [Quantum readme](https://github.com/quantum-elixir/quantum-core#usage) for the list of supported options. - -Example: - -```elixir -config :pleroma, Pleroma.Scheduler, -  global: true, -  overlap: true, -  timezone: :utc, -  jobs: [{"0 */6 * * * *", {Pleroma.Web.Websub, :refresh_subscriptions, []}}] -``` - -The above example defines a single job which invokes `Pleroma.Web.Websub.refresh_subscriptions()` every 6 hours ("0 */6 * * * *", [crontab format](https://en.wikipedia.org/wiki/Cron)). -  ## :web_push_encryption, :vapid_details  Web Push Notifications configuration. You can use the mix task `mix web_push.gen.keypair` to generate it. diff --git a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex index ef41f9e96..75512442d 100644 --- a/lib/pleroma/web/mastodon_api/controllers/account_controller.ex +++ b/lib/pleroma/web/mastodon_api/controllers/account_controller.ex @@ -177,6 +177,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountController do        )        |> add_if_present(params, :pleroma_settings_store, :pleroma_settings_store)        |> add_if_present(params, :default_scope, :default_scope) +      |> add_if_present(params["source"], "privacy", :default_scope)        |> add_if_present(params, :actor_type, :actor_type)      changeset = User.update_changeset(user, user_params) @@ -189,7 +190,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountController do    end    defp add_if_present(map, params, params_field, map_field, value_function \\ &{:ok, &1}) do -    with true <- Map.has_key?(params, params_field), +    with true <- is_map(params), +         true <- Map.has_key?(params, params_field),           {:ok, new_value} <- value_function.(Map.get(params, params_field)) do        Map.put(map, map_field, new_value)      else diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs index fdb6d4c5d..696228203 100644 --- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs +++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs @@ -112,6 +112,13 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController.UpdateCredentialsTest do        assert user_data["source"]["privacy"] == "unlisted"      end +    test "updates the user's privacy", %{conn: conn} do +      conn = patch(conn, "/api/v1/accounts/update_credentials", %{source: %{privacy: "unlisted"}}) + +      assert user_data = json_response_and_validate_schema(conn, 200) +      assert user_data["source"]["privacy"] == "unlisted" +    end +      test "updates the user's hide_followers status", %{conn: conn} do        conn = patch(conn, "/api/v1/accounts/update_credentials", %{hide_followers: "true"}) | 
