diff --git a/mix.lock b/mix.lock index fe3150cb..b10a003e 100644 --- a/mix.lock +++ b/mix.lock @@ -49,7 +49,7 @@ "nimble_totp": {:hex, :nimble_totp, "1.0.0", "79753bae6ce59fd7cacdb21501a1dbac249e53a51c4cd22b34fa8438ee067283", [:mix], [], "hexpm", "6ce5e4c068feecdb782e85b18237f86f66541523e6bad123e02ee1adbe48eda9"}, "oban": {:hex, :oban, "2.20.3", "e4d27336941955886cc7113420c32c63b70b64f10b27e08e3cf2b001153953cd", [:mix], [{:ecto_sql, "~> 3.10", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:ecto_sqlite3, "~> 0.9", [hex: :ecto_sqlite3, repo: "hexpm", optional: true]}, {:igniter, "~> 0.5", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:myxql, "~> 0.7", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.20", [hex: :postgrex, repo: "hexpm", optional: true]}, {:telemetry, "~> 1.3", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "075ffbf1279a96bec495bc63d647b08929837d70bcc0427249ffe4d1dddaec33"}, "oban_met": {:hex, :oban_met, "1.0.5", "bb633ab06448dab2ef9194f6688d33b3d07fc3f2ad793a1a08f4dfbb2cc9fe50", [:mix], [{:oban, "~> 2.19", [hex: :oban, repo: "hexpm", optional: false]}], "hexpm", "64664d50805bbfd3903aeada1f3c39634652a87844797ee400b0bcc95a28f5ea"}, - "oban_web": {:hex, :oban_web, "2.11.7", "a998868bb32b3d3c44f328a8baec820af5c3b46a3a743d89c169e75b0bf7efcc", [:mix], [{:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}, {:oban, "~> 2.19", [hex: :oban, repo: "hexpm", optional: false]}, {:oban_met, "~> 1.0", [hex: :oban_met, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}], "hexpm", "f0ef9ec8f97381a0287c60a732736ff77bc351cbbe82eceffb5a635f84788656"}, + "oban_web": {:hex, :oban_web, "2.11.8", "be6521b5b1eb6d4182f40f5acc948ea65d243451b94c26f06a7329575748f695", [:mix], [{:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}, {:oban, "~> 2.19", [hex: :oban, repo: "hexpm", optional: false]}, {:oban_met, "~> 1.0", [hex: :oban_met, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}], "hexpm", "d0c04a836d929ef037e96be142285238275aabbafe62543bbdcc3f541d29ec30"}, "parse_trans": {:hex, :parse_trans, "3.4.1", "6e6aa8167cb44cc8f39441d05193be6e6f4e7c2946cb2759f015f8c56b76e5ff", [:rebar3], [], "hexpm", "620a406ce75dada827b82e453c19cf06776be266f5a67cff34e1ef2cbb60e49a"}, "phoenix": {:hex, :phoenix, "1.8.3", "49ac5e485083cb1495a905e47eb554277bdd9c65ccb4fc5100306b350151aa95", [:mix], [{:bandit, "~> 1.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, 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.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "36169f95cc2e155b78be93d9590acc3f462f1e5438db06e6248613f27c80caec"}, "phoenix_ecto": {:hex, :phoenix_ecto, "4.7.0", "75c4b9dfb3efdc42aec2bd5f8bccd978aca0651dbcbc7a3f362ea5d9d43153c6", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "1d75011e4254cb4ddf823e81823a9629559a1be93b4321a6a5f11a5306fbf4cc"}, diff --git a/vendor/README.md b/vendor/README.md index b9c96799..9e5fb2a4 100644 --- a/vendor/README.md +++ b/vendor/README.md @@ -37,7 +37,7 @@ Advanced Oban features including batching, workflows, dynamic partitioning, and ### Oban Web -**Version**: 2.11.7 +**Version**: 2.11.8 **Source**: https://hex.pm/packages/oban_web **License**: Apache-2.0 diff --git a/vendor/oban_web/.hex b/vendor/oban_web/.hex index 29d01820..d4c34ee5 100644 Binary files a/vendor/oban_web/.hex and b/vendor/oban_web/.hex differ diff --git a/vendor/oban_web/CHANGELOG.md b/vendor/oban_web/CHANGELOG.md index 4127634f..a31d1bd2 100644 --- a/vendor/oban_web/CHANGELOG.md +++ b/vendor/oban_web/CHANGELOG.md @@ -76,6 +76,20 @@ callback][rsc]. [rsc]: Oban.Web.Resolver.html#c:bulk_action_limit/1 +## v2.11.8 - 2026-02-06 + +### Enhancements + +- [Dashboard] Add standalone docker image for simplified Web hosting + + A standalone Docker image is now available for situations where you want an Oban dashboard + without mounting Oban.Web within your application. + +- [Job] Safely handle missing timestamps in jobs table + + Manual table updates may forget to include a timestamp for a particular state, which crashes the + table. This provides an empty fallback for missing timestamps. + ## v2.11.7 - 2026-01-22 ### Enhancements diff --git a/vendor/oban_web/README.md b/vendor/oban_web/README.md index 71029477..52e34895 100644 --- a/vendor/oban_web/README.md +++ b/vendor/oban_web/README.md @@ -74,6 +74,21 @@ fully realtime. See the [installation guide](https://hexdocs.pm/oban_web/installation.html) for details on installing and configuring Oban Web for your application. +### Standalone Docker Image + +A standalone Docker image is available for monitoring Oban without embedding the dashboard in your +application: + +```bash +docker run -d \ + -e DATABASE_URL="postgres://user:pass@host:5432/myapp" \ + -p 4000:4000 \ + ghcr.io/oban-bg/oban-dash +``` + +See the [standalone guide](https://hexdocs.pm/oban_web/standalone.html) for configuration options +and details. + ## Contributing diff --git a/vendor/oban_web/hex_metadata.config b/vendor/oban_web/hex_metadata.config index 66026a7b..98e3b2ae 100644 --- a/vendor/oban_web/hex_metadata.config +++ b/vendor/oban_web/hex_metadata.config @@ -4,7 +4,7 @@ <<"https://github.com/oban-bg/oban_web/blob/main/CHANGELOG.md">>}, {<<"GitHub">>,<<"https://github.com/oban-bg/oban_web">>}]}. {<<"name">>,<<"oban_web">>}. -{<<"version">>,<<"2.11.7">>}. +{<<"version">>,<<"2.11.8">>}. {<<"description">>,<<"Dashboard for the Oban job processing framework">>}. {<<"elixir">>,<<"~> 1.15">>}. {<<"files">>, diff --git a/vendor/oban_web/lib/oban/web/components/icons.ex b/vendor/oban_web/lib/oban/web/components/icons.ex index 3f263906..24d04234 100644 --- a/vendor/oban_web/lib/oban/web/components/icons.ex +++ b/vendor/oban_web/lib/oban/web/components/icons.ex @@ -3,6 +3,24 @@ defmodule Oban.Web.Components.Icons do # Helpers + attr :rest, :global, + default: %{ + "aria-hidden": "true", + class: "w-4 h-4", + fill: "currentColor", + viewBox: "0 0 16 16" + } + + slot :inner_block, required: true + + defp svg_mini(assigns) do + ~H""" + + """ + end + attr :rest, :global, default: %{ "stroke-width": "1.5", diff --git a/vendor/oban_web/lib/oban/web/components/sidebar_components.ex b/vendor/oban_web/lib/oban/web/components/sidebar_components.ex index 808d8ab8..964d46ca 100644 --- a/vendor/oban_web/lib/oban/web/components/sidebar_components.ex +++ b/vendor/oban_web/lib/oban/web/components/sidebar_components.ex @@ -12,11 +12,7 @@ defmodule Oban.Web.SidebarComponents do width: var(--sidebar-width, <%= @width %>px); } -