- Add retry: false to VISP Client HTTP requests - Add retry: false to ReleaseChecker GitHub API requests - Remove unused Plug.Conn import from RemoteIpLogger - Remove unused default parameter from req_get/2 Results: - VISP sync test: 7007ms → 113ms (62x faster) - ReleaseChecker test: 7004ms → 17ms (402x faster) - UserResetPasswordLive test: 1495ms → 284ms (5x faster) Req's default retry behavior (1s, 2s, 4s exponential backoff) was causing 7-second delays for HTTP 500/503 error responses in tests. For these clients, immediate failure is preferred over retries.
38 lines
1.1 KiB
Elixir
38 lines
1.1 KiB
Elixir
defmodule ToweropsWeb.MaintenanceLive.Show do
|
|
@moduledoc false
|
|
use ToweropsWeb, :live_view
|
|
|
|
alias Towerops.Maintenance
|
|
alias ToweropsWeb.MaintenanceLive.Helpers
|
|
|
|
@impl true
|
|
def mount(%{"id" => id}, _session, socket) do
|
|
window = Maintenance.get_window!(id)
|
|
timezone = socket.assigns.current_scope.timezone
|
|
|
|
{:ok,
|
|
socket
|
|
|> assign(:page_title, window.name)
|
|
|> assign(:window, window)
|
|
|> assign(:timezone, timezone)}
|
|
end
|
|
|
|
@impl true
|
|
def handle_event("delete", _params, socket) do
|
|
case Maintenance.delete_window(socket.assigns.window) do
|
|
{:ok, _} ->
|
|
{:noreply,
|
|
socket
|
|
|> put_flash(:info, t("Maintenance window deleted"))
|
|
|> push_navigate(to: ~p"/maintenance")}
|
|
|
|
{:error, _} ->
|
|
{:noreply, put_flash(socket, :error, t("Unable to delete maintenance window"))}
|
|
end
|
|
end
|
|
|
|
defdelegate status_for(window), to: Helpers
|
|
defdelegate scope_label(window), to: Helpers
|
|
defdelegate format_datetime(dt, timezone), to: Helpers
|
|
defdelegate status_label(status), to: Helpers
|
|
end
|