Skip to content

fix: [M3-10273] - Unexpected Linode Create deep link behavior#12457

Merged
bnussman-akamai merged 6 commits intolinode:developfrom
bnussman-akamai:M3-10273-fix-unexpected-linode-create-deep-link-behavior
Jul 2, 2025
Merged

fix: [M3-10273] - Unexpected Linode Create deep link behavior#12457
bnussman-akamai merged 6 commits intolinode:developfrom
bnussman-akamai:M3-10273-fix-unexpected-linode-create-deep-link-behavior

Conversation

@bnussman-akamai
Copy link
Member

@bnussman-akamai bnussman-akamai commented Jul 1, 2025

Description 📝

  • Improves/fixes unexpected Linode Create flow behavior when deep linking from a Linode to Clone or a Backup

Preview 📷

Before After
Screen.Recording.2025-07-01.at.5.16.31.PM.mov
Screen.Recording.2025-07-01.at.5.17.18.PM.mov
  • Query params are not fully resetting when changing tabs
  • When switching from the Clone tab to the backups tab, the selected Linode persists, but switching back to the Clone tab clears the current selection (the interation is weird/unexpected)
  • Query params get properly reset when changing tabs
  • The selected Linode gets cleared when changing tabs

How to test 🧪

Prerequisites

  • Have a Linode on your account
  • Have a Linode on your account with a backup

Verification steps

  • Verify when you click "Clone" on an existing Linode, it send you to the Linode Create page with the Linode prefilled
  • Try switching to the "Backups" tab
  • Verify the currently selected Linode gets cleared (and the search field gets cleared too)
  • Verify that the querry params get cleared. The only param that should remain when switching tabs is ?type=Backups
  • Verify you can also deep link to a backup with similar behavior as described above
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 unit tests are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@bnussman-akamai bnussman-akamai self-assigned this Jul 1, 2025
@bnussman-akamai bnussman-akamai changed the title fix: [M3-10273] - Improve Linode Create deep link behavior fix: [M3-10273] - Unexpected Linode Create deep link behavior Jul 1, 2025
@bnussman-akamai bnussman-akamai marked this pull request as ready for review July 1, 2025 21:37
@bnussman-akamai bnussman-akamai requested a review from a team as a code owner July 1, 2025 21:37
@bnussman-akamai bnussman-akamai requested review from coliu-akamai, hana-akamai and mjac0bs and removed request for a team July 1, 2025 21:37

// Get the default values for the new tab and reset the form
defaultValues({ ...params, type: newTab }, queryClient, {
defaultValues(newParams, queryClient, {
Copy link
Member Author

Choose a reason for hiding this comment

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

When switching tab, I'm pretty sure we don't want to factor in the old search params. Not sure why I had this spread here

subtype: params.subtype ?? undefined,
type: params.type ?? undefined,
}),
search: params,
Copy link
Member Author

Choose a reason for hiding this comment

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

Small oversight originating from the Linode TanStack router changes.

setParams should override params, but updateParams above should just update them/merge the changed params.

updateParams({
stackScriptID: undefined,
subtype: tabs[index],
type: 'StackScripts',
Copy link
Member Author

Choose a reason for hiding this comment

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

This is unnecessary. The type param will already be StackScripts so there is no need to set it again

@hana-akamai hana-akamai added the Add'tl Approval Needed Waiting on another approval! label Jul 2, 2025
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 2 failing tests on test run #5 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
2 Failing669 Passing4 Skipped127m 57s

Details

Failing Tests
SpecTest
object-storage-objects-multicluster.spec.tsCloud Manager Cypress Tests→Object Storage Multicluster objects » Object Storage Multicluster objects
lke-create.spec.tsCloud Manager Cypress Tests→LKE Cluster Creation with LKE-E→shows the LKE-E flow with the feature flag on » LKE Cluster Creation with LKE-E→shows the LKE-E flow with the feature flag on

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/objectStorageMulticluster/object-storage-objects-multicluster.spec.ts,cypress/e2e/core/kubernetes/lke-create.spec.ts"

Copy link
Contributor

@mjac0bs mjac0bs left a comment

Choose a reason for hiding this comment

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

Thanks!

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Jul 2, 2025
@mjac0bs mjac0bs added Approved Multiple approvals and ready to merge! Bug Fixes for regressions or bugs and removed Add'tl Approval Needed Waiting on another approval! labels Jul 2, 2025
Copy link
Contributor

@coliu-akamai coliu-akamai left a comment

Choose a reason for hiding this comment

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

✅ confirmed deep link fixes

thank you!

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

Labels

Approved Multiple approvals and ready to merge! Bug Fixes for regressions or bugs

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

6 participants