Compare commits

...

7 Commits

Author SHA1 Message Date
Claudio Ortolina ce57ba15a3 Update dependencies
Mix Dependency Submission / Report Mix Dependencies (push) Failing after 26s
Test & Deploy / test (push) Has been cancelled
Test & Deploy / Deploy (push) Has been cancelled
Test & Deploy / lint (push) Has been cancelled
Pi Extensions / Test pi extensions (push) Has been cancelled
igniter 0.8.0 => 0.8.1
2026-06-02 06:51:43 +03:00
Claudio Ortolina beb6252669 Update npm dependencies
barcode-detector 3.1.3 => 3.2.0
2026-06-01 22:11:16 +03:00
Claudio Ortolina 7eee008074 Update dependencies
mix:
  thousand_island 1.4.3 => 1.5.0
2026-06-01 18:32:53 +03:00
Claudio Ortolina 222444c691 Update erlang to 29.0.1 2026-06-01 15:14:16 +03:00
Claudio Ortolina ec400789b5 Update npm dependencies
npm:
  type-fest 5.6.0 => 5.7.0
2026-06-01 14:41:21 +03:00
Claudio Ortolina 001ab54f03 Update dependencies
time_zone_info 0.7.13 => 0.7.14
2026-06-01 14:40:29 +03:00
Claudio Ortolina 9b019945fb Increase queue limits
Queues are inherently rate-limited by the http APIs, so this change just
reduces waiting/execution times for other non-http operations done
inside the job body.
2026-06-01 08:55:31 +03:00
8 changed files with 27 additions and 27 deletions
+1 -1
View File
@@ -12,7 +12,7 @@
# - Ex: hexpm/elixir:1.17.2-erlang-27.1-debian-bullseye-20240904-slim
#
ARG ELIXIR_VERSION=1.20.0-rc.6
ARG OTP_VERSION=28.5.0.1
ARG OTP_VERSION=29.0.1
ARG DEBIAN_VERSION=trixie-20260518-slim
ARG BUILDER_IMAGE="hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}"
+11 -11
View File
@@ -38,12 +38,12 @@
"license": "MIT"
},
"node_modules/barcode-detector": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/barcode-detector/-/barcode-detector-3.1.3.tgz",
"integrity": "sha512-omL3/x26oU9jlR0gUQcGdXIjQtMlrUGKF7xRFO1RwrQkRkRU7WLz0mgQEsdUtYBm2uX3JH+HQLrKlyTS/BxZRw==",
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/barcode-detector/-/barcode-detector-3.2.0.tgz",
"integrity": "sha512-MrT5TT058ptG5YB157pHLfXKVpp0BKEfQBOb8QvzTbatzmLDu85JJ0Gd/sCYwbwdwStJvxsYflrSN6D6E4Ndyw==",
"license": "MIT",
"dependencies": {
"zxing-wasm": "3.0.3"
"zxing-wasm": "3.1.0"
}
},
"node_modules/canvas-confetti": {
@@ -114,9 +114,9 @@
"peer": true
},
"node_modules/type-fest": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.6.0.tgz",
"integrity": "sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==",
"version": "5.7.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.7.0.tgz",
"integrity": "sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg==",
"license": "(MIT OR CC0-1.0)",
"dependencies": {
"tagged-tag": "^1.0.0"
@@ -136,13 +136,13 @@
"license": "MIT"
},
"node_modules/zxing-wasm": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/zxing-wasm/-/zxing-wasm-3.0.3.tgz",
"integrity": "sha512-DdOn/G5F+qvZELWeO5ZFFwcN611TfMybxPV0LUUoutUmiH2t47MZSB7gLV9O9YLhvudBdnzQNAoFOu4Xz8eOrQ==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/zxing-wasm/-/zxing-wasm-3.1.0.tgz",
"integrity": "sha512-5+3V1wPRx4gvbeLH2jB7n2cKrYJ1q4i3QgjnBUtrDPeqxJSi6BdzKJg4y6aF6bgW8zfntnYJyrkqFMevDhL2NA==",
"license": "MIT",
"dependencies": {
"@types/emscripten": "^1.41.5",
"type-fest": "^5.6.0"
"type-fest": "^5.7.0"
},
"peerDependencies": {
"@types/emscripten": ">=1.39.6"
+1 -1
View File
@@ -109,7 +109,7 @@ config :phoenix, :json_library, JSON
config :music_library, Oban,
engine: Oban.Engines.Lite,
queues: [default: 10, heavy_writes: 1, music_brainz: 1, discogs: 1, wikipedia: 1, last_fm: 1],
queues: [default: 10, heavy_writes: 1, music_brainz: 3, discogs: 3, wikipedia: 3, last_fm: 3],
repo: MusicLibrary.BackgroundRepo
# Timing metrics (execution time, queue time) are stored in space-efficient
+4 -4
View File
@@ -191,10 +191,10 @@ HTTP 429 into `:rate_limit` vs `:auth_error` by reading the body `code`
| -------------- | ----------- | ------------------------------------------------------------------- |
| `default` | 10 | General async tasks |
| `heavy_writes` | 1 | DB-intensive or serialized operations |
| `music_brainz` | 1 | MusicBrainz calls (rate-limited at Req layer via `Req.RateLimiter`) |
| `discogs` | 1 | Discogs calls (rate-limited at Req layer via `Req.RateLimiter`) |
| `wikipedia` | 1 | Wikipedia calls |
| `last_fm` | 1 | Last.fm calls (rate-limited at Req layer via `Req.RateLimiter`) |
| `music_brainz` | 3 | MusicBrainz calls (rate-limited at Req layer via `Req.RateLimiter`) |
| `discogs` | 3 | Discogs calls (rate-limited at Req layer via `Req.RateLimiter`) |
| `wikipedia` | 3 | Wikipedia calls |
| `last_fm` | 3 | Last.fm calls (rate-limited at Req layer via `Req.RateLimiter`) |
### Plugins (prod)
+1 -1
View File
@@ -28,7 +28,7 @@ push via GitHub Actions.
The Docker image is a multi-stage build:
1. **Builder**`hexpm/elixir:1.20.0-rc.6-erlang-28.5.0.1-debian-trixie-20260518-slim` with
1. **Builder**`hexpm/elixir:1.20.0-rc.6-erlang-29.0.1-debian-trixie-20260518-slim` with
Node.js 26, compiles deps, builds assets (`mix assets.deploy`), generates an OTP release.
2. **Runner**`debian:trixie-20260518-slim` with minimal runtime deps (`libstdc++6`,
`openssl`, `libncurses6`, `ca-certificates`). Runs as unprivileged `nobody` user.
+4 -4
View File
@@ -1,18 +1,18 @@
# @generated - this file is auto-generated by `mise lock` https://mise.en.dev/dev-tools/mise-lock.html
[[tools.elixir]]
version = "1.20.0-rc.6-otp-28"
version = "1.20.0-rc.6-otp-29"
backend = "core:elixir"
[tools.elixir."platforms.macos-arm64"]
checksum = "blake3:c929482ef634fa41d7a8fe3a3772e046c05389236eeadade6acfa2f73e9c57bf"
checksum = "blake3:1ebcc7ff9bd52415983a314f4d4ff48ff006e36a94e7abd678df3c2f1065a436"
[[tools.erlang]]
version = "28.5.0.1"
version = "29.0.1"
backend = "core:erlang"
[tools.erlang."platforms.macos-arm64"]
checksum = "blake3:bb521a30c24d9278d9f0282336747f6cf9dc4ac52cd5a6cba15fb1358325ae6d"
checksum = "blake3:b96e51d337daff03cabd78ed3f91cfc68e622bd453826d8874796fa99006389c"
[[tools.fd]]
version = "10.4.2"
+2 -2
View File
@@ -28,8 +28,8 @@ HURL_VARIABLE_coolify_host = 'https://<fqdn>'
HURL_VARIABLE_coolify_token = 'change-me'
[tools]
elixir = "1.20.0-rc.6-otp-28"
erlang = "28.5.0.1"
elixir = "1.20.0-rc.6-otp-29"
erlang = "29.0.1"
node = "26.0.0"
hurl = '8.0.0'
sqlite = 'latest'
+3 -3
View File
@@ -34,7 +34,7 @@
"heroicons": {:git, "https://github.com/tailwindlabs/heroicons.git", "0435d4ca364a608cc75e2f8683d374e55abbae26", [tag: "v2.2.0", sparse: "optimized", depth: 1]},
"hpax": {:hex, :hpax, "1.0.3", "ed67ef51ad4df91e75cc6a1494f851850c0bd98ebc0be6e81b026e765ee535aa", [:mix], [], "hexpm", "8eab6e1cfa8d5918c2ce4ba43588e894af35dbd8e91e6e55c817bca5847df34a"},
"idna": {:hex, :idna, "7.1.0", "1067a13043538129602d2f2ce6899d8713125c7d19734aa557ce2e3ea55bd4f1", [:rebar3], [], "hexpm", "6ae959a025bf36df61a8cab8508d9654891b5426a84c44d82deaffd6ddf8c71f"},
"igniter": {:hex, :igniter, "0.8.0", "c7cab589440e5f20ff68e00f60eb094378114dab3105c0784ce8140f8dfdd2c0", [:mix], [{:ex_ast, "~> 0.5", [hex: :ex_ast, repo: "hexpm", optional: false]}, {:glob_ex, "~> 0.1.7", [hex: :glob_ex, repo: "hexpm", optional: false]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:owl, "~> 0.11", [hex: :owl, repo: "hexpm", optional: false]}, {:phx_new, "~> 1.7", [hex: :phx_new, repo: "hexpm", optional: true]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}, {:rewrite, ">= 1.1.1 and < 2.0.0-0", [hex: :rewrite, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.4", [hex: :sourceror, repo: "hexpm", optional: false]}, {:spitfire, ">= 0.1.3 and < 1.0.0-0", [hex: :spitfire, repo: "hexpm", optional: false]}], "hexpm", "fcd99096fde4797f7b48bebddcfc58785569acd696346a3eb385bf813f47a7cc"},
"igniter": {:hex, :igniter, "0.8.1", "3c6ea47f3a6031015e29da8b4ba5c685f0a2e409facf63041fd83e982ca3aa89", [:mix], [{:ex_ast, "~> 0.5", [hex: :ex_ast, repo: "hexpm", optional: false]}, {:glob_ex, "~> 0.1.7", [hex: :glob_ex, repo: "hexpm", optional: false]}, {:jason, "~> 1.4.5", [hex: :jason, repo: "hexpm", optional: false]}, {:owl, "~> 0.11", [hex: :owl, repo: "hexpm", optional: false]}, {:phx_new, "~> 1.7", [hex: :phx_new, repo: "hexpm", optional: true]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}, {:rewrite, ">= 1.1.1 and < 2.0.0-0", [hex: :rewrite, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.4", [hex: :sourceror, repo: "hexpm", optional: false]}, {:spitfire, ">= 0.1.3 and < 1.0.0-0", [hex: :spitfire, repo: "hexpm", optional: false]}], "hexpm", "d99472e6daf3bfc3675d699c6c7ace9196f377207aab83e09d7b95e9d90e8ae8"},
"jason": {:hex, :jason, "1.4.5", "2e3a008590b0b8d7388c20293e9dcc9cf3e5d642fd2a114e4cbbb52e595d940a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0 or ~> 3.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "b0c823996102bcd0239b3c2444eb00409b72f6a140c1950bc8b457d836b30684"},
"lazy_html": {:hex, :lazy_html, "0.1.11", "136c8e9cd616b4f4e9c1562daa683880891120b759606dc4c3b6b18058ba5d79", [:make, :mix], [{:cc_precompiler, "~> 0.1", [hex: :cc_precompiler, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.9.0", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:fine, "~> 0.1.0", [hex: :fine, repo: "hexpm", optional: false]}], "hexpm", "3b1be592929c31eca1a21673d25696e5c14cddfe922d9d1a3e3b48be4163883b"},
"live_debugger": {:hex, :live_debugger, "1.0.0", "0bbcbdcb3b40b6862b6dfbb76579e7832e2787fee643031e5958f597def6fb32", [:mix], [{:file_system, "~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:igniter, ">= 0.5.40 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_live_view, ">= 1.1.7 and < 2.0.0-0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "b80f5d9db874d3270eb534738a10982b2b4ce55d58f94544e43b4a36111585fc"},
@@ -80,9 +80,9 @@
"telemetry_metrics": {:hex, :telemetry_metrics, "1.1.0", "5bd5f3b5637e0abea0426b947e3ce5dd304f8b3bc6617039e2b5a008adc02f8f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e7b79e8ddfde70adb6db8a6623d1778ec66401f366e9a8f5dd0955c56bc8ce67"},
"telemetry_poller": {:hex, :telemetry_poller, "1.3.0", "d5c46420126b5ac2d72bc6580fb4f537d35e851cc0f8dbd571acf6d6e10f5ec7", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "51f18bed7128544a50f75897db9974436ea9bfba560420b646af27a9a9b35211"},
"text_diff": {:hex, :text_diff, "0.1.0", "1caf3175e11a53a9a139bc9339bd607c47b9e376b073d4571c031913317fecaa", [:mix], [], "hexpm", "d1ffaaecab338e49357b6daa82e435f877e0649041ace7755583a0ea3362dbd7"},
"thousand_island": {:hex, :thousand_island, "1.4.3", "2158209580f633be38d43ec4e3ce0a01079592b9657afff9080d5d8ca149a3af", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "6e4ce09b0fd761a58594d02814d40f77daff460c48a7354a15ab353bb998ea0b"},
"thousand_island": {:hex, :thousand_island, "1.5.0", "f50a213cac97262b6d5ebb85745aa2c00fec1413191e6e66834788d45425cecb", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "708923d40523e43cf99041ab37a0d4b0ec426ac6438fa3716ab23d919eaeb412"},
"tidewave": {:hex, :tidewave, "0.5.6", "91f35540b5599640443f1d3a1c6166bf506e202840261a6344e384e8813c1f64", [:mix], [{:circular_buffer, "~> 0.4 or ~> 1.0", [hex: :circular_buffer, repo: "hexpm", optional: false]}, {:igniter, "~> 0.6", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix_live_reload, ">= 1.6.1", [hex: :phoenix_live_reload, repo: "hexpm", optional: true]}, {:plug, "~> 1.17", [hex: :plug, repo: "hexpm", optional: false]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}], "hexpm", "dc82d52b8b6ffc04680544b17cd340c7d4166bb0d63999eb960850526866b533"},
"time_zone_info": {:hex, :time_zone_info, "0.7.13", "f9a405d1c473fe18b5f72daef56a7b7b3784c03d9e5f7cf2ae1368a853961159", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:nimble_parsec, "~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "8abeada18cefbc242ecd0411150eac123a1a723a491a97e263c57b4848f95876"},
"time_zone_info": {:hex, :time_zone_info, "0.7.14", "53ca1944930f581cb78f9180a79607e94dc41fa91aa8fe4c6b419161634f07f8", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:nimble_parsec, "~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "6c425d0ae4d6a44c837c62fe77736a143e829153244aafba713c9d37b5f5fde1"},
"typst": {:hex, :typst, "0.3.4", "ad22590f5b775c86494404460397c868024f17f6d965cce18e7d9723f4317112", [:mix], [{:rustler, ">= 0.0.0", [hex: :rustler, repo: "hexpm", optional: true]}, {:rustler_precompiled, "~> 0.8", [hex: :rustler_precompiled, repo: "hexpm", optional: false]}], "hexpm", "1cadf8d70dbbf242161ef5dd1446cde3a133570f60ec2504216e3f8df02993f2"},
"usage_rules": {:hex, :usage_rules, "1.2.6", "a7b3f8d6e5d265701139d5714749c37c54bb82230a4c51ec54a12a1e4769b9d1", [:mix], [{:igniter, ">= 0.6.6 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}], "hexpm", "608411b9876a16a9d62a427dbaf42faf458e4cd0a508b3bd7e5ee71502073582"},
"vix": {:hex, :vix, "0.38.0", "77529ee4f6ced339c3d5f90a9eacf306f5b7109d3d1b5e3ef391a984ad404f75", [:make, :mix], [{:cc_precompiler, "~> 0.1.4 or ~> 0.2", [hex: :cc_precompiler, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.7.3 or ~> 0.8", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:kino, "~> 0.7", [hex: :kino, repo: "hexpm", optional: true]}], "hexpm", "dca58f654922fa678d5df8e028317483d9c0f8acb2e2714076a8468695687aa7"},