Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into develop
authorsadposter <hannah+pleroma@coffee-and-dreams.uk>
Sat, 1 Aug 2020 18:32:31 +0000 (19:32 +0100)
committersadposter <hannah+pleroma@coffee-and-dreams.uk>
Sat, 1 Aug 2020 18:32:31 +0000 (19:32 +0100)
1  2 
.gitignore
config/config.exs
lib/mix/tasks/pleroma/user.ex

diff --combined .gitignore
index c108ad2625f20e34dac00c3364efd8ad35049b17,6ae21e9144f410f289fc0734b714bfcbd7226aac..b62891f264fe4bdcfeea2c94addd2d4a4038648f
@@@ -1,11 -1,11 +1,12 @@@
  # App artifacts
 +secret
  /_build
  /db
  /deps
  /*.ez
  /test/uploads
  /.elixir_ls
+ /test/fixtures/DSCN0010_tmp.jpg
  /test/fixtures/test_tmp.txt
  /test/fixtures/image_tmp.jpg
  /test/tmp/
@@@ -27,6 -27,8 +28,8 @@@ erl_crash.dum
  # variables.
  /config/*.secret.exs
  /config/generated_config.exs
+ /config/*.env
  
  # Database setup file, some may forget to delete it
  /config/setup_db.psql
diff --combined config/config.exs
index acbb7639a6bfca7bd48b08cd08904bcb3eef89f6,d31208c255f10f8fbd41c10ce1f50d0f727303aa..8cf7f169edcdea93b9af454f7d00d54db5391eb2
@@@ -205,6 -205,7 +205,7 @@@ config :pleroma, :instance
    registrations_open: true,
    invites_enabled: false,
    account_activation_required: false,
+   account_approval_required: false,
    federating: true,
    federation_incoming_replies_max_depth: 100,
    federation_reachability_timeout_days: 7,
      "text/markdown",
      "text/bbcode"
    ],
 +  mrf_transparency: true,
 +  mrf_transparency_exclusions: [],
 +  staff_transparency: [],
    autofollowed_nicknames: [],
    max_pinned_statuses: 1,
    attachment_links: false,
-   welcome_user_nickname: nil,
-   welcome_message: nil,
    max_report_comment_size: 1000,
    safe_dm_mentions: false,
    healthcheck: false,
    max_remote_account_fields: 20,
    account_field_name_length: 512,
    account_field_value_length: 2048,
+   registration_reason_length: 500,
    external_user_synchronization: true,
    extended_nickname_format: true,
    cleanup_attachments: false,
        number: 5,
        length: 16
      ]
+   ],
+   show_reactions: true
+ config :pleroma, :welcome,
+   direct_message: [
+     enabled: false,
+     sender_nickname: nil,
+     message: nil
+   ],
+   email: [
+     enabled: false,
+     sender: nil,
+     subject: "Welcome to <%= instance_name %>",
+     html: "Welcome to <%= instance_name %>",
+     text: "Welcome to <%= instance_name %>"
    ]
  
  config :pleroma, :feed,
@@@ -501,8 -513,7 +516,7 @@@ config :pleroma, Pleroma.User
  
  config :pleroma, Oban,
    repo: Pleroma.Repo,
-   verbose: false,
-   prune: {:maxlen, 1500},
+   log: false,
    queues: [
      activity_expiration: 10,
      federator_incoming: 50,
      attachments_cleanup: 5,
      new_users_digest: 1
    ],
+   plugins: [Oban.Plugins.Pruner],
    crontab: [
      {"0 0 * * *", Pleroma.Workers.Cron.ClearOauthTokenWorker},
      {"0 * * * *", Pleroma.Workers.Cron.StatsWorker},
@@@ -530,16 -542,14 +545,14 @@@ config :pleroma, :workers
      federator_outgoing: 5
    ]
  
- config :auto_linker,
-   opts: [
-     extra: true,
-     # TODO: Set to :no_scheme when it works properly
-     validate_tld: true,
-     class: false,
-     strip_prefix: false,
-     new_window: false,
-     rel: "ugc"
-   ]
+ config :pleroma, Pleroma.Formatter,
+   class: false,
+   rel: "ugc",
+   new_window: false,
+   truncate: false,
+   strip_prefix: false,
+   extra: true,
+   validate_tld: :no_scheme
  
  config :pleroma, :ldap,
    enabled: System.get_env("LDAP_ENABLED") == "true",
@@@ -638,6 -648,16 +651,16 @@@ config :pleroma, Pleroma.Plugs.RemoteIp
  
  config :pleroma, :static_fe, enabled: false
  
+ # Example of frontend configuration
+ # This example will make us serve the primary frontend from the
+ # frontends directory within your `:pleroma, :instance, static_dir`.
+ # e.g., instance/static/frontends/pleroma/develop/
+ #
+ # With no frontend configuration, the bundled files from the `static` directory will
+ # be used.
+ #
+ # config :pleroma, :frontends, primary: %{"name" => "pleroma", "ref" => "develop"}
  config :pleroma, :web_cache_ttl,
    activity_pub: nil,
    activity_pub_question: 30_000
@@@ -651,32 -671,30 +674,30 @@@ config :pleroma, Pleroma.Repo
    prepare: :unnamed
  
  config :pleroma, :connections_pool,
-   checkin_timeout: 250,
+   reclaim_multiplier: 0.1,
+   connection_acquisition_wait: 250,
+   connection_acquisition_retries: 5,
    max_connections: 250,
-   retry: 1,
-   retry_timeout: 1000,
+   max_idle_time: 30_000,
+   retry0,
    await_up_timeout: 5_000
  
  config :pleroma, :pools,
    federation: [
      size: 50,
-     max_overflow: 10,
-     timeout: 150_000
+     max_waiting: 10
    ],
    media: [
      size: 50,
-     max_overflow: 10,
-     timeout: 150_000
+     max_waiting: 10
    ],
    upload: [
      size: 25,
-     max_overflow: 5,
-     timeout: 300_000
+     max_waiting: 5
    ],
    default: [
      size: 10,
-     max_overflow: 2,
-     timeout: 10_000
+     max_waiting: 2
    ]
  
  config :pleroma, :hackney_pools,
index b8d65b03eb52e762956d42da1052fe0a658af090,01824aa18b0f45dda65716d6189856f3394f63c1..ba44c045a33907565ebe56897baabd8495f36e8f
@@@ -232,7 -232,7 +232,7 @@@ defmodule Mix.Tasks.Pleroma.User d
      with %User{} = user <- User.get_cached_by_nickname(nickname) do
        user = user |> User.tag(tags)
  
-       shell_info("Tags of #{user.nickname}: #{inspect(tags)}")
+       shell_info("Tags of #{user.nickname}: #{inspect(user.tags)}")
      else
        _ ->
          shell_error("Could not change user tags for #{nickname}")
      with %User{} = user <- User.get_cached_by_nickname(nickname) do
        user = user |> User.untag(tags)
  
-       shell_info("Tags of #{user.nickname}: #{inspect(tags)}")
+       shell_info("Tags of #{user.nickname}: #{inspect(user.tags)}")
      else
        _ ->
          shell_error("Could not change user tags for #{nickname}")
      end
    end
  
 +  def run(["change_email", nickname, email]) do
 +    start_pleroma()
 +
 +    with %User{} = user <- User.get_cached_by_nickname(nickname) do
 +      user
 +      |> User.update_changeset(%{"email" => email})
 +      |> User.update_and_set_cache()
 +
 +      shell_info("#{nickname}'s email updated")
 +    end
 +  end
 +
 +  def run(["show", nickname]) do
 +    start_pleroma()
 +
 +    nickname
 +    |> User.get_cached_by_nickname()
 +    |> IO.inspect()
 +  end
 +
 +  def run(["send_confirmation", nickname]) do
 +    start_pleroma()
 +
 +    with %User{} = user <- User.get_cached_by_nickname(nickname) do
 +      user
 +      |> Pleroma.Emails.UserEmail.account_confirmation_email()
 +      |> IO.inspect()
 +      |> Pleroma.Emails.Mailer.deliver!()
 +
 +      shell_info("#{nickname}'s email sent")
 +    end
 +  end
 +
    def run(["toggle_confirmed", nickname]) do
      start_pleroma()