diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ddb06108d..54a0db468a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Let's start with a quote: "Why do programmers like dark mode? Because light attr As always, lots of improvements have been made. Memory usage has been reduced, while performance has been increased — it sounds too good to be true, but it's the reality. Battery heating is now also shown on the overview dashboard, and the drives dashboard now always shows the consumption. -To make your TeslaMate experience even better, we have also made more than 40 other improvements. +To make your TeslaMate experience even better, we have also made more than 41 other improvements. Enjoy! @@ -68,6 +68,7 @@ We believe this step is necessary to protect the project from exploitation and t - build(deps): bump qs from 6.14.1 to 6.14.2 in /website (#5140) - build(deps): update & bump mix deps (#5139 - @swiffer) - build(deps): bump ex_cldr from 2.42.0 to 2.46.0 (#5053 - @JakobLichterfeld) +- build(deps): bump floki & gettext, remove override on ranch, require elixir 1.19 (#5142 - @swiffer) #### Dashboards diff --git a/mix.exs b/mix.exs index 39567ed31f..fda4182c55 100644 --- a/mix.exs +++ b/mix.exs @@ -5,7 +5,7 @@ defmodule TeslaMate.MixProject do [ app: :teslamate, version: version(), - elixir: "~> 1.12", + elixir: "~> 1.19", elixirc_paths: elixirc_paths(Mix.env()), compilers: Mix.compilers(), start_permanent: Mix.env() == :prod, @@ -48,10 +48,11 @@ defmodule TeslaMate.MixProject do {:ex_cldr_plugs, "~> 1.0"}, {:excoveralls, "~> 0.18.5", only: :test}, {:finch, "~> 0.20"}, - {:floki, "~> 0.37"}, + {:floki, "~> 0.38"}, {:fuse, "~> 2.5"}, {:gen_state_machine, "~> 3.0"}, - {:gettext, "~> 0.26"}, + # https://github.com/bitwalker/timex/pull/783 + {:gettext, "~> 1.0", override: true}, {:jason, "~> 1.4"}, {:mock, "~> 0.3", only: :test}, {:nimble_csv, "~> 1.3"}, @@ -66,7 +67,7 @@ defmodule TeslaMate.MixProject do {:phoenix_pubsub, "~> 2.0"}, {:plug_cowboy, "~> 2.0"}, {:postgrex, ">= 0.0.0"}, - {:ranch, "~> 2.2", override: true}, + {:ranch, "~> 2.2"}, {:srtm, "~> 0.8.0"}, {:tesla, "~> 1.14"}, {:timex, "~> 3.7"}, diff --git a/mix.lock b/mix.lock index 01dec5632c..3cba9760d0 100644 --- a/mix.lock +++ b/mix.lock @@ -22,10 +22,10 @@ "expo": {:hex, :expo, "1.1.1", "4202e1d2ca6e2b3b63e02f69cfe0a404f77702b041d02b58597c00992b601db5", [:mix], [], "hexpm", "5fb308b9cb359ae200b7e23d37c76978673aa1b06e2b3075d814ce12c5811640"}, "file_system": {:hex, :file_system, "1.1.1", "31864f4685b0148f25bd3fbef2b1228457c0c89024ad67f7a81a3ffbc0bbad3a", [:mix], [], "hexpm", "7a15ff97dfe526aeefb090a7a9d3d03aa907e100e262a0f8f7746b78f8f87a5d"}, "finch": {:hex, :finch, "0.20.0", "5330aefb6b010f424dcbbc4615d914e9e3deae40095e73ab0c1bb0968933cadf", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.6.2 or ~> 1.7", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 1.1", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "2658131a74d051aabfcba936093c903b8e89da9a1b63e430bee62045fa9b2ee2"}, - "floki": {:hex, :floki, "0.37.1", "d7aaee758c8a5b4a7495799a4260754fec5530d95b9c383c03b27359dea117cf", [:mix], [], "hexpm", "673d040cb594d31318d514590246b6dd587ed341d3b67e17c1c0eb8ce7ca6f04"}, + "floki": {:hex, :floki, "0.38.0", "62b642386fa3f2f90713f6e231da0fa3256e41ef1089f83b6ceac7a3fd3abf33", [:mix], [], "hexpm", "a5943ee91e93fb2d635b612caf5508e36d37548e84928463ef9dd986f0d1abd9"}, "fuse": {:hex, :fuse, "2.5.0", "71afa90be21da4e64f94abba9d36472faa2d799c67fedc3bd1752a88ea4c4753", [:rebar3], [], "hexpm", "7f52a1c84571731ad3c91d569e03131cc220ebaa7e2a11034405f0bac46a4fef"}, "gen_state_machine": {:hex, :gen_state_machine, "3.0.0", "1e57f86a494e5c6b14137ebef26a7eb342b3b0070c7135f2d6768ed3f6b6cdff", [:mix], [], "hexpm", "0a59652574bebceb7309f6b749d2a41b45fdeda8dbb4da0791e355dd19f0ed15"}, - "gettext": {:hex, :gettext, "0.26.2", "5978aa7b21fada6deabf1f6341ddba50bc69c999e812211903b169799208f2a8", [:mix], [{:expo, "~> 0.5.1 or ~> 1.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "aa978504bcf76511efdc22d580ba08e2279caab1066b76bb9aa81c4a1e0a32a5"}, + "gettext": {:hex, :gettext, "1.0.2", "5457e1fd3f4abe47b0e13ff85086aabae760497a3497909b8473e0acee57673b", [:mix], [{:expo, "~> 0.5.1 or ~> 1.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "eab805501886802071ad290714515c8c4a17196ea76e5afc9d06ca85fb1bfeb3"}, "hackney": {:hex, :hackney, "1.24.1", "f5205a125bba6ed4587f9db3cc7c729d11316fa8f215d3e57ed1c067a9703fa9", [:rebar3], [{:certifi, "~> 2.15.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.4", [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", "f4a7392a0b53d8bbc3eb855bdcc919cd677358e65b2afd3840b5b3690c4c8a39"}, "hpax": {:hex, :hpax, "1.0.3", "ed67ef51ad4df91e75cc6a1494f851850c0bd98ebc0be6e81b026e765ee535aa", [:mix], [], "hexpm", "8eab6e1cfa8d5918c2ce4ba43588e894af35dbd8e91e6e55c817bca5847df34a"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, diff --git a/nix/flake-modules/formatter.nix b/nix/flake-modules/formatter.nix index c5e501172a..913a985cdd 100644 --- a/nix/flake-modules/formatter.nix +++ b/nix/flake-modules/formatter.nix @@ -45,6 +45,7 @@ "grafana/dashboards/*.json" # we use the grafana export style ]; programs.mix-format.enable = true; + programs.mix-format.package = config.teslamate.elixir; settings.formatter.mix-format.includes = [ "*.ex" "*.exs" diff --git a/nix/flake-modules/package.nix b/nix/flake-modules/package.nix index 661ac66dd5..1b0583d7a4 100644 --- a/nix/flake-modules/package.nix +++ b/nix/flake-modules/package.nix @@ -18,7 +18,7 @@ TOP_SRC = src; pname = "${pname}-mix-deps"; inherit src version; - hash = "sha256-9rMkly7Fvh9qftt2Ld2g4YZP31IrD5eXzXElWqYEEYU="; # if you change the mix deps, you need to update this hash + hash = "sha256-DDrREiM1BIMgD2qFPTK8QyjOYlnfE3XlnaH/jk7G2go="; # if you change the mix deps, you need to update this hash # hash = pkgs.lib.fakeHash; }; diff --git a/test/teslamate_web/live/car_summary_live_test.exs b/test/teslamate_web/live/car_summary_live_test.exs index c6f72228cd..0f02101403 100644 --- a/test/teslamate_web/live/car_summary_live_test.exs +++ b/test/teslamate_web/live/car_summary_live_test.exs @@ -460,7 +460,8 @@ defmodule TeslaMateWeb.CarLive.SummaryTest do |> live("/") # Check if the map marker icon is present - assert Floki.find(html, "a.icon span.mdi.mdi-map-marker") != [] + parsed_html = Floki.parse_document!(html) + assert Floki.find(parsed_html, "a.icon span.mdi.mdi-map-marker") != [] # Check if the link to Google Maps is present [view] = live_children(parent_view)