From 84b8c8f314d2985c6a0f9ff2e00e033a97d3da02 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2020 17:22:53 +0000 Subject: [PATCH 01/19] Bump jason from 1.1.2 to 1.2.0 Bumps [jason](https://github.com/michalmuskala/jason) from 1.1.2 to 1.2.0. - [Release notes](https://github.com/michalmuskala/jason/releases) - [Changelog](https://github.com/michalmuskala/jason/blob/master/CHANGELOG.md) - [Commits](https://github.com/michalmuskala/jason/compare/v1.1.2...v1.2.0) Signed-off-by: dependabot-preview[bot] --- mix.lock | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/mix.lock b/mix.lock index 33787d8..fb69c9a 100644 --- a/mix.lock +++ b/mix.lock @@ -1,30 +1,30 @@ %{ - "certifi": {:hex, :certifi, "2.5.1", "867ce347f7c7d78563450a18a6a28a8090331e77fa02380b4a21962a65d36ee5", [:rebar3], [{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm"}, + "certifi": {:hex, :certifi, "2.5.1", "867ce347f7c7d78563450a18a6a28a8090331e77fa02380b4a21962a65d36ee5", [:rebar3], [{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm", "805abd97539caf89ec6d4732c91e62ba9da0cda51ac462380bbd28ee697a8c42"}, "conform": {:hex, :conform, "2.5.2", "7035787a9c09d28607745444e7a1700426dc47c452634a5694033fa2fbb3414c", [:mix], [{:neotoma, "~> 1.7.3", [hex: :neotoma, repo: "hexpm", optional: false]}], "hexpm"}, - "cowboy": {:hex, :cowboy, "2.7.0", "91ed100138a764355f43316b1d23d7ff6bdb0de4ea618cb5d8677c93a7a2f115", [:rebar3], [{:cowlib, "~> 2.8.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm"}, - "cowlib": {:hex, :cowlib, "2.8.0", "fd0ff1787db84ac415b8211573e9a30a3ebe71b5cbff7f720089972b2319c8a4", [:rebar3], [], "hexpm"}, - "dialyxir": {:hex, :dialyxir, "0.5.1", "b331b091720fd93e878137add264bac4f644e1ddae07a70bf7062c7862c4b952", [:mix], [], "hexpm"}, + "cowboy": {:hex, :cowboy, "2.7.0", "91ed100138a764355f43316b1d23d7ff6bdb0de4ea618cb5d8677c93a7a2f115", [:rebar3], [{:cowlib, "~> 2.8.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "04fd8c6a39edc6aaa9c26123009200fc61f92a3a94f3178c527b70b767c6e605"}, + "cowlib": {:hex, :cowlib, "2.8.0", "fd0ff1787db84ac415b8211573e9a30a3ebe71b5cbff7f720089972b2319c8a4", [:rebar3], [], "hexpm", "79f954a7021b302186a950a32869dbc185523d99d3e44ce430cd1f3289f41ed4"}, + "dialyxir": {:hex, :dialyxir, "0.5.1", "b331b091720fd93e878137add264bac4f644e1ddae07a70bf7062c7862c4b952", [:mix], [], "hexpm", "6c32a70ed5d452c6650916555b1f96c79af5fc4bf286997f8b15f213de786f73"}, "distillery": {:hex, :distillery, "1.5.2", "eec18b2d37b55b0bcb670cf2bcf64228ed38ce8b046bb30a9b636a6f5a4c0080", [:mix], [], "hexpm"}, - "ex2ms": {:hex, :ex2ms, "1.6.0", "f39bbd9ff1b0f27b3f707bab2d167066dd8965e7df1149b962d94c74615d0e09", [:mix], [], "hexpm"}, + "ex2ms": {:hex, :ex2ms, "1.6.0", "f39bbd9ff1b0f27b3f707bab2d167066dd8965e7df1149b962d94c74615d0e09", [:mix], [], "hexpm", "0d1ab5e08421af5cd69146efb408dbb1ff77f38a2f4df5f086f2512dc8cf65bf"}, "exjsx": {:hex, :exjsx, "3.2.1", "1bc5bf1e4fd249104178f0885030bcd75a4526f4d2a1e976f4b428d347614f0f", [:mix], [{:jsx, "~> 2.8.0", [hex: :jsx, repo: "hexpm", optional: false]}], "hexpm"}, - "gproc": {:hex, :gproc, "0.8.0", "cea02c578589c61e5341fce149ea36ccef236cc2ecac8691fba408e7ea77ec2f", [:rebar3], [], "hexpm"}, - "hackney": {:hex, :hackney, "1.15.2", "07e33c794f8f8964ee86cebec1a8ed88db5070e52e904b8f12209773c1036085", [:rebar3], [{:certifi, "2.5.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.5", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm"}, - "httpoison": {:hex, :httpoison, "1.6.2", "ace7c8d3a361cebccbed19c283c349b3d26991eff73a1eaaa8abae2e3c8089b6", [:mix], [{:hackney, "~> 1.15 and >= 1.15.2", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm"}, - "idna": {:hex, :idna, "6.0.0", "689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], [{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm"}, - "jason": {:hex, :jason, "1.1.2", "b03dedea67a99223a2eaf9f1264ce37154564de899fd3d8b9a21b1a6fd64afe7", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm"}, + "gproc": {:hex, :gproc, "0.8.0", "cea02c578589c61e5341fce149ea36ccef236cc2ecac8691fba408e7ea77ec2f", [:rebar3], [], "hexpm", "580adafa56463b75263ef5a5df4c86af321f68694e7786cb057fd805d1e2a7de"}, + "hackney": {:hex, :hackney, "1.15.2", "07e33c794f8f8964ee86cebec1a8ed88db5070e52e904b8f12209773c1036085", [:rebar3], [{:certifi, "2.5.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.5", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "e0100f8ef7d1124222c11ad362c857d3df7cb5f4204054f9f0f4a728666591fc"}, + "httpoison": {:hex, :httpoison, "1.6.2", "ace7c8d3a361cebccbed19c283c349b3d26991eff73a1eaaa8abae2e3c8089b6", [:mix], [{:hackney, "~> 1.15 and >= 1.15.2", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "aa2c74bd271af34239a3948779612f87df2422c2fdcfdbcec28d9c105f0773fe"}, + "idna": {:hex, :idna, "6.0.0", "689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], [{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "4bdd305eb64e18b0273864920695cb18d7a2021f31a11b9c5fbcd9a253f936e2"}, + "jason": {:hex, :jason, "1.2.0", "10043418c42d2493d0ee212d3fddd25d7ffe484380afad769a0a38795938e448", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "116747dbe057794c3a3e4e143b7c8390b29f634e16c78a7f59ba75bfa6852e7f"}, "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm"}, - "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [], [], "hexpm"}, - "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm"}, - "mimic": {:hex, :mimic, "1.1.3", "3bad83d5271b4faa7bbfef587417a6605cbbc802a353395d446a1e5f46fe7115", [:mix], [], "hexpm"}, + "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, + "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, + "mimic": {:hex, :mimic, "1.1.3", "3bad83d5271b4faa7bbfef587417a6605cbbc802a353395d446a1e5f46fe7115", [:mix], [], "hexpm", "0d93cb8fcd00a1013bae56050755879050bb9b8ef0c3d51b6fec5a2f1fc33d66"}, "neotoma": {:hex, :neotoma, "1.7.3", "d8bd5404b73273989946e4f4f6d529e5c2088f5fa1ca790b4dbe81f4be408e61", [:rebar], [], "hexpm"}, - "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm"}, + "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, - "pusher": {:hex, :pusher, "2.2.0", "45f709776e398699a5b05f8e7858aedd2119b25b367bb93da77d9e70d48e9950", [:mix], [{:httpoison, "~> 1.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:signaturex, "~> 1.3.0", [hex: :signaturex, repo: "hexpm", optional: false]}, {:websockex, "~> 0.4.0", [hex: :websockex, repo: "hexpm", optional: false]}], "hexpm"}, + "pusher": {:hex, :pusher, "2.2.0", "45f709776e398699a5b05f8e7858aedd2119b25b367bb93da77d9e70d48e9950", [:mix], [{:httpoison, "~> 1.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:signaturex, "~> 1.3.0", [hex: :signaturex, repo: "hexpm", optional: false]}, {:websockex, "~> 0.4.0", [hex: :websockex, repo: "hexpm", optional: false]}], "hexpm", "2f1d0b656672ce543a320fda3c6e88dff8614c6f6612a3f80766633a2d3dccb8"}, "pusher_client": {:git, "https://github.com/edgurgel/pusher_client.git", "2edb22a7b45b2fe962b12d6ee5460f7d722aadd7", []}, - "ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm"}, - "signaturex": {:hex, :signaturex, "1.3.0", "47b7431990f3b38540803de013cc809e8dad248dade0aad01ef2c5661c02c7a3", [:mix], [], "hexpm"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.5", "6eaf7ad16cb568bb01753dbbd7a95ff8b91c7979482b95f38443fe2c8852a79b", [:make, :mix, :rebar3], [], "hexpm"}, - "unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm"}, + "ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm", "451d8527787df716d99dc36162fca05934915db0b6141bbdac2ea8d3c7afc7d7"}, + "signaturex": {:hex, :signaturex, "1.3.0", "47b7431990f3b38540803de013cc809e8dad248dade0aad01ef2c5661c02c7a3", [:mix], [], "hexpm", "164e32356203ee5477d8b6602be1a562a9331f728a2c6aa2b6a790c0eea17413"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.5", "6eaf7ad16cb568bb01753dbbd7a95ff8b91c7979482b95f38443fe2c8852a79b", [:make, :mix, :rebar3], [], "hexpm", "13104d7897e38ed7f044c4de953a6c28597d1c952075eb2e328bc6d6f2bfc496"}, + "unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm", "1d1848c40487cdb0b30e8ed975e34e025860c02e419cb615d255849f3427439d"}, "websocket_client": {:hex, :websocket_client, "1.3.0", "2275d7daaa1cdacebf2068891c9844b15f4fdc3de3ec2602420c2fb486db59b6", [:rebar3], [], "hexpm"}, - "websockex": {:hex, :websockex, "0.4.2", "9a3b7dc25655517ecd3f8ff7109a77fce94956096b942836cdcfbc7c86603ecc", [:mix], [], "hexpm"}, + "websockex": {:hex, :websockex, "0.4.2", "9a3b7dc25655517ecd3f8ff7109a77fce94956096b942836cdcfbc7c86603ecc", [:mix], [], "hexpm", "803cd76e91544b56f0e655e36790be797fa6436db9224f7c303db9b9df2a3df4"}, } From 01a799f887c3875a4edd73a4a58cf0f049898ae9 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2020 20:13:00 +0000 Subject: [PATCH 02/19] Bump dialyxir from 0.5.1 to 1.0.0 Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 0.5.1 to 1.0.0. - [Release notes](https://github.com/jeremyjh/dialyxir/releases) - [Changelog](https://github.com/jeremyjh/dialyxir/blob/master/CHANGELOG.md) - [Commits](https://github.com/jeremyjh/dialyxir/compare/0.5.1...1.0.0) Signed-off-by: dependabot-preview[bot] --- mix.exs | 2 +- mix.lock | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mix.exs b/mix.exs index f4fa7bf..c72f8dd 100644 --- a/mix.exs +++ b/mix.exs @@ -31,7 +31,7 @@ defmodule Poxa.Mixfile do {:pusher, "~> 2.1", only: :test}, {:httpoison, "~> 1.0"}, {:ex2ms, "~> 1.5"}, - {:dialyxir, "~> 0.3", only: [:dev, :test]} + {:dialyxir, "~> 1.0", only: [:dev, :test]} ] end end diff --git a/mix.lock b/mix.lock index fb69c9a..2f6d530 100644 --- a/mix.lock +++ b/mix.lock @@ -3,8 +3,9 @@ "conform": {:hex, :conform, "2.5.2", "7035787a9c09d28607745444e7a1700426dc47c452634a5694033fa2fbb3414c", [:mix], [{:neotoma, "~> 1.7.3", [hex: :neotoma, repo: "hexpm", optional: false]}], "hexpm"}, "cowboy": {:hex, :cowboy, "2.7.0", "91ed100138a764355f43316b1d23d7ff6bdb0de4ea618cb5d8677c93a7a2f115", [:rebar3], [{:cowlib, "~> 2.8.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "04fd8c6a39edc6aaa9c26123009200fc61f92a3a94f3178c527b70b767c6e605"}, "cowlib": {:hex, :cowlib, "2.8.0", "fd0ff1787db84ac415b8211573e9a30a3ebe71b5cbff7f720089972b2319c8a4", [:rebar3], [], "hexpm", "79f954a7021b302186a950a32869dbc185523d99d3e44ce430cd1f3289f41ed4"}, - "dialyxir": {:hex, :dialyxir, "0.5.1", "b331b091720fd93e878137add264bac4f644e1ddae07a70bf7062c7862c4b952", [:mix], [], "hexpm", "6c32a70ed5d452c6650916555b1f96c79af5fc4bf286997f8b15f213de786f73"}, + "dialyxir": {:hex, :dialyxir, "1.0.0", "6a1fa629f7881a9f5aaf3a78f094b2a51a0357c843871b8bc98824e7342d00a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "aeb06588145fac14ca08d8061a142d52753dbc2cf7f0d00fc1013f53f8654654"}, "distillery": {:hex, :distillery, "1.5.2", "eec18b2d37b55b0bcb670cf2bcf64228ed38ce8b046bb30a9b636a6f5a4c0080", [:mix], [], "hexpm"}, + "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex2ms": {:hex, :ex2ms, "1.6.0", "f39bbd9ff1b0f27b3f707bab2d167066dd8965e7df1149b962d94c74615d0e09", [:mix], [], "hexpm", "0d1ab5e08421af5cd69146efb408dbb1ff77f38a2f4df5f086f2512dc8cf65bf"}, "exjsx": {:hex, :exjsx, "3.2.1", "1bc5bf1e4fd249104178f0885030bcd75a4526f4d2a1e976f4b428d347614f0f", [:mix], [{:jsx, "~> 2.8.0", [hex: :jsx, repo: "hexpm", optional: false]}], "hexpm"}, "gproc": {:hex, :gproc, "0.8.0", "cea02c578589c61e5341fce149ea36ccef236cc2ecac8691fba408e7ea77ec2f", [:rebar3], [], "hexpm", "580adafa56463b75263ef5a5df4c86af321f68694e7786cb057fd805d1e2a7de"}, From cfbbcdff95a256d15be9d42083e3302a3bad647e Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2020 20:13:04 +0000 Subject: [PATCH 03/19] Bump mimic from 1.1.3 to 1.2.0 Bumps [mimic](https://github.com/edgurgel/mimic) from 1.1.3 to 1.2.0. - [Release notes](https://github.com/edgurgel/mimic/releases) - [Commits](https://github.com/edgurgel/mimic/compare/v1.1.3...v1.2.0) Signed-off-by: dependabot-preview[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index fb69c9a..f8f6e7d 100644 --- a/mix.lock +++ b/mix.lock @@ -15,7 +15,7 @@ "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, - "mimic": {:hex, :mimic, "1.1.3", "3bad83d5271b4faa7bbfef587417a6605cbbc802a353395d446a1e5f46fe7115", [:mix], [], "hexpm", "0d93cb8fcd00a1013bae56050755879050bb9b8ef0c3d51b6fec5a2f1fc33d66"}, + "mimic": {:hex, :mimic, "1.2.0", "08f783232033bc69c1c1264e4a1cceb8de6f07caea9eab3440290437743a7593", [:mix], [], "hexpm", "fed5a64c49e544e60caa9b60af1f97eb40447ed9bd5857f992c2fffd3ac9a6de"}, "neotoma": {:hex, :neotoma, "1.7.3", "d8bd5404b73273989946e4f4f6d529e5c2088f5fa1ca790b4dbe81f4be408e61", [:rebar], [], "hexpm"}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, From 657897776b86888c5af5b1209595a7a1c1ee4b17 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 11 May 2020 17:37:39 +0000 Subject: [PATCH 04/19] Bump jason from 1.2.0 to 1.2.1 Bumps [jason](https://github.com/michalmuskala/jason) from 1.2.0 to 1.2.1. - [Release notes](https://github.com/michalmuskala/jason/releases) - [Changelog](https://github.com/michalmuskala/jason/blob/master/CHANGELOG.md) - [Commits](https://github.com/michalmuskala/jason/compare/v1.2.0...v1.2.1) Signed-off-by: dependabot-preview[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 335eafb..802582e 100644 --- a/mix.lock +++ b/mix.lock @@ -12,7 +12,7 @@ "hackney": {:hex, :hackney, "1.15.2", "07e33c794f8f8964ee86cebec1a8ed88db5070e52e904b8f12209773c1036085", [:rebar3], [{:certifi, "2.5.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.5", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "e0100f8ef7d1124222c11ad362c857d3df7cb5f4204054f9f0f4a728666591fc"}, "httpoison": {:hex, :httpoison, "1.6.2", "ace7c8d3a361cebccbed19c283c349b3d26991eff73a1eaaa8abae2e3c8089b6", [:mix], [{:hackney, "~> 1.15 and >= 1.15.2", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "aa2c74bd271af34239a3948779612f87df2422c2fdcfdbcec28d9c105f0773fe"}, "idna": {:hex, :idna, "6.0.0", "689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], [{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "4bdd305eb64e18b0273864920695cb18d7a2021f31a11b9c5fbcd9a253f936e2"}, - "jason": {:hex, :jason, "1.2.0", "10043418c42d2493d0ee212d3fddd25d7ffe484380afad769a0a38795938e448", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "116747dbe057794c3a3e4e143b7c8390b29f634e16c78a7f59ba75bfa6852e7f"}, + "jason": {:hex, :jason, "1.2.1", "12b22825e22f468c02eb3e4b9985f3d0cb8dc40b9bd704730efa11abd2708c44", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "b659b8571deedf60f79c5a608e15414085fa141344e2716fbd6988a084b5f993"}, "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, From 253de46f83b56b326629d991472467c2568c7e83 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 6 Jul 2020 17:20:29 +0000 Subject: [PATCH 05/19] Bump mimic from 1.2.0 to 1.3.0 Bumps [mimic](https://github.com/edgurgel/mimic) from 1.2.0 to 1.3.0. - [Release notes](https://github.com/edgurgel/mimic/releases) - [Commits](https://github.com/edgurgel/mimic/compare/v1.2.0...v1.3.0) Signed-off-by: dependabot-preview[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 802582e..ee0e85f 100644 --- a/mix.lock +++ b/mix.lock @@ -16,7 +16,7 @@ "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, - "mimic": {:hex, :mimic, "1.2.0", "08f783232033bc69c1c1264e4a1cceb8de6f07caea9eab3440290437743a7593", [:mix], [], "hexpm", "fed5a64c49e544e60caa9b60af1f97eb40447ed9bd5857f992c2fffd3ac9a6de"}, + "mimic": {:hex, :mimic, "1.3.0", "2fdca63b897fe4367542651ca83759a49536cefb7c7f9eea8146695112cb3ee1", [:mix], [], "hexpm", "3c9aa460b7992e381987d106433a29ac3c36e50be7c47f6e0ea46b3a3d7f559b"}, "neotoma": {:hex, :neotoma, "1.7.3", "d8bd5404b73273989946e4f4f6d529e5c2088f5fa1ca790b4dbe81f4be408e61", [:rebar], [], "hexpm"}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, From 947de07326a25d548c6c2ba4e42ed9ef8afea794 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 14 Sep 2020 17:35:20 +0000 Subject: [PATCH 06/19] Bump jason from 1.2.1 to 1.2.2 Bumps [jason](https://github.com/michalmuskala/jason) from 1.2.1 to 1.2.2. - [Release notes](https://github.com/michalmuskala/jason/releases) - [Changelog](https://github.com/michalmuskala/jason/blob/master/CHANGELOG.md) - [Commits](https://github.com/michalmuskala/jason/compare/v1.2.1...v1.2.2) Signed-off-by: dependabot-preview[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index ee0e85f..ddf3603 100644 --- a/mix.lock +++ b/mix.lock @@ -12,7 +12,7 @@ "hackney": {:hex, :hackney, "1.15.2", "07e33c794f8f8964ee86cebec1a8ed88db5070e52e904b8f12209773c1036085", [:rebar3], [{:certifi, "2.5.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.5", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "e0100f8ef7d1124222c11ad362c857d3df7cb5f4204054f9f0f4a728666591fc"}, "httpoison": {:hex, :httpoison, "1.6.2", "ace7c8d3a361cebccbed19c283c349b3d26991eff73a1eaaa8abae2e3c8089b6", [:mix], [{:hackney, "~> 1.15 and >= 1.15.2", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "aa2c74bd271af34239a3948779612f87df2422c2fdcfdbcec28d9c105f0773fe"}, "idna": {:hex, :idna, "6.0.0", "689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], [{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "4bdd305eb64e18b0273864920695cb18d7a2021f31a11b9c5fbcd9a253f936e2"}, - "jason": {:hex, :jason, "1.2.1", "12b22825e22f468c02eb3e4b9985f3d0cb8dc40b9bd704730efa11abd2708c44", [:mix], [{:decimal, "~> 1.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "b659b8571deedf60f79c5a608e15414085fa141344e2716fbd6988a084b5f993"}, + "jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"}, "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, From 3a13379d4e06a38810afd7bece8c6943b573c135 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 5 Oct 2020 17:37:55 +0000 Subject: [PATCH 07/19] Bump mimic from 1.3.0 to 1.3.1 Bumps [mimic](https://github.com/edgurgel/mimic) from 1.3.0 to 1.3.1. - [Release notes](https://github.com/edgurgel/mimic/releases) - [Commits](https://github.com/edgurgel/mimic/compare/v1.3.0...v1.3.1) Signed-off-by: dependabot-preview[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index ddf3603..4c1c5f3 100644 --- a/mix.lock +++ b/mix.lock @@ -16,7 +16,7 @@ "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, - "mimic": {:hex, :mimic, "1.3.0", "2fdca63b897fe4367542651ca83759a49536cefb7c7f9eea8146695112cb3ee1", [:mix], [], "hexpm", "3c9aa460b7992e381987d106433a29ac3c36e50be7c47f6e0ea46b3a3d7f559b"}, + "mimic": {:hex, :mimic, "1.3.1", "ba1c90b851de9065db81b1e3a16f659e53dffb89d2f4d404db06f67d0b990deb", [:mix], [], "hexpm", "51b74ab8009e0673bf68beba6abfce0e5500c8bec3ad27033c4a8dacbc44d55e"}, "neotoma": {:hex, :neotoma, "1.7.3", "d8bd5404b73273989946e4f4f6d529e5c2088f5fa1ca790b4dbe81f4be408e61", [:rebar], [], "hexpm"}, "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, From 529052c574882a04afba9206f86d86f1f56e5556 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 22 Feb 2021 17:16:40 +0000 Subject: [PATCH 08/19] Bump dialyxir from 1.0.0 to 1.1.0 Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 1.0.0 to 1.1.0. - [Release notes](https://github.com/jeremyjh/dialyxir/releases) - [Changelog](https://github.com/jeremyjh/dialyxir/blob/master/CHANGELOG.md) - [Commits](https://github.com/jeremyjh/dialyxir/compare/1.0.0...1.1.0) Signed-off-by: dependabot-preview[bot] --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index 4c1c5f3..9aa3567 100644 --- a/mix.lock +++ b/mix.lock @@ -3,7 +3,7 @@ "conform": {:hex, :conform, "2.5.2", "7035787a9c09d28607745444e7a1700426dc47c452634a5694033fa2fbb3414c", [:mix], [{:neotoma, "~> 1.7.3", [hex: :neotoma, repo: "hexpm", optional: false]}], "hexpm"}, "cowboy": {:hex, :cowboy, "2.7.0", "91ed100138a764355f43316b1d23d7ff6bdb0de4ea618cb5d8677c93a7a2f115", [:rebar3], [{:cowlib, "~> 2.8.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "04fd8c6a39edc6aaa9c26123009200fc61f92a3a94f3178c527b70b767c6e605"}, "cowlib": {:hex, :cowlib, "2.8.0", "fd0ff1787db84ac415b8211573e9a30a3ebe71b5cbff7f720089972b2319c8a4", [:rebar3], [], "hexpm", "79f954a7021b302186a950a32869dbc185523d99d3e44ce430cd1f3289f41ed4"}, - "dialyxir": {:hex, :dialyxir, "1.0.0", "6a1fa629f7881a9f5aaf3a78f094b2a51a0357c843871b8bc98824e7342d00a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "aeb06588145fac14ca08d8061a142d52753dbc2cf7f0d00fc1013f53f8654654"}, + "dialyxir": {:hex, :dialyxir, "1.1.0", "c5aab0d6e71e5522e77beff7ba9e08f8e02bad90dfbeffae60eaf0cb47e29488", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "07ea8e49c45f15264ebe6d5b93799d4dd56a44036cf42d0ad9c960bc266c0b9a"}, "distillery": {:hex, :distillery, "1.5.2", "eec18b2d37b55b0bcb670cf2bcf64228ed38ce8b046bb30a9b636a6f5a4c0080", [:mix], [], "hexpm"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, "ex2ms": {:hex, :ex2ms, "1.6.0", "f39bbd9ff1b0f27b3f707bab2d167066dd8965e7df1149b962d94c74615d0e09", [:mix], [], "hexpm", "0d1ab5e08421af5cd69146efb408dbb1ff77f38a2f4df5f086f2512dc8cf65bf"}, From 49ab4d55582a7fa0f64e18793c42e7b86b4b8ce9 Mon Sep 17 00:00:00 2001 From: Eduardo Gurgel Pinho Date: Mon, 23 May 2022 21:13:51 +1200 Subject: [PATCH 09/19] mix deps.update --all --- mix.exs | 8 ++++---- mix.lock | 34 +++++++++++++++++----------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/mix.exs b/mix.exs index c72f8dd..3921629 100644 --- a/mix.exs +++ b/mix.exs @@ -4,9 +4,9 @@ defmodule Poxa.Mixfile do def project do [ app: :poxa, - version: "1.1.2", + version: "1.2.0", name: "Poxa", - elixir: "~> 1.9", + elixir: "~> 1.13", deps: deps(), dialyzer: [ plt_add_apps: ~w(cowboy poison gproc httpoison signaturex), @@ -27,10 +27,10 @@ defmodule Poxa.Mixfile do {:jason, "~> 1.0"}, {:signaturex, "~> 1.3"}, {:gproc, "~> 0.8"}, - {:mimic, "~> 1.0", only: :test}, - {:pusher, "~> 2.1", only: :test}, {:httpoison, "~> 1.0"}, {:ex2ms, "~> 1.5"}, + {:mimic, "~> 1.0", only: :test}, + {:pusher, "~> 2.1", only: :test}, {:dialyxir, "~> 1.0", only: [:dev, :test]} ] end diff --git a/mix.lock b/mix.lock index 9aa3567..4711908 100644 --- a/mix.lock +++ b/mix.lock @@ -1,31 +1,31 @@ %{ - "certifi": {:hex, :certifi, "2.5.1", "867ce347f7c7d78563450a18a6a28a8090331e77fa02380b4a21962a65d36ee5", [:rebar3], [{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm", "805abd97539caf89ec6d4732c91e62ba9da0cda51ac462380bbd28ee697a8c42"}, + "certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"}, "conform": {:hex, :conform, "2.5.2", "7035787a9c09d28607745444e7a1700426dc47c452634a5694033fa2fbb3414c", [:mix], [{:neotoma, "~> 1.7.3", [hex: :neotoma, repo: "hexpm", optional: false]}], "hexpm"}, - "cowboy": {:hex, :cowboy, "2.7.0", "91ed100138a764355f43316b1d23d7ff6bdb0de4ea618cb5d8677c93a7a2f115", [:rebar3], [{:cowlib, "~> 2.8.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "~> 1.7.1", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "04fd8c6a39edc6aaa9c26123009200fc61f92a3a94f3178c527b70b767c6e605"}, - "cowlib": {:hex, :cowlib, "2.8.0", "fd0ff1787db84ac415b8211573e9a30a3ebe71b5cbff7f720089972b2319c8a4", [:rebar3], [], "hexpm", "79f954a7021b302186a950a32869dbc185523d99d3e44ce430cd1f3289f41ed4"}, + "cowboy": {:hex, :cowboy, "2.9.0", "865dd8b6607e14cf03282e10e934023a1bd8be6f6bacf921a7e2a96d800cd452", [:make, :rebar3], [{:cowlib, "2.11.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "2c729f934b4e1aa149aff882f57c6372c15399a20d54f65c8d67bef583021bde"}, + "cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"}, "dialyxir": {:hex, :dialyxir, "1.1.0", "c5aab0d6e71e5522e77beff7ba9e08f8e02bad90dfbeffae60eaf0cb47e29488", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "07ea8e49c45f15264ebe6d5b93799d4dd56a44036cf42d0ad9c960bc266c0b9a"}, "distillery": {:hex, :distillery, "1.5.2", "eec18b2d37b55b0bcb670cf2bcf64228ed38ce8b046bb30a9b636a6f5a4c0080", [:mix], [], "hexpm"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex2ms": {:hex, :ex2ms, "1.6.0", "f39bbd9ff1b0f27b3f707bab2d167066dd8965e7df1149b962d94c74615d0e09", [:mix], [], "hexpm", "0d1ab5e08421af5cd69146efb408dbb1ff77f38a2f4df5f086f2512dc8cf65bf"}, + "ex2ms": {:hex, :ex2ms, "1.6.1", "66d472eb14da43087c156e0396bac3cc7176b4f24590a251db53f84e9a0f5f72", [:mix], [], "hexpm", "a7192899d84af03823a8ec2f306fa858cbcce2c2e7fd0f1c49e05168fb9c740e"}, "exjsx": {:hex, :exjsx, "3.2.1", "1bc5bf1e4fd249104178f0885030bcd75a4526f4d2a1e976f4b428d347614f0f", [:mix], [{:jsx, "~> 2.8.0", [hex: :jsx, repo: "hexpm", optional: false]}], "hexpm"}, - "gproc": {:hex, :gproc, "0.8.0", "cea02c578589c61e5341fce149ea36ccef236cc2ecac8691fba408e7ea77ec2f", [:rebar3], [], "hexpm", "580adafa56463b75263ef5a5df4c86af321f68694e7786cb057fd805d1e2a7de"}, - "hackney": {:hex, :hackney, "1.15.2", "07e33c794f8f8964ee86cebec1a8ed88db5070e52e904b8f12209773c1036085", [:rebar3], [{:certifi, "2.5.1", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "6.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.5", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "e0100f8ef7d1124222c11ad362c857d3df7cb5f4204054f9f0f4a728666591fc"}, - "httpoison": {:hex, :httpoison, "1.6.2", "ace7c8d3a361cebccbed19c283c349b3d26991eff73a1eaaa8abae2e3c8089b6", [:mix], [{:hackney, "~> 1.15 and >= 1.15.2", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "aa2c74bd271af34239a3948779612f87df2422c2fdcfdbcec28d9c105f0773fe"}, - "idna": {:hex, :idna, "6.0.0", "689c46cbcdf3524c44d5f3dde8001f364cd7608a99556d8fbd8239a5798d4c10", [:rebar3], [{:unicode_util_compat, "0.4.1", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "4bdd305eb64e18b0273864920695cb18d7a2021f31a11b9c5fbcd9a253f936e2"}, - "jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"}, + "gproc": {:hex, :gproc, "0.9.0", "853ccb7805e9ada25d227a157ba966f7b34508f386a3e7e21992b1b484230699", [:rebar3], [], "hexpm", "587e8af698ccd3504cf4ba8d90f893ede2b0f58cabb8a916e2bf9321de3cf10b"}, + "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, + "httpoison": {:hex, :httpoison, "1.8.1", "df030d96de89dad2e9983f92b0c506a642d4b1f4a819c96ff77d12796189c63e", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "35156a6d678d6d516b9229e208942c405cf21232edd632327ecfaf4fd03e79e0"}, + "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, + "jason": {:hex, :jason, "1.3.0", "fa6b82a934feb176263ad2df0dbd91bf633d4a46ebfdffea0c8ae82953714946", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "53fc1f51255390e0ec7e50f9cb41e751c260d065dcba2bf0d08dc51a4002c2ac"}, "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, - "mimic": {:hex, :mimic, "1.3.1", "ba1c90b851de9065db81b1e3a16f659e53dffb89d2f4d404db06f67d0b990deb", [:mix], [], "hexpm", "51b74ab8009e0673bf68beba6abfce0e5500c8bec3ad27033c4a8dacbc44d55e"}, + "mimic": {:hex, :mimic, "1.7.2", "27007e4e0c746ddb6d56a386c40585088b35621ae2d7167160e8c3283e8cd585", [:mix], [], "hexpm", "e4d40550523841055aa469f5125d124ab89ce8b2d3686cab908b98dff5e6111b"}, "neotoma": {:hex, :neotoma, "1.7.3", "d8bd5404b73273989946e4f4f6d529e5c2088f5fa1ca790b4dbe81f4be408e61", [:rebar], [], "hexpm"}, - "parse_trans": {:hex, :parse_trans, "3.3.0", "09765507a3c7590a784615cfd421d101aec25098d50b89d7aa1d66646bc571c1", [:rebar3], [], "hexpm", "17ef63abde837ad30680ea7f857dd9e7ced9476cdd7b0394432af4bfc241b960"}, + "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, - "pusher": {:hex, :pusher, "2.2.0", "45f709776e398699a5b05f8e7858aedd2119b25b367bb93da77d9e70d48e9950", [:mix], [{:httpoison, "~> 1.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:signaturex, "~> 1.3.0", [hex: :signaturex, repo: "hexpm", optional: false]}, {:websockex, "~> 0.4.0", [hex: :websockex, repo: "hexpm", optional: false]}], "hexpm", "2f1d0b656672ce543a320fda3c6e88dff8614c6f6612a3f80766633a2d3dccb8"}, + "pusher": {:hex, :pusher, "2.4.0", "e54e6c11d69cdb75a18ae9eb02a3e89ca831593d37a064fd913883c7df29fcb2", [:mix], [{:httpoison, "~> 1.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:signaturex, "~> 1.4", [hex: :signaturex, repo: "hexpm", optional: false]}, {:websockex, "~> 0.4.0", [hex: :websockex, repo: "hexpm", optional: false]}], "hexpm", "56a8cb93656750e6d71f5c2c62dc7c25b0c46e29398b0dbdd6b8c00a73736957"}, "pusher_client": {:git, "https://github.com/edgurgel/pusher_client.git", "2edb22a7b45b2fe962b12d6ee5460f7d722aadd7", []}, - "ranch": {:hex, :ranch, "1.7.1", "6b1fab51b49196860b733a49c07604465a47bdb78aa10c1c16a3d199f7f8c881", [:rebar3], [], "hexpm", "451d8527787df716d99dc36162fca05934915db0b6141bbdac2ea8d3c7afc7d7"}, - "signaturex": {:hex, :signaturex, "1.3.0", "47b7431990f3b38540803de013cc809e8dad248dade0aad01ef2c5661c02c7a3", [:mix], [], "hexpm", "164e32356203ee5477d8b6602be1a562a9331f728a2c6aa2b6a790c0eea17413"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.5", "6eaf7ad16cb568bb01753dbbd7a95ff8b91c7979482b95f38443fe2c8852a79b", [:make, :mix, :rebar3], [], "hexpm", "13104d7897e38ed7f044c4de953a6c28597d1c952075eb2e328bc6d6f2bfc496"}, - "unicode_util_compat": {:hex, :unicode_util_compat, "0.4.1", "d869e4c68901dd9531385bb0c8c40444ebf624e60b6962d95952775cac5e90cd", [:rebar3], [], "hexpm", "1d1848c40487cdb0b30e8ed975e34e025860c02e419cb615d255849f3427439d"}, + "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, + "signaturex": {:hex, :signaturex, "1.4.0", "bd319a013a0a3fd7788fc1d7e05cab1f1681b4e4fc497a379d137b33cb5e3d61", [:mix], [], "hexpm", "5e6972d246f2ee1a8f017bde5695382b44b9ce79baa148e6ae99d95c04e265cf"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, "websocket_client": {:hex, :websocket_client, "1.3.0", "2275d7daaa1cdacebf2068891c9844b15f4fdc3de3ec2602420c2fb486db59b6", [:rebar3], [], "hexpm"}, - "websockex": {:hex, :websockex, "0.4.2", "9a3b7dc25655517ecd3f8ff7109a77fce94956096b942836cdcfbc7c86603ecc", [:mix], [], "hexpm", "803cd76e91544b56f0e655e36790be797fa6436db9224f7c303db9b9df2a3df4"}, + "websockex": {:hex, :websockex, "0.4.3", "92b7905769c79c6480c02daacaca2ddd49de936d912976a4d3c923723b647bf0", [:mix], [], "hexpm", "95f2e7072b85a3a4cc385602d42115b73ce0b74a9121d0d6dbbf557645ac53e4"}, } From f14a9262ad16123718ffb2acd9ed59b010300de9 Mon Sep 17 00:00:00 2001 From: Eduardo Gurgel Pinho Date: Mon, 23 May 2022 21:15:00 +1200 Subject: [PATCH 10/19] Fix :crypto.hmac deprecation --- lib/poxa/crypto_helper.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/poxa/crypto_helper.ex b/lib/poxa/crypto_helper.ex index cd8642b..b9a2e99 100644 --- a/lib/poxa/crypto_helper.ex +++ b/lib/poxa/crypto_helper.ex @@ -4,7 +4,7 @@ defmodule Poxa.CryptoHelper do """ @spec hmac256_to_string(binary, binary) :: binary def hmac256_to_string(app_secret, to_sign) do - :crypto.hmac(:sha256, app_secret, to_sign) |> Base.encode16(case: :lower) + :crypto.mac(:hmac, :sha256, app_secret, to_sign) |> Base.encode16(case: :lower) end @doc """ From 40eca7865cc1475282f1a87e904290348cbd5373 Mon Sep 17 00:00:00 2001 From: Eduardo Gurgel Pinho Date: Mon, 23 May 2022 21:20:22 +1200 Subject: [PATCH 11/19] Fix Supervisor deprecations --- lib/poxa/subscription_handler.ex | 2 +- lib/poxa/supervisor.ex | 6 +++--- lib/poxa/web_hook/dispatcher.ex | 2 +- lib/poxa/web_hook/handler.ex | 2 +- lib/poxa/web_hook/supervisor.ex | 8 +++----- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/poxa/subscription_handler.ex b/lib/poxa/subscription_handler.ex index 145a813..d35773b 100644 --- a/lib/poxa/subscription_handler.ex +++ b/lib/poxa/subscription_handler.ex @@ -8,7 +8,7 @@ defmodule Poxa.SubscriptionHandler do import Poxa.Event, only: [notify: 2] @doc false - def start_link(), do: GenServer.start_link(__MODULE__, []) + def start_link(_), do: GenServer.start_link(__MODULE__, []) @doc false def init(_) do diff --git a/lib/poxa/supervisor.ex b/lib/poxa/supervisor.ex index 457bebf..80859e5 100644 --- a/lib/poxa/supervisor.ex +++ b/lib/poxa/supervisor.ex @@ -9,16 +9,16 @@ defmodule Poxa.Supervisor do @doc false def init([]) do {:ok, web_hook} = Application.fetch_env(:poxa, :web_hook) - subscription_worker = worker(Poxa.SubscriptionHandler, []) + subscription_worker = Poxa.SubscriptionHandler children = if to_string(web_hook) != "" do - web_wook_supervisor = worker(Poxa.WebHook.Supervisor, []) + web_wook_supervisor = Poxa.WebHook.Supervisor [subscription_worker, web_wook_supervisor] else [subscription_worker] end - supervise(children, strategy: :one_for_one) + Supervisor.init(children, strategy: :one_for_one) end end diff --git a/lib/poxa/web_hook/dispatcher.ex b/lib/poxa/web_hook/dispatcher.ex index 024779e..bf03e4a 100644 --- a/lib/poxa/web_hook/dispatcher.ex +++ b/lib/poxa/web_hook/dispatcher.ex @@ -13,7 +13,7 @@ defmodule Poxa.WebHook.Dispatcher do @timeout 1500 @doc false - def start_link do + def start_link(_) do GenServer.start_link(__MODULE__, nil) end diff --git a/lib/poxa/web_hook/handler.ex b/lib/poxa/web_hook/handler.ex index cea34f2..27f7f3a 100644 --- a/lib/poxa/web_hook/handler.ex +++ b/lib/poxa/web_hook/handler.ex @@ -11,7 +11,7 @@ defmodule Poxa.WebHook.Handler do @delay 1500 @doc false - def start_link(), do: GenServer.start_link(__MODULE__, []) + def start_link(_), do: GenServer.start_link(__MODULE__, []) @doc false def init(_) do diff --git a/lib/poxa/web_hook/supervisor.ex b/lib/poxa/web_hook/supervisor.ex index 5782fe8..7b86093 100644 --- a/lib/poxa/web_hook/supervisor.ex +++ b/lib/poxa/web_hook/supervisor.ex @@ -2,7 +2,7 @@ defmodule Poxa.WebHook.Supervisor do use Supervisor @doc false - def start_link do + def start_link(_) do Supervisor.start_link(__MODULE__, []) end @@ -10,10 +10,8 @@ defmodule Poxa.WebHook.Supervisor do This supervisor will spawn a `Watcher` to monitor a handler for web hook events and a `GenServer` to dispatch the actual requests. """ def init([]) do - web_wook_dispatcher = worker(Poxa.WebHook.Dispatcher, []) - web_wook_handler = worker(Poxa.WebHook.Handler, []) - children = [web_wook_handler, web_wook_dispatcher] + children = [Poxa.WebHook.Dispatcher, Poxa.WebHook.Handler] - supervise(children, strategy: :one_for_one) + Supervisor.init(children, strategy: :one_for_one) end end From 41eedf02e7c3f5cdd396cc3af4112b266c6b32fa Mon Sep 17 00:00:00 2001 From: Eduardo Gurgel Pinho Date: Mon, 23 May 2022 21:31:07 +1200 Subject: [PATCH 12/19] Fix application env usage on tests async: false must be used --- test/auth_signature_test.exs | 8 ++++---- test/pusher_event_test.exs | 4 ++-- test/web_hook/dispatcher_test.exs | 8 ++++---- test/web_hook/handler_test.exs | 8 ++++---- test/websocket_handler_test.exs | 8 ++++---- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/test/auth_signature_test.exs b/test/auth_signature_test.exs index 6078328..69a4a2e 100644 --- a/test/auth_signature_test.exs +++ b/test/auth_signature_test.exs @@ -1,5 +1,5 @@ defmodule Poxa.AuthSignatureTest do - use ExUnit.Case, async: true + use ExUnit.Case, async: false alias Poxa.Authentication use Mimic import Poxa.AuthSignature @@ -10,7 +10,7 @@ defmodule Poxa.AuthSignatureTest do end test "a valid signature" do - :application.set_env(:poxa, :app_secret, "secret") + Application.put_env(:poxa, :app_secret, "secret") app_key = "app_key" signature = Poxa.CryptoHelper.hmac256_to_string("secret", "SocketId:private-channel") auth = <> @@ -26,14 +26,14 @@ defmodule Poxa.AuthSignatureTest do end test "an invalid signature" do - :application.set_env(:poxa, :app_secret, "secret") + Application.put_env(:poxa, :app_secret, "secret") expect(Authentication, :check_key, fn _ -> true end) refute valid?("SocketId:private-channel", "Wrong:Auth") end test "invalid " do - :application.set_env(:poxa, :app_secret, "secret") + Application.put_env(:poxa, :app_secret, "secret") refute valid?("SocketId:private-channel", "asdfasdf") refute valid?("SocketId:private-channel", "asdfasdf") diff --git a/test/pusher_event_test.exs b/test/pusher_event_test.exs index 0b99348..e60ab3f 100644 --- a/test/pusher_event_test.exs +++ b/test/pusher_event_test.exs @@ -1,5 +1,5 @@ defmodule Poxa.PusherEventTest do - use ExUnit.Case, async: true + use ExUnit.Case, async: false use Mimic import Poxa.PusherEvent alias Poxa.PusherEvent @@ -7,7 +7,7 @@ defmodule Poxa.PusherEventTest do doctest Poxa.PusherEvent test "connection established output" do - :application.set_env(:poxa, :activity_timeout, 30) + Application.put_env(:poxa, :activity_timeout, 30) json = "{\"data\":\"{\\\"activity_timeout\\\":30,\\\"socket_id\\\":\\\"SocketId\\\"}\",\"event\":\"pusher:connection_established\"}" diff --git a/test/web_hook/dispatcher_test.exs b/test/web_hook/dispatcher_test.exs index bc7969e..b4a8d0f 100644 --- a/test/web_hook/dispatcher_test.exs +++ b/test/web_hook/dispatcher_test.exs @@ -1,5 +1,5 @@ defmodule Poxa.WebHook.DispatcherTest do - use ExUnit.Case, async: true + use ExUnit.Case, async: false alias Poxa.WebHook.EventTable use Mimic import Poxa.WebHook.Dispatcher @@ -7,9 +7,9 @@ defmodule Poxa.WebHook.DispatcherTest do @table_name :web_hook_events setup_all do - :application.set_env(:poxa, :app_secret, "secret") - :application.set_env(:poxa, :app_key, "app_key") - :application.set_env(:poxa, :web_hook, "web_hook_url") + Application.put_env(:poxa, :app_secret, "secret") + Application.put_env(:poxa, :app_key, "app_key") + Application.put_env(:poxa, :web_hook, "web_hook_url") :ok end diff --git a/test/web_hook/handler_test.exs b/test/web_hook/handler_test.exs index 889e122..703542c 100644 --- a/test/web_hook/handler_test.exs +++ b/test/web_hook/handler_test.exs @@ -1,5 +1,5 @@ defmodule Poxa.WebHook.HandlerTest do - use ExUnit.Case, async: true + use ExUnit.Case, async: false alias Poxa.Event alias Poxa.WebHook.EventTable use Mimic @@ -8,9 +8,9 @@ defmodule Poxa.WebHook.HandlerTest do @table_name :web_hook_events setup_all do - :application.set_env(:poxa, :app_secret, "secret") - :application.set_env(:poxa, :app_key, "app_key") - :application.set_env(:poxa, :web_hook, "web_hook_url") + Application.put_env(:poxa, :app_secret, "secret") + Application.put_env(:poxa, :app_key, "app_key") + Application.put_env(:poxa, :web_hook, "web_hook_url") :ok end diff --git a/test/websocket_handler_test.exs b/test/websocket_handler_test.exs index e18830f..a4913d1 100644 --- a/test/websocket_handler_test.exs +++ b/test/websocket_handler_test.exs @@ -1,5 +1,5 @@ defmodule Poxa.WebsocketHandlerTest do - use ExUnit.Case, async: true + use ExUnit.Case, async: false alias Poxa.PresenceSubscription alias Poxa.PusherEvent alias Poxa.Subscription @@ -12,8 +12,8 @@ defmodule Poxa.WebsocketHandlerTest do alias Poxa.WebsocketHandler.State setup_all do - :application.set_env(:poxa, :app_secret, "secret") - :application.set_env(:poxa, :app_key, "app_key") + Application.put_env(:poxa, :app_secret, "secret") + Application.put_env(:poxa, :app_key, "app_key") :ok end @@ -223,7 +223,7 @@ defmodule Poxa.WebsocketHandlerTest do describe "init/1" do test "sets cowboy's idle_timeout" do - :application.set_env(:poxa, :activity_timeout, 30) + Application.put_env(:poxa, :activity_timeout, 30) assert init(:req, []) == {:cowboy_websocket, :req, :req, %{idle_timeout: 30_000}} end end From e121f2f4e74575e59a0d3cab3e774d1c88625275 Mon Sep 17 00:00:00 2001 From: Eduardo Gurgel Pinho Date: Mon, 23 May 2022 21:34:36 +1200 Subject: [PATCH 13/19] Fix dialyzer specs --- .gitignore | 7 +------ lib/poxa/adapter/gproc.ex | 11 +++++++++++ lib/poxa/pusher_event.ex | 2 -- lib/poxa/registry.ex | 2 +- mix.exs | 9 ++------- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index d563e57..e22fcee 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,4 @@ erl_crash.dump /log /docs /rel/poxa -.local.plt -# idea plugin -/.idea -poxa.iml -# vscode plugin -/.elixir_ls +priv/plts diff --git a/lib/poxa/adapter/gproc.ex b/lib/poxa/adapter/gproc.ex index 2c5c15e..c3f5c32 100644 --- a/lib/poxa/adapter/gproc.ex +++ b/lib/poxa/adapter/gproc.ex @@ -8,26 +8,32 @@ defmodule Poxa.Adapter.GProc do import :gproc require Ex2ms + @impl true def register!(key) do reg({:p, :l, {:pusher, key}}) end + @impl true def register!(key, value) do reg({:p, :l, {:pusher, key}}, value) end + @impl true def unregister!(key) do unreg({:p, :l, {:pusher, key}}) end + @impl true def send!(message, channel, sender) do :gproc.send({:p, :l, {:pusher, channel}}, {sender, message}) end + @impl true def send!(message, channel, sender, socket_id) do :gproc.send({:p, :l, {:pusher, channel}}, {sender, message, socket_id}) end + @impl true def subscription_count(channel, pid \\ :_) def subscription_count(channel, pid) when is_pid(pid) or pid == :_ do @@ -44,6 +50,7 @@ defmodule Poxa.Adapter.GProc do |> select_count end + @impl true def subscriptions(pid) do Ex2ms.fun do {{:p, :l, {:pusher, channel}}, ^pid, {user_id, _}} -> [channel, user_id] @@ -51,6 +58,7 @@ defmodule Poxa.Adapter.GProc do |> select end + @impl true def channels(pid \\ :_) do Ex2ms.fun do {{:p, :l, {:pusher, channel}}, ^pid, _} -> channel @@ -59,15 +67,18 @@ defmodule Poxa.Adapter.GProc do |> Enum.uniq_by(& &1) end + @impl true def unique_subscriptions(channel) do for {_pid, {user_id, user_info}} <- lookup_values({:p, :l, {:pusher, channel}}), into: %{} do {user_id, user_info} end end + @impl true def fetch(key) do get_value({:p, :l, {:pusher, key}}) end + @impl true def clean_up, do: goodbye() end diff --git a/lib/poxa/pusher_event.ex b/lib/poxa/pusher_event.ex index 921af03..befab62 100644 --- a/lib/poxa/pusher_event.ex +++ b/lib/poxa/pusher_event.ex @@ -195,8 +195,6 @@ defmodule Poxa.PusherEvent do (!socket_id || Poxa.SocketId.valid?(socket_id)) end - defp valid?(_), do: false - @doc """ Send `message` to `channels` excluding `exclude` """ diff --git a/lib/poxa/registry.ex b/lib/poxa/registry.ex index 01b30ba..dbf553e 100644 --- a/lib/poxa/registry.ex +++ b/lib/poxa/registry.ex @@ -47,7 +47,7 @@ defmodule Poxa.Registry do @doc """ Returns the unique subscriptions of the given channel. """ - @callback unique_subscriptions(binary) :: Map.t() + @callback unique_subscriptions(binary) :: map @doc """ Returns the value assigned with the given property. diff --git a/mix.exs b/mix.exs index 3921629..ff3a4a9 100644 --- a/mix.exs +++ b/mix.exs @@ -8,12 +8,7 @@ defmodule Poxa.Mixfile do name: "Poxa", elixir: "~> 1.13", deps: deps(), - dialyzer: [ - plt_add_apps: ~w(cowboy poison gproc httpoison signaturex), - plt_file: ".local.plt", - flags: - ~w(-Wunmatched_returns -Werror_handling -Wrace_conditions -Wno_opaque --fullpath --statistics) - ] + dialyzer: [plt_file: {:no_warn, "priv/plts/dialyzer.plt"}] ] end @@ -31,7 +26,7 @@ defmodule Poxa.Mixfile do {:ex2ms, "~> 1.5"}, {:mimic, "~> 1.0", only: :test}, {:pusher, "~> 2.1", only: :test}, - {:dialyxir, "~> 1.0", only: [:dev, :test]} + {:dialyxir, "~> 1.0", only: :dev, runtime: false} ] end end From 9df5beef7a4b23d1a77f0105f8b03c812e409302 Mon Sep 17 00:00:00 2001 From: Eduardo Gurgel Pinho Date: Wed, 25 May 2022 20:01:04 +1200 Subject: [PATCH 14/19] CI --- .github/workflows/main.yml | 92 ++++++++++++++++++++++++++++++++++++++ .travis.yml | 29 ------------ config/config.exs | 11 +++-- 3 files changed, 99 insertions(+), 33 deletions(-) create mode 100644 .github/workflows/main.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..fd801d0 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,92 @@ +name: CI + +on: [push, pull_request] + +jobs: + format: + name: Format and compile with warnings as errors + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2.3.1 + + - name: Install OTP and Elixir + uses: erlef/setup-elixir@v1 + with: + otp-version: 24.0 + elixir-version: 1.13.4 + + - name: Install dependencies + run: mix deps.get + + - name: Run "mix format" + run: mix format --check-formatted + + - name: Compile with --warnings-as-errors + run: mix compile --warnings-as-errors + + test: + name: Test (Elixir ${{matrix.elixir}} | Erlang/OTP ${{matrix.otp}}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - otp: 24.0 + elixir: 1.13.4 + coverage: true + env: + MIX_ENV: test + steps: + - uses: actions/checkout@v2 + + - name: Install OTP and Elixir + uses: erlef/setup-elixir@v1 + with: + otp-version: ${{matrix.otp}} + elixir-version: ${{matrix.elixir}} + + - name: Install dependencies + run: mix deps.get --only test + + - name: Run tests + run: mix test --trace + + dialyzer: + name: Dialyzer (Elixir ${{matrix.elixir}} | Erlang/OTP ${{matrix.otp}}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - otp: 24.0 + elixir: 1.13.4 + steps: + - uses: actions/checkout@v2 + + - name: Install OTP and Elixir + uses: erlef/setup-elixir@v1 + with: + otp-version: ${{matrix.otp}} + elixir-version: ${{matrix.elixir}} + + - name: Install dependencies + run: mix deps.get + + - name: Restore PLT cache + uses: actions/cache@v2 + id: plt_cache + with: + key: | + ${{ runner.os }}-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-plt + restore-keys: | + ${{ runner.os }}-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-plt + path: | + priv/plts + + # Create PLTs if no cache was found + - name: Create PLTs + if: steps.plt_cache.outputs.cache-hit != 'true' + run: mix dialyzer --plt + + - name: Run dialyzer + run: mix dialyzer diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 8aca6e3..0000000 --- a/.travis.yml +++ /dev/null @@ -1,29 +0,0 @@ -language: elixir - -cache: - directories: - - deps - -matrix: - include: - - elixir: 1.9 - otp_release: 21.0 - - elixir: 1.9 - otp_release: 22.0.1 -sudo: false -env: - matrix: - - POXA_REGISTRY_ADAPTER=gproc -before_script: - - gem install pronto-dialyzer > /dev/null & - - export PLT_FILENAME=elixir-$TRAVIS_ELIXIR_VERSION-$TRAVIS_OTP_RELEASE.plt - - wget -O .local.plt https://s3.amazonaws.com/poxa-plt/travis_elixir_plts/$PLT_FILENAME || true -script: - - mix test --no-start --trace - - mix test --trace --only integration - - mix format --check-formatted - - mix dialyzer -o dialyzer.out && cat dialyzer.out || true -after_script: - - PULL_REQUEST_ID=$TRAVIS_PULL_REQUEST pronto run -f github_pr -c origin/master - - mix deps.get --only docs - - MIX_ENV=docs mix inch.report diff --git a/config/config.exs b/config/config.exs index 47af556..e17b2f0 100644 --- a/config/config.exs +++ b/config/config.exs @@ -1,10 +1,13 @@ import Config -if Mix.env == :test do - config :logger, backends: [] -end - import System +if config_env() == :test do + # Capture all logs + config :logger, level: :debug + # ... but only alert and up show on the console + config :logger, :console, level: :alert +end + config :poxa, port: get_env("PORT", "8080") |> String.to_integer(), app_key: get_env("POXA_APP_KEY", "app_key"), From 2281275f4cf2a79003c9ecdc66ad898ed4341619 Mon Sep 17 00:00:00 2001 From: Kian-Meng Ang Date: Sat, 4 Jun 2022 12:17:12 +0800 Subject: [PATCH 15/19] Migrate GitHub Actions to erlef/setup-beam See https://github.com/erlef/setup-beam/issues/20 --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fd801d0..3c9eabb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v2.3.1 - name: Install OTP and Elixir - uses: erlef/setup-elixir@v1 + uses: erlef/setup-beam@v1 with: otp-version: 24.0 elixir-version: 1.13.4 @@ -40,7 +40,7 @@ jobs: - uses: actions/checkout@v2 - name: Install OTP and Elixir - uses: erlef/setup-elixir@v1 + uses: erlef/setup-beam@v1 with: otp-version: ${{matrix.otp}} elixir-version: ${{matrix.elixir}} @@ -64,7 +64,7 @@ jobs: - uses: actions/checkout@v2 - name: Install OTP and Elixir - uses: erlef/setup-elixir@v1 + uses: erlef/setup-beam@v1 with: otp-version: ${{matrix.otp}} elixir-version: ${{matrix.elixir}} From c95d20dd15f5b36b52444e9356f8a8702acf2a26 Mon Sep 17 00:00:00 2001 From: edgurgel Date: Fri, 28 Jun 2024 21:29:38 +1200 Subject: [PATCH 16/19] Update to latest Erlang and Elixir --- .formatter.exs | 11 +++------ .github/workflows/main.yml | 22 +++++++++-------- Dockerfile | 12 ++++++---- README.md | 2 +- config/{releases.exs => runtime.exs} | 0 lib/poxa.ex | 4 ++-- lib/poxa/console/console.ex | 1 - mix.exs | 8 +++---- mix.lock | 35 ++++++++++++++-------------- rel/config.exs | 32 ------------------------- rel/env.bat.eex | 10 ++++---- rel/env.sh.eex | 26 +++++++++++++-------- rel/remote.vm.args.eex | 12 ++++++++++ rel/vm.args.eex | 9 +++---- test/pusher_event_test.exs | 8 +++---- 15 files changed, 89 insertions(+), 103 deletions(-) rename config/{releases.exs => runtime.exs} (100%) delete mode 100644 rel/config.exs create mode 100644 rel/remote.vm.args.eex diff --git a/.formatter.exs b/.formatter.exs index 2382994..d2cda26 100644 --- a/.formatter.exs +++ b/.formatter.exs @@ -1,9 +1,4 @@ +# Used by "mix format" [ - inputs: [ - "lib/**/*.{ex,exs}", - "test/**/*.{ex,exs}", - "mix.exs" - ], - - locals_without_parens: [] -] \ No newline at end of file + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3c9eabb..c9e0ce6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,23 +7,23 @@ jobs: name: Format and compile with warnings as errors runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2.3.1 + - uses: actions/checkout@v2 - name: Install OTP and Elixir uses: erlef/setup-beam@v1 with: - otp-version: 24.0 - elixir-version: 1.13.4 + otp-version: 26.x + elixir-version: 1.16.x - name: Install dependencies run: mix deps.get - - name: Run "mix format" - run: mix format --check-formatted - - name: Compile with --warnings-as-errors run: mix compile --warnings-as-errors + - name: Run "mix format" + run: mix format --check-formatted + test: name: Test (Elixir ${{matrix.elixir}} | Erlang/OTP ${{matrix.otp}}) runs-on: ubuntu-latest @@ -31,9 +31,11 @@ jobs: fail-fast: false matrix: include: - - otp: 24.0 - elixir: 1.13.4 + - otp: 26.x + elixir: 1.16.x coverage: true + - otp: 27.x + elixir: 1.17.x env: MIX_ENV: test steps: @@ -58,8 +60,8 @@ jobs: fail-fast: false matrix: include: - - otp: 24.0 - elixir: 1.13.4 + - otp: 27.x + elixir: 1.17.x steps: - uses: actions/checkout@v2 diff --git a/Dockerfile b/Dockerfile index f5d6b32..defc811 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Based on https://github.com/hexpm/hexpm/blob/08e80ed4fe82b145f6cee1d01da16e162add2a56/Dockerfile -FROM elixir:1.9.0-alpine as build +FROM docker.io/hexpm/elixir:1.17.1-erlang-26.2.5.1-alpine-3.17.8 as build ENV MIX_ENV=prod @@ -10,8 +10,8 @@ RUN mix local.hex --force && mix local.rebar --force # install mix dependencies COPY mix.exs mix.lock ./ -COPY config config -RUN mix deps.get +COPY config/config.exs config/ +RUN mix deps.get --only $MIX_ENV RUN mix deps.compile # build project @@ -19,13 +19,15 @@ COPY priv priv COPY lib lib RUN mix compile +COPY config/runtime.exs config/ + # build release COPY rel rel RUN mix release # prepare release image -FROM alpine:3.9 AS app -RUN apk add --update bash openssl +FROM docker.io/library/alpine:3.17.8 AS app +RUN apk add --no-cache --update bash openssl ncurses-libs libstdc++ RUN mkdir /app WORKDIR /app diff --git a/README.md b/README.md index 30d88b6..00a6d95 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ How do I speak 'poxa'? Poxa is a standalone elixir server implementation of the Pusher protocol. -You need [Elixir](http://elixir-lang.org) 1.9 at least and Erlang 21.0 +You need [Elixir](http://elixir-lang.org) 1.16 at least and Erlang 26.0 Clone this repository diff --git a/config/releases.exs b/config/runtime.exs similarity index 100% rename from config/releases.exs rename to config/runtime.exs diff --git a/lib/poxa.ex b/lib/poxa.ex index 7414249..9dab2cb 100644 --- a/lib/poxa.ex +++ b/lib/poxa.ex @@ -17,8 +17,8 @@ defmodule Poxa do [ {"/ping", Poxa.PingHandler, []}, {"/console", Poxa.Console.WSHandler, []}, - {"/", :cowboy_static, {:priv_file, :poxa, 'index.html'}}, - {"/static/[...]", :cowboy_static, {:priv_dir, :poxa, 'static'}}, + {"/", :cowboy_static, {:priv_file, :poxa, ~c"index.html"}}, + {"/static/[...]", :cowboy_static, {:priv_dir, :poxa, ~c"static"}}, {"/apps/:app_id/events", Poxa.EventHandler, []}, {"/apps/:app_id/channels[/:channel_name]", Poxa.ChannelsHandler, []}, {"/apps/:app_id/channels/:channel_name/users", Poxa.UsersHandler, []}, diff --git a/lib/poxa/console/console.ex b/lib/poxa/console/console.ex index 8b13789..e69de29 100644 --- a/lib/poxa/console/console.ex +++ b/lib/poxa/console/console.ex @@ -1 +0,0 @@ - diff --git a/mix.exs b/mix.exs index ff3a4a9..0a19824 100644 --- a/mix.exs +++ b/mix.exs @@ -4,9 +4,9 @@ defmodule Poxa.Mixfile do def project do [ app: :poxa, - version: "1.2.0", + version: "1.3.0", name: "Poxa", - elixir: "~> 1.13", + elixir: "~> 1.16", deps: deps(), dialyzer: [plt_file: {:no_warn, "priv/plts/dialyzer.plt"}] ] @@ -21,8 +21,8 @@ defmodule Poxa.Mixfile do {:cowboy, "~> 2.6"}, {:jason, "~> 1.0"}, {:signaturex, "~> 1.3"}, - {:gproc, "~> 0.8"}, - {:httpoison, "~> 1.0"}, + {:gproc, "~> 1.0"}, + {:httpoison, "~> 2.0"}, {:ex2ms, "~> 1.5"}, {:mimic, "~> 1.0", only: :test}, {:pusher, "~> 2.1", only: :test}, diff --git a/mix.lock b/mix.lock index 4711908..ae9857c 100644 --- a/mix.lock +++ b/mix.lock @@ -1,30 +1,29 @@ %{ - "certifi": {:hex, :certifi, "2.9.0", "6f2a475689dd47f19fb74334859d460a2dc4e3252a3324bd2111b8f0429e7e21", [:rebar3], [], "hexpm", "266da46bdb06d6c6d35fde799bcb28d36d985d424ad7c08b5bb48f5b5cdd4641"}, - "conform": {:hex, :conform, "2.5.2", "7035787a9c09d28607745444e7a1700426dc47c452634a5694033fa2fbb3414c", [:mix], [{:neotoma, "~> 1.7.3", [hex: :neotoma, repo: "hexpm", optional: false]}], "hexpm"}, - "cowboy": {:hex, :cowboy, "2.9.0", "865dd8b6607e14cf03282e10e934023a1bd8be6f6bacf921a7e2a96d800cd452", [:make, :rebar3], [{:cowlib, "2.11.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "2c729f934b4e1aa149aff882f57c6372c15399a20d54f65c8d67bef583021bde"}, - "cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"}, - "dialyxir": {:hex, :dialyxir, "1.1.0", "c5aab0d6e71e5522e77beff7ba9e08f8e02bad90dfbeffae60eaf0cb47e29488", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "07ea8e49c45f15264ebe6d5b93799d4dd56a44036cf42d0ad9c960bc266c0b9a"}, + "certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"}, + "cowboy": {:hex, :cowboy, "2.12.0", "f276d521a1ff88b2b9b4c54d0e753da6c66dd7be6c9fca3d9418b561828a3731", [:make, :rebar3], [{:cowlib, "2.13.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e"}, + "cowlib": {:hex, :cowlib, "2.13.0", "db8f7505d8332d98ef50a3ef34b34c1afddec7506e4ee4dd4a3a266285d282ca", [:make, :rebar3], [], "hexpm", "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4"}, + "dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"}, "distillery": {:hex, :distillery, "1.5.2", "eec18b2d37b55b0bcb670cf2bcf64228ed38ce8b046bb30a9b636a6f5a4c0080", [:mix], [], "hexpm"}, - "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "ex2ms": {:hex, :ex2ms, "1.6.1", "66d472eb14da43087c156e0396bac3cc7176b4f24590a251db53f84e9a0f5f72", [:mix], [], "hexpm", "a7192899d84af03823a8ec2f306fa858cbcce2c2e7fd0f1c49e05168fb9c740e"}, + "erlex": {:hex, :erlex, "0.2.7", "810e8725f96ab74d17aac676e748627a07bc87eb950d2b83acd29dc047a30595", [:mix], [], "hexpm", "3ed95f79d1a844c3f6bf0cea61e0d5612a42ce56da9c03f01df538685365efb0"}, + "ex2ms": {:hex, :ex2ms, "1.7.0", "45b9f523d0b777667ded60070d82d871a37e294f0b6c5b8eca86771f00f82ee1", [:mix], [], "hexpm", "2589eee51f81f1b1caa6d08c990b1ad409215fe6f64c73f73c67d36ed10be827"}, "exjsx": {:hex, :exjsx, "3.2.1", "1bc5bf1e4fd249104178f0885030bcd75a4526f4d2a1e976f4b428d347614f0f", [:mix], [{:jsx, "~> 2.8.0", [hex: :jsx, repo: "hexpm", optional: false]}], "hexpm"}, - "gproc": {:hex, :gproc, "0.9.0", "853ccb7805e9ada25d227a157ba966f7b34508f386a3e7e21992b1b484230699", [:rebar3], [], "hexpm", "587e8af698ccd3504cf4ba8d90f893ede2b0f58cabb8a916e2bf9321de3cf10b"}, - "hackney": {:hex, :hackney, "1.18.1", "f48bf88f521f2a229fc7bae88cf4f85adc9cd9bcf23b5dc8eb6a1788c662c4f6", [:rebar3], [{:certifi, "~>2.9.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~>6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~>1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~>1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.3.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~>1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "a4ecdaff44297e9b5894ae499e9a070ea1888c84afdd1fd9b7b2bc384950128e"}, - "httpoison": {:hex, :httpoison, "1.8.1", "df030d96de89dad2e9983f92b0c506a642d4b1f4a819c96ff77d12796189c63e", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "35156a6d678d6d516b9229e208942c405cf21232edd632327ecfaf4fd03e79e0"}, - "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~>0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, - "jason": {:hex, :jason, "1.3.0", "fa6b82a934feb176263ad2df0dbd91bf633d4a46ebfdffea0c8ae82953714946", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "53fc1f51255390e0ec7e50f9cb41e751c260d065dcba2bf0d08dc51a4002c2ac"}, + "gproc": {:hex, :gproc, "1.0.0", "aa9ec57f6c9ff065b16d96924168d7c7157cd1fd457680efe4b1274f456fa500", [:rebar3], [], "hexpm", "109f253c2787de8a371a51179d4973230cbec6239ee673fa12216a5ce7e4f902"}, + "hackney": {:hex, :hackney, "1.20.1", "8d97aec62ddddd757d128bfd1df6c5861093419f8f7a4223823537bad5d064e2", [:rebar3], [{:certifi, "~> 2.12.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "~> 6.1.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "~> 1.0.0", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "~> 1.1", [hex: :mimerl, repo: "hexpm", optional: false]}, {:parse_trans, "3.4.1", [hex: :parse_trans, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "~> 1.1.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}, {:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "fe9094e5f1a2a2c0a7d10918fee36bfec0ec2a979994cff8cfe8058cd9af38e3"}, + "httpoison": {:hex, :httpoison, "2.2.1", "87b7ed6d95db0389f7df02779644171d7319d319178f6680438167d7b69b1f3d", [:mix], [{:hackney, "~> 1.17", [hex: :hackney, repo: "hexpm", optional: false]}], "hexpm", "51364e6d2f429d80e14fe4b5f8e39719cacd03eb3f9a9286e61e216feac2d2df"}, + "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, + "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, "jsx": {:hex, :jsx, "2.8.3", "a05252d381885240744d955fbe3cf810504eb2567164824e19303ea59eef62cf", [:mix, :rebar3], [], "hexpm"}, "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, - "mimerl": {:hex, :mimerl, "1.2.0", "67e2d3f571088d5cfd3e550c383094b47159f3eee8ffa08e64106cdf5e981be3", [:rebar3], [], "hexpm", "f278585650aa581986264638ebf698f8bb19df297f66ad91b18910dfc6e19323"}, - "mimic": {:hex, :mimic, "1.7.2", "27007e4e0c746ddb6d56a386c40585088b35621ae2d7167160e8c3283e8cd585", [:mix], [], "hexpm", "e4d40550523841055aa469f5125d124ab89ce8b2d3686cab908b98dff5e6111b"}, + "mimerl": {:hex, :mimerl, "1.3.0", "d0cd9fc04b9061f82490f6581e0128379830e78535e017f7780f37fea7545726", [:rebar3], [], "hexpm", "a1e15a50d1887217de95f0b9b0793e32853f7c258a5cd227650889b38839fe9d"}, + "mimic": {:hex, :mimic, "1.8.2", "f4cf6ad13a305c5ee1a6c304ee36fc7afb3ad748e2af8cd5fbf122f44a283534", [:mix], [], "hexpm", "abc982d5fdcc4cb5292980cb698cd47c0c5d9541b401e540fb695b69f1d46485"}, "neotoma": {:hex, :neotoma, "1.7.3", "d8bd5404b73273989946e4f4f6d529e5c2088f5fa1ca790b4dbe81f4be408e61", [:rebar], [], "hexpm"}, - "parse_trans": {:hex, :parse_trans, "3.3.1", "16328ab840cc09919bd10dab29e431da3af9e9e7e7e6f0089dd5a2d2820011d8", [:rebar3], [], "hexpm", "07cd9577885f56362d414e8c4c4e6bdf10d43a8767abb92d24cbe8b24c54888b"}, + "parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"}, "poison": {:hex, :poison, "3.1.0", "d9eb636610e096f86f25d9a46f35a9facac35609a7591b3be3326e99a0484665", [:mix], [], "hexpm"}, - "pusher": {:hex, :pusher, "2.4.0", "e54e6c11d69cdb75a18ae9eb02a3e89ca831593d37a064fd913883c7df29fcb2", [:mix], [{:httpoison, "~> 1.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:signaturex, "~> 1.4", [hex: :signaturex, repo: "hexpm", optional: false]}, {:websockex, "~> 0.4.0", [hex: :websockex, repo: "hexpm", optional: false]}], "hexpm", "56a8cb93656750e6d71f5c2c62dc7c25b0c46e29398b0dbdd6b8c00a73736957"}, + "pusher": {:hex, :pusher, "2.5.0", "2d115e4f80885f6b891c1d0b3cec1877c0639f3d3dc178770e682164dd2dbd50", [:mix], [{:httpoison, "~> 2.0", [hex: :httpoison, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:signaturex, "~> 1.4", [hex: :signaturex, repo: "hexpm", optional: false]}, {:websockex, "~> 0.4.0", [hex: :websockex, repo: "hexpm", optional: false]}], "hexpm", "82cb7bbf7ff787ba52d8f2507826b725f180c22f7c359e6fdc45234927355bc6"}, "pusher_client": {:git, "https://github.com/edgurgel/pusher_client.git", "2edb22a7b45b2fe962b12d6ee5460f7d722aadd7", []}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, - "signaturex": {:hex, :signaturex, "1.4.0", "bd319a013a0a3fd7788fc1d7e05cab1f1681b4e4fc497a379d137b33cb5e3d61", [:mix], [], "hexpm", "5e6972d246f2ee1a8f017bde5695382b44b9ce79baa148e6ae99d95c04e265cf"}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.6", "cf344f5692c82d2cd7554f5ec8fd961548d4fd09e7d22f5b62482e5aeaebd4b0", [:make, :mix, :rebar3], [], "hexpm", "bdb0d2471f453c88ff3908e7686f86f9be327d065cc1ec16fa4540197ea04680"}, + "signaturex": {:hex, :signaturex, "1.5.0", "e84f5e10aaffcef4ea16546bb1c3cba6ff442579d43b9be4e06708af11ba27bf", [:mix], [], "hexpm", "6ca236222a2426fd073c4f57b7d9ca32d7bea188e99ca689746b97ddb4a2a437"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, "websocket_client": {:hex, :websocket_client, "1.3.0", "2275d7daaa1cdacebf2068891c9844b15f4fdc3de3ec2602420c2fb486db59b6", [:rebar3], [], "hexpm"}, "websockex": {:hex, :websockex, "0.4.3", "92b7905769c79c6480c02daacaca2ddd49de936d912976a4d3c923723b647bf0", [:mix], [], "hexpm", "95f2e7072b85a3a4cc385602d42115b73ce0b74a9121d0d6dbbf557645ac53e4"}, diff --git a/rel/config.exs b/rel/config.exs deleted file mode 100644 index 86ad8bc..0000000 --- a/rel/config.exs +++ /dev/null @@ -1,32 +0,0 @@ -# Import all plugins from `rel/plugins` -# They can then be used by adding `plugin MyPlugin` to -# either an environment, or release definition, where -# `MyPlugin` is the name of the plugin module. -Path.join(["rel", "plugins", "*.exs"]) -|> Path.wildcard() -|> Enum.map(&Code.eval_file(&1)) - -use Mix.Releases.Config, - default_release: :default, - default_environment: Mix.env() - - -environment :dev do - set dev_mode: true - set include_erts: false - set cookie: :"H`|_.kDAg_~4TVZ!aB/B/S3>E|C6o|~noC_!fV/8F<^>1he.*XI^C(;7fOV1Jh;B" -end - -environment :prod do - set include_erts: true - set include_src: false - set cookie: :"xR=}b(ZcHU8M1Lu&642.m{u{O)H]WD>[&&_5t8FW3t5mxy4nw=de~;lEbw*?EFXC" -end - -release :poxa do - set version: current_version(:poxa) - set applications: [ - :runtime_tools - ] - plugin Conform.ReleasePlugin -end diff --git a/rel/env.bat.eex b/rel/env.bat.eex index 482ffaf..0d82afd 100644 --- a/rel/env.bat.eex +++ b/rel/env.bat.eex @@ -1,6 +1,8 @@ @echo off -rem Set the release to work across nodes. If using the long name format like -rem the one below (my_app@127.0.0.1), you need to also uncomment the -rem RELEASE_DISTRIBUTION variable below. +rem Set the release to load code on demand (interactive) instead of preloading (embedded). +rem set RELEASE_MODE=interactive + +rem Set the release to work across nodes. +rem RELEASE_DISTRIBUTION must be "sname" (local), "name" (distributed) or "none". rem set RELEASE_DISTRIBUTION=name -rem set RELEASE_NODE=<%= @release.name %>@127.0.0.1 +rem set RELEASE_NODE=<%= @release.name %> diff --git a/rel/env.sh.eex b/rel/env.sh.eex index 6a0e6b1..ab7b76a 100644 --- a/rel/env.sh.eex +++ b/rel/env.sh.eex @@ -1,14 +1,20 @@ #!/bin/sh -# Sets and enables heart (recommended only in daemon mode) -# if [ "$RELEASE_COMMAND" = "daemon" ] || [ "$RELEASE_COMMAND" = "daemon_iex" ]; then -# HEART_COMMAND="$RELEASE_ROOT/bin/$RELEASE_NAME $RELEASE_COMMAND" -# export HEART_COMMAND -# export ELIXIR_ERL_OPTIONS="-heart" -# fi +# # Sets and enables heart (recommended only in daemon mode) +# case $RELEASE_COMMAND in +# daemon*) +# HEART_COMMAND="$RELEASE_ROOT/bin/$RELEASE_NAME $RELEASE_COMMAND" +# export HEART_COMMAND +# export ELIXIR_ERL_OPTIONS="-heart" +# ;; +# *) +# ;; +# esac -# Set the release to work across nodes. If using the long name format like -# the one below (my_app@127.0.0.1), you need to also uncomment the -# RELEASE_DISTRIBUTION variable below. +# # Set the release to load code on demand (interactive) instead of preloading (embedded). +# export RELEASE_MODE=interactive + +# # Set the release to work across nodes. +# # RELEASE_DISTRIBUTION must be "sname" (local), "name" (distributed) or "none". # export RELEASE_DISTRIBUTION=name -# export RELEASE_NODE=<%= @release.name %>@127.0.0.1 +# export RELEASE_NODE=<%= @release.name %> diff --git a/rel/remote.vm.args.eex b/rel/remote.vm.args.eex new file mode 100644 index 0000000..d9dfd37 --- /dev/null +++ b/rel/remote.vm.args.eex @@ -0,0 +1,12 @@ +## Customize flags given to the VM: https://www.erlang.org/doc/man/erl.html +## -mode/-name/-sname/-setcookie are configured via env vars, do not set them here + +## Increase number of concurrent ports/sockets +##+Q 65536 + +## Tweak GC to run more often +##-env ERL_FULLSWEEP_AFTER 10 + +## Enable deployment without epmd +## (requires changing both vm.args and remote.vm.args) +##-start_epmd false -erl_epmd_port 6789 -dist_listen false diff --git a/rel/vm.args.eex b/rel/vm.args.eex index 71e8032..a37b126 100644 --- a/rel/vm.args.eex +++ b/rel/vm.args.eex @@ -1,11 +1,12 @@ -## Customize flags given to the VM: http://erlang.org/doc/man/erl.html +## Customize flags given to the VM: https://www.erlang.org/doc/man/erl.html ## -mode/-name/-sname/-setcookie are configured via env vars, do not set them here -## Number of dirty schedulers doing IO work (file, sockets, etc) -##+SDio 5 - ## Increase number of concurrent ports/sockets ##+Q 65536 ## Tweak GC to run more often ##-env ERL_FULLSWEEP_AFTER 10 + +## Enable deployment without epmd +## (requires changing both vm.args and remote.vm.args) +##-start_epmd false -erl_epmd_port 6789false diff --git a/test/pusher_event_test.exs b/test/pusher_event_test.exs index e60ab3f..771c8e3 100644 --- a/test/pusher_event_test.exs +++ b/test/pusher_event_test.exs @@ -17,7 +17,7 @@ defmodule Poxa.PusherEventTest do test "subscription established output" do json = - "{\"channel\":\"channel\",\"data\":{},\"event\":\"pusher_internal:subscription_succeeded\"}" + "{\"data\":{},\"event\":\"pusher_internal:subscription_succeeded\",\"channel\":\"channel\"}" assert subscription_succeeded("channel") == json end @@ -44,21 +44,21 @@ defmodule Poxa.PusherEventTest do test "presence member added output" do json = - "{\"channel\":\"channel\",\"data\":\"{\\\"user_id\\\":\\\"userid\\\",\\\"user_info\\\":\\\"userinfo\\\"}\",\"event\":\"pusher_internal:member_added\"}" + "{\"data\":\"{\\\"user_info\\\":\\\"userinfo\\\",\\\"user_id\\\":\\\"userid\\\"}\",\"event\":\"pusher_internal:member_added\",\"channel\":\"channel\"}" assert presence_member_added("channel", "userid", "userinfo") == json end test "presence member removed output" do json = - "{\"channel\":\"channel\",\"data\":\"{\\\"user_id\\\":\\\"userid\\\"}\",\"event\":\"pusher_internal:member_removed\"}" + "{\"data\":\"{\\\"user_id\\\":\\\"userid\\\"}\",\"event\":\"pusher_internal:member_removed\",\"channel\":\"channel\"}" assert presence_member_removed("channel", "userid") == json end test "presence subscription succeeded" do json = - "{\"channel\":\"presence-channel\",\"data\":\"{\\\"presence\\\":{\\\"count\\\":1,\\\"hash\\\":{\\\"userid\\\":{\\\"user\\\":\\\"info\\\"}},\\\"ids\\\":[\\\"userid\\\"]}}\",\"event\":\"pusher_internal:subscription_succeeded\"}" + "{\"data\":\"{\\\"presence\\\":{\\\"count\\\":1,\\\"hash\\\":{\\\"userid\\\":{\\\"user\\\":\\\"info\\\"}},\\\"ids\\\":[\\\"userid\\\"]}}\",\"event\":\"pusher_internal:subscription_succeeded\",\"channel\":\"presence-channel\"}" subscription = %Poxa.PresenceSubscription{ channel: "presence-channel", From 1a7ba9e6f15ced76371756cb330a022853c2e36d Mon Sep 17 00:00:00 2001 From: edgurgel Date: Sun, 30 Jun 2024 18:35:22 +1200 Subject: [PATCH 17/19] Remove empty file --- lib/poxa/console/console.ex | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lib/poxa/console/console.ex diff --git a/lib/poxa/console/console.ex b/lib/poxa/console/console.ex deleted file mode 100644 index e69de29..0000000 From 175de4d0b806e796b30f48a76b7e7b344b25966d Mon Sep 17 00:00:00 2001 From: Eduardo Gurgel Date: Sun, 30 Jun 2024 18:43:15 +1200 Subject: [PATCH 18/19] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 00a6d95..ada7545 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ -[![Build Status](https://travis-ci.org/edgurgel/poxa.svg?branch=master)](https://travis-ci.org/edgurgel/poxa) [![Inline docs](http://inch-ci.org/github/edgurgel/poxa.svg?branch=master)](http://inch-ci.org/github/edgurgel/poxa) [![Release](http://img.shields.io/github/release/edgurgel/poxa.svg)](https://github.com/edgurgel/poxa/releases/latest) [![Docker](https://img.shields.io/docker/pulls/edgurgel/poxa-automated.svg)](https://hub.docker.com/r/edgurgel/poxa-automated) From 0ee403962d2c68104714efc33267181cb6d82d3a Mon Sep 17 00:00:00 2001 From: edgurgel Date: Sun, 30 Jun 2024 21:23:32 +1200 Subject: [PATCH 19/19] Add release action --- .github/workflows/release.yml | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..00d81e1 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +name: Publish Docker image + +on: + release: + types: [published] + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + attestations: write + id-token: write + steps: + - name: Check out the repo + uses: actions/checkout@v4 + + - name: Log in to Docker Hub + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: edgurgel/poxa-automated + + - name: Build and push Docker image + id: push + uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Generate artifact attestation + uses: actions/attest-build-provenance@v1 + with: + subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} + subject-digest: ${{ steps.push.outputs.digest }} + push-to-registry: true + +