Skip to content

fix: [UIE-9799] - Ensure browser history integrity when redirecting in IAM#13190

Merged
abailly-akamai merged 2 commits intolinode:developfrom
abailly-akamai:UIE-9799
Dec 12, 2025
Merged

fix: [UIE-9799] - Ensure browser history integrity when redirecting in IAM#13190
abailly-akamai merged 2 commits intolinode:developfrom
abailly-akamai:UIE-9799

Conversation

@abailly-akamai
Copy link
Contributor

@abailly-akamai abailly-akamai commented Dec 10, 2025

Description 📝

When navigating to /iam from the primary nav, we redirect to iam/users but without a replace the history gets gets stuck (-1 is ignored).

Changes 🔄

  • Use router replace for IAM redirects

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Preview 📷

Before After
Screen.Recording.2025-12-11.at.10.24.37.mov
Screen.Recording.2025-12-11.at.10.22.12.mov

How to test 🧪

Prerequisites

An IAM enabled account

Reproduction steps

  • Load cloud manager at /linodes
  • Navigate to "Identity and Access" from the primary nav
  • Click the browser back button
  • 🚫 Notice no redirect happens the first time, and a history -2 will happen the second time

Verification steps

  • Load cloud manager at /linodes
  • Navigate to "Identity and Access" from the primary nav
  • Click the browser back button
  • ✅ Proper history -1 navigation
  • ✅ Confirm no regression with redirects in general (from /users to /iam/users etc)
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support

  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

Copy link
Contributor

@jdamore-linode jdamore-linode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks @abailly-akamai! Confirmed this fixed the issue navigating back from the IAM page

@abailly-akamai abailly-akamai marked this pull request as ready for review December 11, 2025 10:04
@abailly-akamai abailly-akamai requested a review from a team as a code owner December 11, 2025 10:05
@abailly-akamai abailly-akamai requested review from aaleksee-akamai and mpolotsk-akamai and removed request for a team December 11, 2025 10:05
@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Dec 11, 2025
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 7 failing tests on test run #2 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
7 Failing820 Passing11 Skipped53m 13s

Details

Failing Tests
SpecTest
plan-selection.spec.tsCloud Manager Cypress Tests→displays specific linode plans for GPU » Should render divided tables when GPU divider enabled
plan-selection.spec.tsCloud Manager Cypress Tests→displays specific kubernetes plans for GPU » Should render divided tables when GPU divider enabled
create-linode-blackwell.spec.tsCloud Manager Cypress Tests→smoketest for Nvidia blackwell GPUs in linodes/create page » disables Blackwells if disabled region selected
create-linode-blackwell.spec.tsCloud Manager Cypress Tests→smoketest for Nvidia blackwell GPUs in linodes/create page » enables Blackwells if enabled region selected
lke-create.spec.tsCloud Manager Cypress Tests→smoketest for Nvidia Blackwell GPUs in kubernetes/create page→standard tier » enabled feature flag includes blackwells
clone-linode.spec.tsCloud Manager Cypress Tests→clone linode » can clone a Linode from Linode details page
create-linode.spec.tsCloud Manager Cypress Tests→Create Linode→End-to-end→By plan type » creates a Premium CPU Linode

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/linodes/plan-selection.spec.ts,cypress/e2e/core/linodes/create-linode-blackwell.spec.ts,cypress/e2e/core/kubernetes/lke-create.spec.ts,cypress/e2e/core/linodes/clone-linode.spec.ts,cypress/e2e/core/linodes/create-linode.spec.ts"

@abailly-akamai abailly-akamai merged commit b49985e into linode:develop Dec 12, 2025
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Dec 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants