Merge branch 'develop' into feature/compat/push-subscriptions
authorEgor Kislitsyn <egor@kislitsyn.com>
Thu, 6 Dec 2018 12:55:58 +0000 (19:55 +0700)
committerEgor Kislitsyn <egor@kislitsyn.com>
Thu, 6 Dec 2018 12:55:58 +0000 (19:55 +0700)
# Conflicts:
# lib/mix/tasks/sample_config.eex
# lib/pleroma/web/twitter_api/controllers/util_controller.ex
# mix.exs
# mix.lock

1  2 
lib/mix/tasks/generate_config.ex
lib/mix/tasks/sample_config.eex
lib/pleroma/application.ex
lib/pleroma/notification.ex
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
lib/pleroma/web/router.ex
lib/pleroma/web/twitter_api/controllers/util_controller.ex
mix.exs
mix.lock

Simple merge
index f2272b10a76214022c18d1d035d8a80fc60178eb,462c3463645c98a247d5a6ec3d0d1783150cd09d..47b6be729f16c4a99789bba85d7cd36c80edf30f
@@@ -25,12 -25,10 +25,16 @@@ config :pleroma, Pleroma.Repo
    hostname: "localhost",
    pool_size: 10
  
 +# Configure web push notifications
 +config :web_push_encryption, :vapid_details,
 +  subject: "mailto:<%= email %>",
 +  public_key: "<%= web_push_public_key %>",
 +  private_key: "<%= web_push_private_key %>"
 +
+ # Enable Strict-Transport-Security once SSL is working:
+ # config :pleroma, :http_security,
+ #   sts: true
  # Configure S3 support if desired.
  # The public S3 endpoint is different depending on region and provider,
  # consult your S3 provider's documentation for details on what to use.
@@@ -52,9 -50,9 +56,9 @@@
  
  
  # Configure Openstack Swift support if desired.
--# 
--# Many openstack deployments are different, so config is left very open with 
--# no assumptions made on which provider you're using. This should allow very 
++#
++# Many openstack deployments are different, so config is left very open with
++# no assumptions made on which provider you're using. This should allow very
  # wide support without needing separate handlers for OVH, Rackspace, etc.
  #
  # config :pleroma, Pleroma.Uploaders.Swift,
index 565e938fd521b5a6674dfa4822c4089f0afd3f1d,2d86efae51d6e073c3b4451c00dd6e3bf2ec9889..d0f23527fb44bdf8824c589d34676f666152bcad
@@@ -40,11 -64,11 +64,12 @@@ defmodule Pleroma.Application d
            id: :cachex_idem
          ),
          worker(Pleroma.Web.Federator, []),
+         worker(Pleroma.Web.Federator.RetryQueue, []),
          worker(Pleroma.Gopher.Server, []),
 -        worker(Pleroma.Stats, [])
 +        worker(Pleroma.Stats, []),
 +        worker(Pleroma.Web.Push, [])
        ] ++
-         if Mix.env() == :test,
+         if @env == :test,
            do: [],
            else:
              [worker(Pleroma.Web.Streamer, [])] ++
Simple merge
Simple merge
index f06020a3e02afd1460b6aeed30440cf78a109754,b0ed8387e904c5e2083cac6accd3af4c60e6d089..09277901063161df6299720a7efbc4642be719fb
@@@ -156,17 -157,13 +157,17 @@@ defmodule Pleroma.Web.TwitterAPI.UtilCo
          |> send_resp(200, response)
  
        _ ->
 +        vapid_public_key =
 +          Keyword.get(Application.get_env(:web_push_encryption, :vapid_details), :public_key)
 +
          data = %{
-           name: Keyword.get(@instance, :name),
-           description: Keyword.get(@instance, :description),
+           name: Keyword.get(instance, :name),
+           description: Keyword.get(instance, :description),
            server: Web.base_url(),
-           textlimit: to_string(Keyword.get(@instance, :limit)),
-           closed: if(Keyword.get(@instance, :registrations_open), do: "0", else: "1"),
-           private: if(Keyword.get(@instance, :public, true), do: "0", else: "1"),
+           textlimit: to_string(Keyword.get(instance, :limit)),
+           closed: if(Keyword.get(instance, :registrations_open), do: "0", else: "1"),
 -          private: if(Keyword.get(instance, :public, true), do: "0", else: "1")
++          private: if(Keyword.get(instance, :public, true), do: "0", else: "1"),
 +          vapidPublicKey: vapid_public_key
          }
  
          pleroma_fe = %{
diff --cc mix.exs
index 2f2f1398ce8a1cce37b3bd40db9d56b47a36e120,9ffcf5928771a59f609b210592acae7f98015aef..d0a00810871f9d205f6ef37591d36441426bf32c
+++ b/mix.exs
@@@ -53,7 -66,8 +66,9 @@@ defmodule Pleroma.Mixfile d
        {:mock, "~> 0.3.1", only: :test},
        {:crypt,
         git: "https://github.com/msantos/crypt", ref: "1f2b58927ab57e72910191a7ebaeff984382a1d3"},
 -      {:ex_doc, "> 0.18.3 and < 0.20.0", only: :dev, runtime: false}
+       {:cors_plug, "~> 1.5"},
++      {:ex_doc, "> 0.18.3 and < 0.20.0", only: :dev, runtime: false},
 +      {:web_push_encryption, "~> 0.2.1"}
      ]
    end
  
diff --cc mix.lock
index 4bc5d1bb2c226c6d89399d33341de7c7a573e700,c0fa892a5587440a505421702161e25d316fba25..e171117386a3eff106a1424421502faf6e2eac7a
+++ b/mix.lock
@@@ -16,6 -17,6 +18,7 @@@
    "eternal": {:hex, :eternal, "1.2.0", "e2a6b6ce3b8c248f7dc31451aefca57e3bdf0e48d73ae5043229380a67614c41", [:mix], [], "hexpm"},
    "ex_aws": {:hex, :ex_aws, "2.1.0", "b92651527d6c09c479f9013caa9c7331f19cba38a650590d82ebf2c6c16a1d8a", [:mix], [{:configparser_ex, "~> 2.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "1.6.3 or 1.6.5 or 1.7.1 or 1.8.6 or ~> 1.9", [hex: :hackney, repo: "hexpm", optional: true]}, {:jsx, "~> 2.8", [hex: :jsx, repo: "hexpm", optional: true]}, {:poison, ">= 1.2.0", [hex: :poison, repo: "hexpm", optional: true]}, {:sweet_xml, "~> 0.6", [hex: :sweet_xml, repo: "hexpm", optional: true]}, {:xml_builder, "~> 0.1.0", [hex: :xml_builder, repo: "hexpm", optional: true]}], "hexpm"},
    "ex_aws_s3": {:hex, :ex_aws_s3, "2.0.1", "9e09366e77f25d3d88c5393824e613344631be8db0d1839faca49686e99b6704", [:mix], [{:ex_aws, "~> 2.0", [hex: :ex_aws, repo: "hexpm", optional: false]}, {:sweet_xml, ">= 0.0.0", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm"},
++  "ex_doc": {:hex, :ex_doc, "0.19.1", "519bb9c19526ca51d326c060cb1778d4a9056b190086a8c6c115828eaccea6cf", [:mix], [{:earmark, "~> 1.1", [hex: :earmark, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.7", [hex: :makeup_elixir, repo: "hexpm", optional: false]}], "hexpm"},
    "ex_machina": {:hex, :ex_machina, "2.2.0", "fec496331e04fc2db2a1a24fe317c12c0c4a50d2beb8ebb3531ed1f0d84be0ed", [:mix], [{:ecto, "~> 2.1", [hex: :ecto, repo: "hexpm", optional: true]}], "hexpm"},
    "gettext": {:hex, :gettext, "0.15.0", "40a2b8ce33a80ced7727e36768499fc9286881c43ebafccae6bab731e2b2b8ce", [:mix], [], "hexpm"},
    "hackney": {:hex, :hackney, "1.13.0", "24edc8cd2b28e1c652593833862435c80661834f6c9344e84b6a2255e7aeef03", [:rebar3], [{:certifi, "2.3.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "5.1.2", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"},
@@@ -23,7 -24,7 +26,9 @@@
    "httpoison": {:hex, :httpoison, "1.2.0", "2702ed3da5fd7a8130fc34b11965c8cfa21ade2f232c00b42d96d4967c39a3a3", [:mix], [{:hackney, "~> 1.8", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"},
    "idna": {:hex, :idna, "5.1.2", "e21cb58a09f0228a9e0b95eaa1217f1bcfc31a1aaa6e1fdf2f53a33f7dbd9494", [:rebar3], [{:unicode_util_compat, "0.3.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"},
    "jason": {:hex, :jason, "1.0.0", "0f7cfa9bdb23fed721ec05419bcee2b2c21a77e926bce0deda029b5adc716fe2", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"},
 +  "jose": {:hex, :jose, "1.8.4", "7946d1e5c03a76ac9ef42a6e6a20001d35987afd68c2107bcd8f01a84e75aa73", [:mix, :rebar3], [{:base64url, "~> 0.0.1", [hex: :base64url, repo: "hexpm", optional: false]}], "hexpm"},
+   "makeup": {:hex, :makeup, "0.5.5", "9e08dfc45280c5684d771ad58159f718a7b5788596099bdfb0284597d368a882", [:mix], [{:nimble_parsec, "~> 0.4", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm"},
++  "makeup_elixir": {:hex, :makeup_elixir, "0.10.0", "0f09c2ddf352887a956d84f8f7e702111122ca32fbbc84c2f0569b8b65cbf7fa", [:mix], [{:makeup, "~> 0.5.5", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm"},
    "meck": {:hex, :meck, "0.8.9", "64c5c0bd8bcca3a180b44196265c8ed7594e16bcc845d0698ec6b4e577f48188", [:rebar3], [], "hexpm"},
    "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm"},
    "mime": {:hex, :mime, "1.3.0", "5e8d45a39e95c650900d03f897fbf99ae04f60ab1daa4a34c7a20a5151b7a5fe", [:mix], [], "hexpm"},