Skip to content

Conversation

@jaalah-akamai
Copy link
Contributor

Description πŸ“

  • /linode/instances/<id>/clone was missing v4beta
  • For derived start times <1 hour, label could read β€œin 0 hours.”

Changes πŸ”„

  • Relative-time label tiers:
    • in X days Y hours (>= 1 day)
    • in X hours (>= 1 hour and < 1 day)
    • in N minutes (< 1 hour)
    • in N seconds (< 1 minute)
    • Never show β€œin 0 hours.”
  • Past Times:
    • X days Y hours ago (>= 1 day)
    • X hours ago (>= 1 hour and < 1 day)
    • N minutes ago (< 1 hour)
    • N seconds ago (< 1 minute)

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

Target release date πŸ—“οΈ

11/14

Preview πŸ“·

Before After
Screenshot 2025-10-31 at 11 56 35β€―AM Screenshot 2025-10-31 at 11 24 57β€―AM Screenshot 2025-10-31 at 11 25 21β€―AMScreenshot 2025-10-31 at 11 25 41β€―AMScreenshot 2025-10-31 at 11 24 28β€―AM
Before After
seconds.mov
minutes.mov

How to test πŸ§ͺ

Verification steps

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

@jaalah-akamai jaalah-akamai marked this pull request as ready for review October 31, 2025 16:18
@jaalah-akamai jaalah-akamai requested a review from a team as a code owner October 31, 2025 16:18
Copy link
Contributor

@dwiley-akamai dwiley-akamai left a comment

Choose a reason for hiding this comment

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

LGTM -- this is probably because we're mocking the data, but with an actual maintenance, once the start time passes (i.e., the "When" field says something like "1 minute ago"), it wouldn't stay in the "Upcoming" table, right?

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Oct 31, 2025
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

πŸ”Ί 5 failing tests on test run #2 β†—οΈŽ

❌ Failingβœ… Passingβ†ͺ️ SkippedπŸ• Duration
5 Failing848 Passing11 Skipped58m 4s

Details

Failing Tests
SpecTest
❌vm-host-maintenance-linode.spec.tsCloud Manager Cypress Testsβ†’Host & VM maintenance notification banner Β» maintenance notification banner on landing page for 1 linode
❌vm-host-maintenance-linode.spec.tsCloud Manager Cypress Testsβ†’Host & VM maintenance notification banner Β» maintenance notification banner on landing page for >1 linodes
❌vm-host-maintenance-linode.spec.tsCloud Manager Cypress Testsβ†’Host & VM maintenance notification banner Β» banner present on details page when linode has pending maintenance
❌clone-linode.spec.tsCloud Manager Cypress Testsβ†’clone linode Β» can clone a Linode from Linode details page
❌timerange-verification.spec.tsCloud Manager Cypress Testsβ†’Integration tests for verifying Cloudpulse custom and preset configurations Β» should implement and validate custom date/time picker for a specific date and time range

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/linodes/vm-host-maintenance-linode.spec.ts,cypress/e2e/core/linodes/clone-linode.spec.ts,cypress/e2e/core/cloudpulse/timerange-verification.spec.ts"

@jaalah-akamai
Copy link
Contributor Author

LGTM -- this is probably because we're mocking the data, but with an actual maintenance, once the start time passes (i.e., the "When" field says something like "1 minute ago"), it wouldn't stay in the "Upcoming" table, right?

Yes that's right! I forgot to mention that, it would move to the completed table.

@jaalah-akamai
Copy link
Contributor Author

jaalah-akamai commented Oct 31, 2025

These tests appear flaky - passing locally

VM Clone (ran x2)
Screenshot 2025-10-31 at 1 29 47β€―PM Screenshot 2025-10-31 at 1 32 11β€―PM
Screenshot 2025-10-31 at 1 31 56β€―PM

@jaalah-akamai jaalah-akamai merged commit 9e9284a into linode:staging Oct 31, 2025
34 of 35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Oct 31, 2025
abailly-akamai pushed a commit to abailly-akamai/manager that referenced this pull request Nov 7, 2025
… for < 1 hour (linode#13045)

* fix: [M3-9498] - Update linode/clone endpoint and label calculations for < 1 hour

* Add changelogs

---------

Co-authored-by: Jaalah Ramos <[email protected]>
abailly-akamai added a commit that referenced this pull request Nov 7, 2025
* initial commit

* Added changeset: Address oAuth issue with IAM OAuthCallback

* fix: [UIE-9456 & UIE-9457] - Typo + expose search filters on /iam/roles route (#13034)

* UIE-9456 & UIE-9457

* test

* Added changeset: Typo + expose search filters on /iam/roles route

* feat: [UIE-9481] - IAM: add perm check for the drawer (#13043)

* feat: [UIE-9481] - IAM: add perm check for the drawer

* Added changeset: IAM: add a permission check for delete nodebalancer drawer

* feat: [UIE-9503] - add empty state to Default Roles/Entities tab (#13042)

* feat: add empty state to Default Roles/Entities table

* Added changeset: IAM: Empty state for the Default Roles and Default Entities Access tabs

* update text

* add unit tests

* review fix

* unit test fix

* fix: [UIE-9478] - IAM: disable tag edit (#13046)

* fix: [UIE-9478] - IAM: disable tag edit

* Added changeset: IAM: tags editing was enabled for restricted users

* fix: [UIE-9478] - add tooltip, disable manage tags in Volume action menu

* style fix

* Cloud version 1.154.0, API v4 version 0.152.0, Validation version 0.78.0, UI version 0.23.0

* Cloud version 1.154.0, API v4 version 0.152.0, Validation version 0.78.0, UI version 0.23.0

* fix: [M3-10698] - Update linode/clone endpoint and label calculations for < 1 hour (#13045)

* fix: [M3-9498] - Update linode/clone endpoint and label calculations for < 1 hour

* Add changelogs

---------

Co-authored-by: Jaalah Ramos <[email protected]>

* fix: [UIE-9520] - IAM Child Account - user not found error handling (#13047)

* try/cath child user query

* consistent handling

* types

* Added changeset: IAM Child Account - user not found error handling

* fix: [UIE-9477] - IAM: disable delete and detach popups for Volumes when user has no permissions (#13049)

* fix: [UIE-9477] - IAM: Disable delete and detach popups for Volumes if no permissions

* Added changeset: IAM: restricted  users could access delete and detach popups without permissions

* upcoming: [UIE-9434] - Create feature flag for generational compute plans (#13054)

* upcoming: [UIE-9434] - Create feature flag for generational compute plans

* Added changeset: Feature flag for Generational Compute plans

* test: [DPS-34825] Add cypress tests for Create/Edit Stream forms and Streams Landing (#13008)

* refactor: [DI-27807] - Change status of edit & delete button in alert list table based on status (#13052)

* refactor: [DI-27807] - Change status of edit & delete button in alert list table based on status

* Added comment

* Added changeset

* refactor: [DI-27807] - Updated test cases

* upcoming: [UIE-9368] - Create a firewall Rulesets & Preflixlists feature flag (#13051)

* Add firewall rs & pl feature flag

* Added changeset: Feature flag for Firewall Rulesets & Prefixlists

* feat: [UIE-9341, UIE-9342, UIE-9521] - IAM: fix perm for vpcs (#13050)

* UIE-9342

* UIE-9341

* feat: [UIE-9341, UIE-9342, UIE-9521] - IAM: fix perm for vpc

* Added changeset: IAM: fix permissiom's check for vpc for assigning/unassigning linodes

* filter linodes

* e2e deferred getLinodes call

---------

Co-authored-by: Alban Bailly <[email protected]>

* refactor: [UIE-9325] - Replace Formik with React Hook Form in AddAccessControlDrawer (#13044)

## Description πŸ“

Refactor Database Manage Networking drawer to use React Hook Form instead of Formik

## Changes  πŸ”„

- There should be no visual external changes other than IP validation on blur instead of after clicking Update Access Controls

## How to test πŸ§ͺ

### Prerequisites

(How to setup test environment)

- Have the Database VPC feature flag enabled

### Verification steps

(How to verify changes)

- [ ] Test adding/editing IPs in the Database landing page via Manage Access Controls action dropdown
- [ ] Test adding/editing IPs in the Database details page via the Networking tab
- [ ] There should be no regressions compared to prod, error messages should display

* [UIE-9533] -Hopeful fix: Race condition with Preferences overrides in PrimaryNav (#13056)

* attempt to rule out any race condition

* comments

* code and fixes

* cleanup

* Added changeset: Race condition with Preferences overrides in PrimaryNav

* feat: [UIE-9393] - IAM Parent/Child: delegate permissions for child account (#13033)

* feat: [UIE-9393] - IAM Parent/Child: delegate permissions for child account

* changesets

* remove the unrestricted check for query

* fix conflict

* e2e gating

* lint fix

* better approach to fixing e2e

* Mock IAM to be disabled in Account Switching test

---------

Co-authored-by: Alban Bailly <[email protected]>
Co-authored-by: Alban Bailly <[email protected]>
Co-authored-by: Joe D'Amore <[email protected]>

* feat: [UIE-9534] - IAM: fix perm for nodebalancer (#13058)

* feat: [UIE-9534] - IAM: add tooltips

* Added changeset: IAM: add tooltips for disabled buttons for nodebalancers, remove notification banner

* update text

* remove tooltip

* change:[UIE-9541] Add MSW crud support for types API (#13067)

* change:[UIE-9541] Add MSW crud support for types API

* Added changeset: Add MSW crud support for types API

* Added changeset: Add MSW crud support for types API

---------

Co-authored-by: aaleksee-akamai <[email protected]>
Co-authored-by: mpolotsk-akamai <[email protected]>
Co-authored-by: Dajahi Wiley <[email protected]>
Co-authored-by: Jaalah Ramos <[email protected]>
Co-authored-by: Jaalah Ramos <[email protected]>
Co-authored-by: grevanak-akamai <[email protected]>
Co-authored-by: mduda-akamai <[email protected]>
Co-authored-by: Nikhil Agrawal <[email protected]>
Co-authored-by: Purvesh Makode <[email protected]>
Co-authored-by: Hana Xu <[email protected]>
Co-authored-by: Joe D'Amore <[email protected]>
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