diff --git a/flavours/classic/config/bonfire_data.exs b/flavours/classic/config/bonfire_data.exs index 89e6a95c09a..ba7df6c10af 100755 --- a/flavours/classic/config/bonfire_data.exs +++ b/flavours/classic/config/bonfire_data.exs @@ -19,12 +19,6 @@ verbs = [ "Tag" ] -# Choose password hashing backend -# Note that this corresponds with our dependencies in mix.exs -hasher = if config_env() in [:dev, :test], do: Pbkdf2, else: Argon2 - -config :bonfire_data_identity, Bonfire.Data.Identity.Credential, hasher_module: hasher - #### Sentinel Data Services # Search these apps/extensions for Pointable ecto schema definitions to index @@ -523,7 +517,7 @@ config :bonfire_data_access_control, Acl, field(:grants_count, :integer, virtual: true) field(:controlled_count, :integer, virtual: true) # mixins - unquote_splicing(common.([:caretaker, :named, :extra_info, :stereotyped])) + unquote_splicing(common.([:caretaker, :named, :extra_info])) # multimixins # unquote_splicing(common.([:controlled])) @@ -534,7 +528,7 @@ config :bonfire_data_access_control, Circle, (quote do field(:encircles_count, :integer, virtual: true) # mixins - unquote_splicing(common.([:caretaker, :named, :extra_info, :stereotyped])) + unquote_splicing(common.([:caretaker, :named, :extra_info])) # multimixins unquote_splicing(common.([:controlled])) end) diff --git a/flavours/classic/config/config.exs b/flavours/classic/config/config.exs index c57843c05bc..39ce5f02470 100755 --- a/flavours/classic/config/config.exs +++ b/flavours/classic/config/config.exs @@ -11,7 +11,16 @@ env = config_env() # other config files. repo = Bonfire.Common.Repo -import_config "config_basics.exs" +cond do + File.exists?("../extensions/bonfire/config/config.exs") -> + import_config "../extensions/bonfire/config/config.exs" + + File.exists?("../deps/bonfire/config/config.exs") -> + import_config "../deps/bonfire/config/config.exs" + + true -> + import_config "config_basics.exs" +end config :bonfire, otp_app: :bonfire, @@ -113,6 +122,10 @@ config :bonfire_umbrella, Bonfire.Common.TestInstanceRepo, config :tzdata, :autoupdate, :disabled config :elixir, :time_zone_database, Tz.TimeZoneDatabase +config :logger, + handle_otp_reports: true, + handle_sasl_reports: true + config :logger, :console, format: "$time $metadata[$level] $message\n", metadata: [:request_id] diff --git a/flavours/classic/config/config_basics.exs b/flavours/classic/config/config_basics.exs index f254387a711..0e995f6ebcf 100644 --- a/flavours/classic/config/config_basics.exs +++ b/flavours/classic/config/config_basics.exs @@ -5,3 +5,9 @@ config :phoenix, :json_library, Jason config :ecto_sparkles, :otp_app, :bonfire config :ecto_sparkles, :env, config_env() config :ecto_sparkles, :umbrella_otp_app, :bonfire_umbrella + +# Choose password hashing backend +# Note that this corresponds with our dependencies in mix.exs +hasher = if config_env() in [:dev, :test], do: Pbkdf2, else: Argon2 + +config :bonfire_data_identity, Bonfire.Data.Identity.Credential, hasher_module: hasher diff --git a/flavours/classic/config/deps.git b/flavours/classic/config/deps.git index 36198cc3d61..c33b9df1dc4 100755 --- a/flavours/classic/config/deps.git +++ b/flavours/classic/config/deps.git @@ -95,3 +95,4 @@ bonfire_editor_milkdown = "https://github.com/bonfire-networks/bonfire_editor_mi forecastr = "https://github.com/bonfire-networks/forecastr" # image = "https://github.com/elixir-image/image" + diff --git a/flavours/classic/config/deps.hex b/flavours/classic/config/deps.hex index 9950bc2b429..c696dd32b65 100644 --- a/flavours/classic/config/deps.hex +++ b/flavours/classic/config/deps.hex @@ -13,13 +13,13 @@ ex_cldr = "~> 2.30" # internationalisation surface = "~> 0.11.0" # note: usually we should let bonfire_ui_common control this phoenix = "~> 1.7.0" # note: should match version supported by version of surface used # phoenix_live_view = "<= 0.20.1" # usually should let surface decide the version -phoenix_live_view = "~> 0.20.5" # usually should let surface decide the version +phoenix_live_view = "~> 0.20.7" # usually should let surface decide the version # live_view_native = "~> 0.2.0" # live_view_native_swiftui = "~> 0.2.1" # phoenix_html = "~> 3.3.0" # note: usually we should let bonfire_ui_common control this phoenix_view = "~> 2.0" # should match phx/lv - dunno why isn't upgraded otherwise plug_crypto = "~> 2.0" # newer crypto for plug/phoenix -plug_cowboy = "~> 2.6" # should match the version in phoenix's mix.exs +plug_cowboy = "~> 2.7" # should match the version in phoenix's mix.exs cowboy = "~> 2.10" # should match the version used in plug_cowboy # gettext = "<= 0.21.0" # note: usually we should let bonfire_ui_common control this bandit = "~> 1.0" # alternative to Cowboy web server diff --git a/justfile b/justfile index df80aafc3d1..ba7227f0d2d 100644 --- a/justfile +++ b/justfile @@ -851,7 +851,7 @@ localise-extract: @ln-mix-tasks: just mix deps.get - cd lib/mix/ && {{ if path_exists("../../extensions/bonfire/lib/mix/tasks")=="true" { "ln -sf ../../extensions/bonfire/lib/mix/tasks" } else {"ln -sf ../../deps/bonfire/lib/mix/tasks"} }} + cd lib/mix/ && {{ if path_exists("../../extensions/bonfire_common/lib/mix_tasks")=="true" { "ln -sf ../../extensions/bonfire_common/lib/mix_tasks tasks" } else {"ln -sf ../../deps/bonfire_common/lib/mix_tasks tasks"} }} @rand: echo {{ uuid() }}-{{ uuid() }}-{{ uuid() }}-{{ uuid() }} diff --git a/lib/mix/tasks b/lib/mix/tasks index 412a848ec7e..c0b9f219af3 120000 --- a/lib/mix/tasks +++ b/lib/mix/tasks @@ -1 +1 @@ -../../extensions/bonfire_common/lib/mix_tasks \ No newline at end of file +../../deps/bonfire_common/lib/mix_tasks \ No newline at end of file diff --git a/mix.exs b/mix.exs index fd5d1365dc4..c1a7bada21b 100755 --- a/mix.exs +++ b/mix.exs @@ -24,6 +24,7 @@ defmodule Bonfire.Umbrella.MixProject do {:argon2_elixir, "~> 4.0", only: [:prod]}, ## dev conveniences + {:phoenix_live_reload, "~> 1.3", only: :dev}, # # {:exsync, git: "https://github.com/falood/exsync", only: :dev}, # {:mix_unused, "~> 0.4", only: :dev}, # find unused public functions @@ -53,7 +54,11 @@ defmodule Bonfire.Umbrella.MixProject do # tests # {:floki, ">= 0.0.0", only: [:dev, :test]}, # {:pages, "~> 0.12", only: :test}, # extends Floki for testing - {:phoenix_test, "~> 0.2.4", only: :test, runtime: false}, + { + :phoenix_test, + # "~> 0.2.4", + git: "https://github.com/germsvel/phoenix_test", only: :test, runtime: false + }, {:mock, "~> 0.3", only: :test}, {:mox, "~> 1.0", only: :test}, {:ex_machina, "~> 2.7", only: [:dev, :test]}, diff --git a/mix.lock b/mix.lock index 9ff026d8b2e..915bd0c88a9 100644 --- a/mix.lock +++ b/mix.lock @@ -230,11 +230,11 @@ "phoenix_live_favicon": {:hex, :phoenix_live_favicon, "0.2.0", "989522f5e6b9fed090b506de8c3cf65ba5cfa0210679c42cd7a44492c9b10ceb", [:mix], [{:phoenix_live_head, "~> 0.2.0", [hex: :phoenix_live_head, repo: "hexpm", optional: false]}], "hexpm", "136121d68b30f9344214d37feebf88ee63f1a1948a33251ac80c706cfa7da79e"}, "phoenix_live_head": {:hex, :phoenix_live_head, "0.2.2", "c0a07ee5b6a281ebd7539a8839d49e4471bc7f4eac6e8b48928f4379908e8f46", [:mix], [{:ex_doc, ">= 0.27.0", [hex: :ex_doc, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, ">= 1.6.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, ">= 3.1.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, ">= 0.17.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "fdfe3dc85499f7cc277b8d2c973fb50fbde9748cc56664fbe7b9ada8712dba19"}, "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.4.1", "2aff698f5e47369decde4357ba91fc9c37c6487a512b41732818f2204a8ef1d3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "9bffb834e7ddf08467fe54ae58b5785507aaba6255568ae22b4d46e2bb3615ab"}, - "phoenix_live_view": {:hex, :phoenix_live_view, "0.20.5", "6207acfdc6a824327d8d55c59b9c3398c0ddeac8935501ac0686921ad30482f3", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "2c4d28e91f531a48e24a0ae2b24aad3d56ad122ddd424d2e220070dd9930f0c4"}, + "phoenix_live_view": {:hex, :phoenix_live_view, "0.20.7", "278804219cc85e00f59a02a07b8ea591d99b219877a3b984fb77ac3fdebfb696", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "4d533f5d6b09c6ff4fb1f41d61dcd90c7f076f25909d4a5481d71bd442b83dc9"}, "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"}, "phoenix_seo": {:hex, :phoenix_seo, "0.1.8", "140c6ec2b2aa35eb6252839a13525eb582d75faf86cdac1bc446f79302395fdb", [:mix], [{:phoenix_live_view, "~> 0.18", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "65dea221f58818399b21adc8c80297a3b230c0c059a1e6ef3184ac69f0d5a6af"}, "phoenix_template": {:hex, :phoenix_template, "1.0.4", "e2092c132f3b5e5b2d49c96695342eb36d0ed514c5b252a77048d5969330d639", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"}, - "phoenix_test": {:hex, :phoenix_test, "0.2.4", "cf38372f4be767f038ecb6e145969a82db4530fc9188e04194cc54228b345dfd", [:mix], [{:floki, ">= 0.30.0", [hex: :floki, repo: "hexpm", optional: false]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7.10", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.20.1", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "5d9c3a24132bbe2dc07711f7bc5e31f405e82da160adf48a734d716d7ce3c15e"}, + "phoenix_test": {:git, "https://github.com/germsvel/phoenix_test", "ae3197bc919a80c8d269d4149b5e73c9155209a7", []}, "phoenix_view": {:hex, :phoenix_view, "2.0.3", "4d32c4817fce933693741deeb99ef1392619f942633dde834a5163124813aad3", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}], "hexpm", "cd34049af41be2c627df99cd4eaa71fc52a328c0c3d8e7d4aa28f880c30e7f64"}, "plug": {:hex, :plug, "1.15.3", "712976f504418f6dff0a3e554c40d705a9bcf89a7ccef92fc6a5ef8f16a30a97", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "cc4365a3c010a56af402e0809208873d113e9c38c401cabd88027ef4f5c01fd2"}, "plug_attack": {:hex, :plug_attack, "0.4.3", "88e6c464d68b1491aa083a0347d59d58ba71a7e591a7f8e1b675e8c7792a0ba8", [:mix], [{:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "9ed6fb8a6f613a36040f2875130a21187126c5625092f24bc851f7f12a8cbdc1"},