From 81ddf22aa0a0d13397476185e6a150bce065a872 Mon Sep 17 00:00:00 2001
From: Jamil
Date: Mon, 22 Sep 2025 11:35:13 -0400
Subject: [PATCH] fix(portal): use href for non-live routes (#10407)
When redirecting to paths that don't have LiveViews attached to them,
LiveView complains and emits a warning. To reduce alarm noise this PR
attempts to fix the issue.
---
.../web/lib/web/components/navigation_components.ex | 2 +-
.../live/settings/identity_providers/components.ex | 12 +++++-------
.../identity_providers/google_workspace/edit.ex | 2 +-
.../identity_providers/google_workspace/new.ex | 2 +-
.../settings/identity_providers/jumpcloud/edit.ex | 2 +-
.../settings/identity_providers/jumpcloud/new.ex | 2 +-
.../identity_providers/microsoft_entra/edit.ex | 2 +-
.../identity_providers/microsoft_entra/new.ex | 2 +-
.../live/settings/identity_providers/okta/edit.ex | 2 +-
.../web/live/settings/identity_providers/okta/new.ex | 2 +-
.../identity_providers/openid_connect/edit.ex | 2 +-
.../identity_providers/openid_connect/new.ex | 2 +-
elixir/apps/web/lib/web/live/sign_in.ex | 2 +-
13 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/elixir/apps/web/lib/web/components/navigation_components.ex b/elixir/apps/web/lib/web/components/navigation_components.ex
index e9e3bcad9..3471df952 100644
--- a/elixir/apps/web/lib/web/components/navigation_components.ex
+++ b/elixir/apps/web/lib/web/components/navigation_components.ex
@@ -342,7 +342,7 @@ defmodule Web.NavigationComponents do
def website_link(assigns) do
~H"""
<.link
- navigate={"https://www.firezone.dev#{@path}?utm_source=product##{@fragment}"}
+ href={"https://www.firezone.dev#{@path}?utm_source=product##{@fragment}"}
class={link_style()}
target="_blank"
{@rest}
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/components.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/components.ex
index ec31b25d1..3271ffd49 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/components.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/components.ex
@@ -56,7 +56,7 @@ defmodule Web.Settings.IdentityProviders.Components do
<.button
size="xs"
- navigate={
+ href={
~p"/#{@provider.account_id}/settings/identity_providers/google_workspace/#{@provider}/redirect"
}
>
@@ -112,7 +112,7 @@ defmodule Web.Settings.IdentityProviders.Components do
<.button
size="xs"
- navigate={
+ href={
~p"/#{@provider.account_id}/settings/identity_providers/microsoft_entra/#{@provider}/redirect"
}
>
@@ -168,9 +168,7 @@ defmodule Web.Settings.IdentityProviders.Components do
<.button
size="xs"
- navigate={
- ~p"/#{@provider.account_id}/settings/identity_providers/okta/#{@provider}/redirect"
- }
+ href={~p"/#{@provider.account_id}/settings/identity_providers/okta/#{@provider}/redirect"}
>
Connect IdP
@@ -198,7 +196,7 @@ defmodule Web.Settings.IdentityProviders.Components do
<.button
size="xs"
- navigate={
+ href={
~p"/#{@provider.account_id}/settings/identity_providers/jumpcloud/#{@provider}/redirect"
}
>
@@ -228,7 +226,7 @@ defmodule Web.Settings.IdentityProviders.Components do
<.button
size="xs"
- navigate={
+ href={
~p"/#{@provider.account_id}/settings/identity_providers/openid_connect/#{@provider}/redirect"
}
>
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/google_workspace/edit.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/google_workspace/edit.ex
index 1ef9c7596..ef3f074ac 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/google_workspace/edit.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/google_workspace/edit.ex
@@ -59,7 +59,7 @@ defmodule Web.Settings.IdentityProviders.GoogleWorkspace.Edit do
with {:ok, provider} <-
Auth.update_provider(socket.assigns.provider, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/google_workspace/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/google_workspace/new.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/google_workspace/new.ex
index 8876c0792..953be3f91 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/google_workspace/new.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/google_workspace/new.ex
@@ -73,7 +73,7 @@ defmodule Web.Settings.IdentityProviders.GoogleWorkspace.New do
with {:ok, provider} <-
Auth.create_provider(socket.assigns.account, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/google_workspace/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/jumpcloud/edit.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/jumpcloud/edit.ex
index d5238c135..67262b668 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/jumpcloud/edit.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/jumpcloud/edit.ex
@@ -56,7 +56,7 @@ defmodule Web.Settings.IdentityProviders.JumpCloud.Edit do
with {:ok, provider} <-
Auth.update_provider(socket.assigns.provider, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/jumpcloud/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/jumpcloud/new.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/jumpcloud/new.ex
index 791317afd..9bd2561bb 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/jumpcloud/new.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/jumpcloud/new.ex
@@ -74,7 +74,7 @@ defmodule Web.Settings.IdentityProviders.JumpCloud.New do
with {:ok, provider} <-
Auth.create_provider(socket.assigns.account, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/jumpcloud/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/microsoft_entra/edit.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/microsoft_entra/edit.ex
index 7eaabbb14..0a1d1ac63 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/microsoft_entra/edit.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/microsoft_entra/edit.ex
@@ -55,7 +55,7 @@ defmodule Web.Settings.IdentityProviders.MicrosoftEntra.Edit do
with {:ok, provider} <-
Auth.update_provider(socket.assigns.provider, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/microsoft_entra/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/microsoft_entra/new.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/microsoft_entra/new.ex
index 7c5006d04..9ddae409e 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/microsoft_entra/new.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/microsoft_entra/new.ex
@@ -73,7 +73,7 @@ defmodule Web.Settings.IdentityProviders.MicrosoftEntra.New do
with {:ok, provider} <-
Auth.create_provider(socket.assigns.account, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/microsoft_entra/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/okta/edit.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/okta/edit.ex
index 2095187ab..4629357e0 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/okta/edit.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/okta/edit.ex
@@ -62,7 +62,7 @@ defmodule Web.Settings.IdentityProviders.Okta.Edit do
with {:ok, provider} <-
Auth.update_provider(socket.assigns.provider, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/okta/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/okta/new.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/okta/new.ex
index 98d49f8ad..6e6afd53a 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/okta/new.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/okta/new.ex
@@ -78,7 +78,7 @@ defmodule Web.Settings.IdentityProviders.Okta.New do
with {:ok, provider} <-
Auth.create_provider(socket.assigns.account, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/okta/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/openid_connect/edit.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/openid_connect/edit.ex
index 906dd9431..1b00315ee 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/openid_connect/edit.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/openid_connect/edit.ex
@@ -58,7 +58,7 @@ defmodule Web.Settings.IdentityProviders.OpenIDConnect.Edit do
with {:ok, provider} <-
Auth.update_provider(socket.assigns.provider, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/openid_connect/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/settings/identity_providers/openid_connect/new.ex b/elixir/apps/web/lib/web/live/settings/identity_providers/openid_connect/new.ex
index bc46c37aa..772699e36 100644
--- a/elixir/apps/web/lib/web/live/settings/identity_providers/openid_connect/new.ex
+++ b/elixir/apps/web/lib/web/live/settings/identity_providers/openid_connect/new.ex
@@ -68,7 +68,7 @@ defmodule Web.Settings.IdentityProviders.OpenIDConnect.New do
with {:ok, provider} <-
Auth.create_provider(socket.assigns.account, attrs, socket.assigns.subject) do
socket =
- push_navigate(socket,
+ redirect(socket,
to:
~p"/#{socket.assigns.account.id}/settings/identity_providers/openid_connect/#{provider}/redirect"
)
diff --git a/elixir/apps/web/lib/web/live/sign_in.ex b/elixir/apps/web/lib/web/live/sign_in.ex
index 89c2d5795..2c4e7deac 100644
--- a/elixir/apps/web/lib/web/live/sign_in.ex
+++ b/elixir/apps/web/lib/web/live/sign_in.ex
@@ -120,7 +120,7 @@ defmodule Web.SignIn do
Looking for a different account?
- <.link navigate={~p"/"} class={[link_style()]}>
+ <.link href={~p"/"} class={[link_style()]}>
See recently used accounts.