Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: [M3-6789] - Improve failed backup error messaging #9364

Merged

Conversation

mjac0bs
Copy link
Contributor

@mjac0bs mjac0bs commented Jul 5, 2023

Description 📝

Error messaging for the backups service is minimal and does not provide users with much insight on the reason for a failure or whether they can address it.

Ultimately, we want to display more detailed error messages in Cloud Manager for failed backup restores and snapshot backups, which will require API to return these errors for Cloud to surface. This is ticketed and in the backlog: ARB-4001.

In the meantime, this PR addresses front-end improvements we can make to error messaging with the goal of (a) error prevention and (b) providing additional general context of limitations and requirements for the backup service.

We are updating generic error messages with a docs link to point users to potential reasons for the failure. We are also adding a warning notice in the linode create page to help prevent customers from encountering backup service failures due to unsupported disks being present in their configuration, which is a common reason backup restores fail.

Note: When testing, you may notice a bug where failed snapshot backups are returning incorrect finished timestamps (e.g. 2 seconds ago when the failure was 5 minutes ago). This is a known and ticketed API bug due to the way duration continues to accumulate for linode_snapshot events when the event is finished/failed. We're seeing it now due to recent changes (#9215) to update the timestamp for finished events, rather than use the created timestamp.

TODO - Address UX feedback:

  • Fix the link color in dark mode on error toasts.

Major Changes 🔄

  • Updates notification menu/activity feed events for backups_restore and linode_snapshot failure events include link to doc.
  • Updates error toasts for backups_restore and linode_snapshot failures to make them persistent, link to doc, and match the copy in the event failure message for consistency.
  • Displays a warning notice above the backups section when a user enables Backups as an Add-on when creating or cloning a new linode with a custom image.
  • Fixes a styling bug where the error notice on the Manual Snapshot section was displaying inline with textfield, rather than above.

Preview 📷

Before After Description
Screenshot 2023-07-04 at 10 05 33 PM Screenshot 2023-07-04 at 10 06 00 PM linode_snapshot error toast for failed manual snapshot backup
Screenshot 2023-07-04 at 10 02 22 PM Screenshot 2023-07-04 at 10 03 02 PM linode_snapshot event message for failed manual snapshot backup
Screenshot 2023-07-05 at 10 53 23 AM Screenshot 2023-07-05 at 10 48 28 AM backups_restore event message for failure
Screenshot 2023-07-05 at 10 48 17 AM added backups_restore error toast for failure
Screenshot 2023-07-05 at 9 35 40 AM warning notice for enabled Backups Add-on when creating with custom image
Screenshot 2023-07-04 at 10 04 52 PM Screenshot 2023-07-04 at 10 04 26 PM fixed styling regression for error notice in Manual Backups section

How to test 🧪

  1. How to setup test environment?
  2. How to reproduce the issue (if applicable)?
    1. Repeat steps below in 'How to verify changes' in prod and note that generic error messaging, non-persistent error toasts, and lack of warning about incompatible filesystems when enabling the backup service.
  3. How to verify changes?
    1. Create a Linode that backups will fail for. One way to do this is to create a Linode from an Image that is not a valid filesystem. Reach out to me for the test account that has a Linode with a bad image set up already or follow the steps below to create your own.
      1. Go to http://localhost:3000/images/create/upload and upload an image that is not in ext3 or ext4 format. For the purposes of testing, this can be a zipped text file containing anything. Call the image label bad-image or something similar.
    2. Once the bad-image has uploaded, go to http://localhost:3000/linodes/create?type=Images and select bad-image in the image dropdown. Fill in the necessary fields and then click the Backups checkbox to enable backups.
      1. Confirm that, only when the Backups add-on is checked, a warning notice appears informing the user of the file system limitations of backups when using custom images.
      2. Create the new linode (e.g. bad-image-us-west) from the bad image.
    3. Navigate to the Linode Details > Backups page and try to create a new manual snapshot backup.
      4. Quickly, while that backup is in progress, try to take another snapshot. Observe the error notice is displayed above the text field, fixing a regression in prod.
      5. When the snapshot backup fails (which it will, because our image is bad), confirm the error toast and event message with updated copy appear. If you want to test the error messaging for backups_restore, we can mock the event by adding to the MSW events endpoint:
    const failedBackupRestoreEvent = eventFactory.build({
      action: 'backups_restore',
      status: 'failed',
      percent_complete: 100,
    });
  1. Verify that the warning notice for compatible filesystems when enabling Backups also appears in the Clone create flow and not on the Distro create flow.
    1. Go to http://localhost:3000/linodes/create?type=Clone%20Linode and select your linode with a public image and enable backups; confirm no warning message. Select linode with a bad image and enable backups; confirm warning message. Go to http://localhost:3000/linodes/create?type=distro, select an image, and also confirm no warning message.

@mjac0bs mjac0bs self-assigned this Jul 5, 2023
@mjac0bs mjac0bs changed the title feat: [M3-6789 improve failed backup error messaging feat: [M3-6789] - Improve failed backup error messaging Jul 5, 2023
@mjac0bs mjac0bs added the UX/UI Changes for UI/UX to review label Jul 5, 2023
@cypress
Copy link

cypress bot commented Jul 5, 2023

1 flaky tests on run #4793 ↗︎

0 177 3 0 Flakiness 1

Details:

Fix toast link text color in dark mode
Project: Cloud Manager E2E Commit: 9ac5fb2180
Status: Passed Duration: 13:48 💡
Started: Jul 6, 2023 10:14 PM Ended: Jul 6, 2023 10:28 PM
Flakiness  cypress/e2e/core/linodes/smoke-linode-landing-table.spec.ts • 1 flaky test

View Output Video

Test Artifacts
linode landing actions > deleting multiple linodes with action menu Output Screenshots Video

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings.

Copy link
Contributor

@hkhalil-akamai hkhalil-akamai left a comment

Choose a reason for hiding this comment

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

This is an excellent UX improvement. Left some suggestions, but the PR looks good from my testing.

@bnussman-akamai bnussman-akamai added Add'tl Approval Needed Waiting on another approval! and removed Ready for Review labels Jul 5, 2023
@bnussman-akamai bnussman-akamai added Approved Multiple approvals and ready to merge! and removed Add'tl Approval Needed Waiting on another approval! labels Jul 6, 2023
@mjac0bs mjac0bs merged commit c52feed into linode:develop Jul 6, 2023
11 checks passed
abailly-akamai added a commit that referenced this pull request Jul 10, 2023
* WIP

* refactor: [M3-6063] - Fix errors

* refactor: [M3-6063] - Test changes

* refactor: [M3-6063] - Code cleanup

* Added changeset: Refactor components to use TypeToConfirmDialog

* refactor: [M3-6063] - Code cleanup after feedback

* refactor: [M3-6063] - Fix failing test

* refactor: [M3-6063] - Revert the last code change

* refactor: [M3-6063] - Fix create volume test spec

* refactor: [M3-6063] - Revert create volume spec

* refactor: [M3-6063] - PR feedback changes

* refactor: [M3-6063] - Change if code to switch

* refactor: [M3-6063] - Refactor conditional logic

* refactor: [M3-6063] - Fix handleRestoreDatabase()

* refactor: [M3-6063] - Revert primary btn text strs

* refactor: [M3-6361] - Refactor class component

* refactor: [M3-6361] - Add changeset

* M3-6552: Add Third Party Access Tokens Cypress integration tests (#9223)

* M3-6506: Add StackScript Landing Page Integration Tests (#9275)

* fix: [M3-6683]: Fix confirmation modal overflow on mobile (#9289)

* Fix: [M3-6683] Remove min-width for confirmation modal

* Fix: [M3-6683] Improve modal title line height

* Added changeset: Fix confirmation modal overflow on mobile

* refactor: [M3-6391] - MUI v5 Migration - `Components > SingleTextFieldForm` (#9292)

* style migration and clean up

* Added changeset: MUI v5 Migration - Components > SingleTextFieldForm

* use `sx`

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: Reduce Firewall create and update e2e test flakiness (#9298)

* Click back into field to dismiss autocomplete popper

* Fix issue with LinodeSelectV2 label/text field association, update test to find input by label

* Clean up, click back into select field to dismiss autocomplete popper

* Find button within group to avoid selecting drawer title

* Offload interactions involving firewall creation to API

* Wait for firewall create requests

* Add intercepts and wait for Firewall update API requests to resolve

* Added changeset: Fix LinodeSelectV2 label association

* Fix flake involving Linode selection when capturing image

* fix: Make `yarn up:expose` actually expose Cloud Manager (#9297)

* make expose command work

* Added changeset: Made yarn up:expose actually expose Cloud Manager on all interfaces

* add some basic docs

* Update docs/GETTING_STARTED.md

Fix `envrionments` ➡️ `environments` typo

Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>

---------

Co-authored-by: Banks Nussman <banks@nussman.us>
Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>

* style: [M3-6639] - Add outline to country flags that contain white (#9288)

* add outline for some lags and add Flag story

* make type respect what the Linode API returns

* Added changeset: Outline to some country flags

* use `styled`

* only add outline in light mode

* use boxShadow

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* chore: Update `deleteChangesets.mjs` to track changeset deletions (#9305)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* fix: [Marketplace] - Remove underscore in prometheus & grafana svg (#9301)

* remove dash from svg

* update svg name

* remove old grey logo

* rename file

* Added changeset: Remove underscore in prometheus & grafana svg

---------

Co-authored-by: Hana Xu <hxu@akamai.com>

* refactor: [M3-6386] - MUI v5 Migration - `Components > SelectableTableRow` (#9299)

## Description 📝
Migrate styles and update code patterns for the SelectableTableRow component

## How to test 🧪
Verify that there has been no visual regressions in `/account/service-transfers/create`

* chore: Move new OAuth e2e tests into 'core' directory (#9307)

* Move OAuth tests to core/account

* Make '<REDACTED>' default value for OAuth factory

* refactor: [M3-6361] - Add className and event type

* Refactor: [M3-6522] Chip: MUI refactor + v7 story (#9310)

* Refactor: [M3-6522] Chip: MUI refactor + story

* Refactor: [M3-6522] delete .mdx file

* Added changeset: MUI v5 - Components > Chip

* Refactor: [M3-6522] delete .mdx file

* Refactor: [M3-6522] fix broken story

* fix: [M3-6720] - Restore DBaaS engine icons (#9306)

* Pass JSX elements instead of callbacks to Select options

* Added changeset: Restore icons in DBaaS engine selection field

* Feat: [M3-6473] - Add helper text to the Add SSHKey Drawer Form (#9290)

* Feat: [M3-6473] initial commit - replace default export

* Feat: [M3-6473] Helper text and trim on blur

* Feat: [M3-6473] Cleanup

* Added changeset: Helper Text for the Add SHHKey Drawer form

* Feat: [M3-6473] Feedback

* Update packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx

Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>

---------

Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>

* refactor: [M3-6359] - MUI v5 Migration - `Components > LongviewLineGraph` (#9291)

## Description 📝
Update styles and code patterns for the LongviewLineGraph component

## How to test 🧪
So, we don't have an account that has Longview setup and when I tried to run the curl command to set it up, I kept running into errors. I think the changes are minor enough that we can just check the code

* refactor: [M3-6788] - MUI v5 Migration - `Components > TextField` (#9314)

* initial `TextField` refactor

* update storybook story

* rename `Props` ➡️ `TextFieldProps`

* clean up the mdx

* fix broken storybook build

* feedback @mjac0bs

* add some defaults

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* chore: Delete old changesets from `develop` branch (#9302)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* refactor: [M3-6354] - MUI v5 Migration - `Components > LandingLoading` (#9282)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* refactor: [M3-6791] - MUI v5 Migration - `Components > Toolbar` (#9319)

* move Toolbar to the correct place and clean up exports

* Added changeset: MUI v5 Migration - Components > Toolbar

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6793] - MUI v5 Migration - `Components > AppBar` (#9321)

* move AppBar to correct place and use named exports

* Added changeset: MUI v5 Migration - Components > AppBar

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6195] - MUI v5 Migration - `Components > Button` (part 2) (#9325)

* delete core files and clean up exports

* Added changeset: MUI v5 Migration - Components > Button

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: [M3-6638] - Object Storage > Create Access Key Drawer Layout Issue (#9296)

* fix: [M3-6638] - Object Storage > Create Access Key Drawer Layout Issue

* Added changeset: Object Storage > Create Access Key Drawer Layout Issue

* Add descriptive message

* code cleanup

* refactor: [M3-6290] - MUI v5 Migration - `Components > Accordion` (part 2) (#9320)

* update storybook and move component to correct spot

* Added changeset: MUI v5 Migration - Components > Accordion (part 2)

* futher clean up and feedback from @dwiley-akamai

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: local dev server AppBarProps export  (#9334)

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6063] - Fix CloseAccount button

* refactor: [M3-6702] - React Query - Linodes - General clean up and refactors (#9294)

* refactor and clean up

* fix spelling for entity names

* remove more things

* match production better

* igrate off withLinodes container

* make the linodes container pull from React Query

* remove last few containers for now

* hook up search with RQ

* fix broken tests

* Added changeset: React Query - Linodes - General clean up and refactors

* remove `useLinodes` redux hook

* feedback @dwiley-akamai

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* Refactor: [M3-6522-selection-card] Selection Card: named exports and v7 story (#9327)

* Refactor: [M3-6522-selection-card] Initial commit: exports

* Refactor: [M3-6522-selection-card] New v7 story

* Added changeset: MUI v5 Migration - Components > SelectionCard

* Refactor: [M3-6522-selection-card] Add some interactivity

* refactor: [M3-6797] - MUI v5 Migration - `Components > Hidden` (#9326)

* move component and use named export

* Added changeset: MUI v5 Migration - Components > Hidden

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6794] - MUI v5 Migration - `Components > Box` (#9322)

* move files, update exports, create Storybook story

* Added changeset: MUI v5 Migration - Components > Box

* fix storybook build

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* feat: [M3-6707] – Light/dark mode shortcut copy on the "My Settings" page (#9286)

* refactor: [M3-6798] - MUI v5 Migration - `Components > Typography` (#9328)

* initial refactor and new storybook story

* Added changeset: MUI v5 Migration - Components > Typography

* fix unit tests by updated exports

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* Revert "refactor: [M3-6063] - Fix CloseAccount button"

This reverts commit 4a49592.

* Add changes after revert of yarn.lock, cachedData

* Refactor: [M3-6522] - Update Link component export and improve Storybook story (#9313)

* Refactor: [M3-6522-link] Initial commit: remoce default export and new story

* Refactor: [M3-6522-link] argsTypes

* Refactor: [M3-6522-link] More Documntation

* Added changeset: Link component: remove default export and improved storybook story

* Refactor: [M3-6522-link] Actualy remove old mdx story

* Refactor: [M3-6522-link] feedback

* Refactor: [M3-6522-link] post rebase fix

* Refactor: [M3-6522-link] feedback 2

* Refactor: [M3-6522-link] fix bad rebase

* Fix: [M3-6800] Firewall custom port validation (#9336)

* Fix: [M3-6800] improve FW custom ports validation

* Fix: [M3-6800] increased test coverage

* Added changeset: Firewall custom ports validation

* Added changeset: Firewall custom port validation

* Fix: [M3-6800] cleanup

* Fix: [M3-6800] moaaar cleanup

* Fix: [M3-6800] better naming conventions and JSDoc

* Fix: [M3-6800] Improved feedback

* refactor: [M3-6458] - Remove old changelog scripting (#9340)

* remove changeset bot, python utils, and some shell scripts

* more script clean up

* Added changeset: Remove old changelog scripting

* clean up dependencies and test setups

* get rid of more js 😖 sorry, i can't help it

* re-add joe's script

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: [M3-5577] - Disable delete button for public IP addresses (#9332)

## Description 📝
Disable delete button for public IP addresses if it's the only IP address and display a tooltip

## How to test 🧪
Check the Network tab of a Linode's details page

* chore: [M3-6666] -  Clean up for consistent spelling of "canceled" (#9335)

* Update api-v4 types

* Clean up checks and string manip for inconsistent spelling

* Added changeset: Use 'canceled' instead of 'cancelled' for EntityTransferStatus

* Forgot to commit mock canceled transfer event

* Refactor: [M3-6522-copy-tooltip] CopyTooltip: Styled component and v7 story (#9323)

* Refactor: [M3-6522-copy-tooltip] Styled component and v7 story

* Added changeset: MUI v5 Migration - Components > CopyTooltip

* Refactor: [M3-6522-copy-tooltip] feedback - missing props

* Fix: [M3-6786] ActionMenu tooltip icon color (#9352)

* Fix: [M3-6786] ActionMenu tooltip icon color

* Added changeset: ActionMenu tooltip icon color deprecation

* refactor: Remove `withLoadingAndError` and clean up 2FA components (#9318)

* remove `withLoadingAndError` and clean up 2fa

* Added changeset: Remove `withLoadingAndError` and clean up 2FA components

* remove more legacy stuff

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* Chore: [M3-6527] - Storybook update and maintenance fixes (#9330)

* Chore: [M3-6527]: Update storybook

* Chore: [M3-6527]: Add msw to loader

* Chore: [M3-6527]: Fix props forwarding for Chip component

* Chore: [M3-6527]: Yarn lock update

* Chore: [M3-6527]: Remove fix present in other PR

* refactor: [M3-6804] - MUI v5 Migration - `Components > Chip` (#9339)

* move to correct spot and update imports

* Added changeset: MUI v5 Migration - Components > Chip

* use relative import for story

* fix: add prop filter

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: [M3-6177] - Only request logo once for invoice pdf (#9355)

## Description 📝
Previously, when downloading an invoice, we would make a request for the logo image for every page of the invoice potentially causing delays for large accounts. This PR fixes that by fetching the image only once and passing that to jsPDF's addImage function

## How to test 🧪
- Go to /account/billing
- In the browser dev tools, go to the network tab and filter by .png
- Download an invoice PDF and observe only 1 request made for the akamai logo
- Open the PDF and ensure that the logo is still on every page

* fix: Fix miscellaneous Cypress test flake (#9342)

* Fix flake related to intercepts that are set up too late

* Fix flake stemming from multiple instances of phrase existing on page

* fix: Fix Linode landing page delete smoke test flake (#9348)

* Wait for landing page to update before deleting next Linode

* Use Linode API SDK to create Linodes for test

* refactor: [M3-6350] - MUI v5 Migration - `Components > InlineMenuAction` (#9268)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* fix: [M3-6627] - Fix `cy.defer()` TypeScript errors (#9349)

* Fix cy.defer command, replace instances of cy.wrap with cy.defer

* Rename e2e.js to e2e.ts, replace cy.wrap with cy.defer

* Improve `attemptWithBackoff` error handling by listing each attempt failure error message

* Improve cy.defer log handling

* fix: [M3-6782] - Fix Third-Party Access Tokens Flaky Tests (#9354)

* chore: [M3-6777] - Rename Cypress functions and variables related to secrets (#9350)

* Rename functions and variables related to secrets, improve object storage mock utils

* Fix failing access key revoke test

* Fix mismatched error variable name in prebuild script

* test: [M3-6054] - Add Cypress test coverage for Linode Create via CLI dialog (#9351)

* Add test to assert Linode CLI snippet content, close dialog

* fix: NVM should be NVMe (#9366)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* refactor: [M3-6299] - MUI v5 Migration - `Components > Checkbox` (part 2) (#9338)

* update exports, remove core, fix component, new storybook story

* add basic jsdoc

* Added changeset: MUI v5 Migration - Components > Checkbox (part 2)

* feedback @dwiley-akamai

* feedback @hana-linode

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6393] - MUI v5 - `Components > Snackbar` (#9359)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* refactor: [M3-6790] – MUI v5 Migration - `Components > Divider` (#9353)

* fix: [M3-6833] Replace negative lookbehind regular expression in eventMessageGenerators (#9360)

* fix: [M3-6833] Fix issue with Negative lookbehind regular expression

* Added changeset: Fix issue with notification menu crashing older safari versions

* feat: [M3-6841] - Add AGLB feature flag (#9370)

Adds AGLB feature flag 🚩

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* feat: [M3-6779] - AGLB api-v4 endpoints (#9363)

Adds initial api-v4 endpoints and types for the AGLB

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* feat: [M3-6840] - Add VPC feature flag (#9368)

## Description 📝
Add VPC feature flag

## How to test 🧪
Check that `vpc` is being returned from `useFlags()` and that it is under the feature flag tool

* feat: [M3-6722] – VPC endpoints, validation, & React Query queries (#9361)

* feat: [M3-6789] - Improve failed backup error messaging (#9364)

* Update linode_snapshot event toast

* Update backup restore and snapshot error events and toasts

* Fix styling regression for snapshot error notice

* Add backups warning for create flow with private images

* Add changeset

* Address feedback

* Add mock failed backups_restore event to be removed before merging

* Address naming and copy feedback

* Fix toast link text color in dark mode

* Revert unintentional commit to include failed event in mocks

* fix: wording in "My Profile" -> "Login and Authentication" (#9358)

## Description 📝
**Old:** 
```
To disable Google authentication and log in using your Linode credentials, click the Linode button above. 
```

**New:**
```
To disable Google authentication and log in using your Cloud Manager credentials, click the Cloud Manager button above.
```

* refactor: [M3-6839] - MUI v5 Migration - `Components > Tooltip`  (#9369)

* initial toolip refactor

* Added changeset: MUI v5 Migration - Components > Tooltip

* Refactor Tooltip and convert story

* fix spelling

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* test: [M3-6505] - Add StackScript Update/Delete E2E Tests (#9315)

* M3-6505: Add StackScript Update/Delete E2E Tests

* Fixed comments

* refactor: Upgrade LaunchDarkly SDK and use anonymous users (#9285)

* Upgrade LD and remove username

* Remove unused import

* Mark all attributes private

* Added changeset: Upgrade LaunchDarkly client library

* Address feedback

* Update packages/manager/src/IdentifyUser.tsx

---------

Co-authored-by: Jaalah Ramos <125309814+jaalah-akamai@users.noreply.github.com>

* Cloud version 1.96.0, API v4 version 0.96.0, and Validation version 0.26.0

* Update changelogs

* feat: [M3-6842] - Update Metadata copy (#9374)

* add labelTooltipText prop to TextField component

* update copy

* Added changeset: Update Metadata copy

* fix unit test

* Update tests to reflect updated markup

---------

Co-authored-by: Joe D'Amore <jdamore@linode.com>

* Update Changelog for v1.97.0 release (#9378)

* fix: minor css regression account > billing history dropdowns (#9379)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

---------

Co-authored-by: ecarrill <ecarrill@akamai.com>
Co-authored-by: cliu-akamai <126020611+cliu-akamai@users.noreply.github.com>
Co-authored-by: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com>
Co-authored-by: Banks Nussman <banks@nussman.us>
Co-authored-by: jdamore-linode <97627410+jdamore-linode@users.noreply.github.com>
Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>
Co-authored-by: Jaalah Ramos <125309814+jaalah-akamai@users.noreply.github.com>
Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>
Co-authored-by: hmorris3293 <morrisholdenx@gmail.com>
Co-authored-by: Hana Xu <hxu@akamai.com>
Co-authored-by: Hana Xu <115299789+hana-linode@users.noreply.github.com>
Co-authored-by: carrillo-erik <119514965+carrillo-erik@users.noreply.github.com>
Co-authored-by: cpathipa <119517080+cpathipa@users.noreply.github.com>
Co-authored-by: Dajahi Wiley <114682940+dwiley-akamai@users.noreply.github.com>
Co-authored-by: John Callahan <114753608+jcallahan-akamai@users.noreply.github.com>
Co-authored-by: Joe D'Amore <jdamore@linode.com>
abailly-akamai added a commit that referenced this pull request Jul 10, 2023
* WIP

* refactor: [M3-6063] - Fix errors

* refactor: [M3-6063] - Test changes

* refactor: [M3-6063] - Code cleanup

* Added changeset: Refactor components to use TypeToConfirmDialog

* refactor: [M3-6063] - Code cleanup after feedback

* refactor: [M3-6063] - Fix failing test

* refactor: [M3-6063] - Revert the last code change

* refactor: [M3-6063] - Fix create volume test spec

* refactor: [M3-6063] - Revert create volume spec

* refactor: [M3-6063] - PR feedback changes

* refactor: [M3-6063] - Change if code to switch

* refactor: [M3-6063] - Refactor conditional logic

* refactor: [M3-6063] - Fix handleRestoreDatabase()

* refactor: [M3-6063] - Revert primary btn text strs

* refactor: [M3-6361] - Refactor class component

* refactor: [M3-6361] - Add changeset

* M3-6552: Add Third Party Access Tokens Cypress integration tests (#9223)

* M3-6506: Add StackScript Landing Page Integration Tests (#9275)

* fix: [M3-6683]: Fix confirmation modal overflow on mobile (#9289)

* Fix: [M3-6683] Remove min-width for confirmation modal

* Fix: [M3-6683] Improve modal title line height

* Added changeset: Fix confirmation modal overflow on mobile

* refactor: [M3-6391] - MUI v5 Migration - `Components > SingleTextFieldForm` (#9292)

* style migration and clean up

* Added changeset: MUI v5 Migration - Components > SingleTextFieldForm

* use `sx`

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: Reduce Firewall create and update e2e test flakiness (#9298)

* Click back into field to dismiss autocomplete popper

* Fix issue with LinodeSelectV2 label/text field association, update test to find input by label

* Clean up, click back into select field to dismiss autocomplete popper

* Find button within group to avoid selecting drawer title

* Offload interactions involving firewall creation to API

* Wait for firewall create requests

* Add intercepts and wait for Firewall update API requests to resolve

* Added changeset: Fix LinodeSelectV2 label association

* Fix flake involving Linode selection when capturing image

* fix: Make `yarn up:expose` actually expose Cloud Manager (#9297)

* make expose command work

* Added changeset: Made yarn up:expose actually expose Cloud Manager on all interfaces

* add some basic docs

* Update docs/GETTING_STARTED.md

Fix `envrionments` ➡️ `environments` typo

Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>

---------

Co-authored-by: Banks Nussman <banks@nussman.us>
Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>

* style: [M3-6639] - Add outline to country flags that contain white (#9288)

* add outline for some lags and add Flag story

* make type respect what the Linode API returns

* Added changeset: Outline to some country flags

* use `styled`

* only add outline in light mode

* use boxShadow

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* chore: Update `deleteChangesets.mjs` to track changeset deletions (#9305)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* fix: [Marketplace] - Remove underscore in prometheus & grafana svg (#9301)

* remove dash from svg

* update svg name

* remove old grey logo

* rename file

* Added changeset: Remove underscore in prometheus & grafana svg

---------

Co-authored-by: Hana Xu <hxu@akamai.com>

* refactor: [M3-6386] - MUI v5 Migration - `Components > SelectableTableRow` (#9299)

Migrate styles and update code patterns for the SelectableTableRow component

Verify that there has been no visual regressions in `/account/service-transfers/create`

* chore: Move new OAuth e2e tests into 'core' directory (#9307)

* Move OAuth tests to core/account

* Make '<REDACTED>' default value for OAuth factory

* refactor: [M3-6361] - Add className and event type

* Refactor: [M3-6522] Chip: MUI refactor + v7 story (#9310)

* Refactor: [M3-6522] Chip: MUI refactor + story

* Refactor: [M3-6522] delete .mdx file

* Added changeset: MUI v5 - Components > Chip

* Refactor: [M3-6522] delete .mdx file

* Refactor: [M3-6522] fix broken story

* fix: [M3-6720] - Restore DBaaS engine icons (#9306)

* Pass JSX elements instead of callbacks to Select options

* Added changeset: Restore icons in DBaaS engine selection field

* Feat: [M3-6473] - Add helper text to the Add SSHKey Drawer Form (#9290)

* Feat: [M3-6473] initial commit - replace default export

* Feat: [M3-6473] Helper text and trim on blur

* Feat: [M3-6473] Cleanup

* Added changeset: Helper Text for the Add SHHKey Drawer form

* Feat: [M3-6473] Feedback

* Update packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx

Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>

---------

Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>

* refactor: [M3-6359] - MUI v5 Migration - `Components > LongviewLineGraph` (#9291)

Update styles and code patterns for the LongviewLineGraph component

So, we don't have an account that has Longview setup and when I tried to run the curl command to set it up, I kept running into errors. I think the changes are minor enough that we can just check the code

* refactor: [M3-6788] - MUI v5 Migration - `Components > TextField` (#9314)

* initial `TextField` refactor

* update storybook story

* rename `Props` ➡️ `TextFieldProps`

* clean up the mdx

* fix broken storybook build

* feedback @mjac0bs

* add some defaults

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* chore: Delete old changesets from `develop` branch (#9302)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* refactor: [M3-6354] - MUI v5 Migration - `Components > LandingLoading` (#9282)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* refactor: [M3-6791] - MUI v5 Migration - `Components > Toolbar` (#9319)

* move Toolbar to the correct place and clean up exports

* Added changeset: MUI v5 Migration - Components > Toolbar

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6793] - MUI v5 Migration - `Components > AppBar` (#9321)

* move AppBar to correct place and use named exports

* Added changeset: MUI v5 Migration - Components > AppBar

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6195] - MUI v5 Migration - `Components > Button` (part 2) (#9325)

* delete core files and clean up exports

* Added changeset: MUI v5 Migration - Components > Button

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: [M3-6638] - Object Storage > Create Access Key Drawer Layout Issue (#9296)

* fix: [M3-6638] - Object Storage > Create Access Key Drawer Layout Issue

* Added changeset: Object Storage > Create Access Key Drawer Layout Issue

* Add descriptive message

* code cleanup

* refactor: [M3-6290] - MUI v5 Migration - `Components > Accordion` (part 2) (#9320)

* update storybook and move component to correct spot

* Added changeset: MUI v5 Migration - Components > Accordion (part 2)

* futher clean up and feedback from @dwiley-akamai

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: local dev server AppBarProps export  (#9334)

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6063] - Fix CloseAccount button

* refactor: [M3-6702] - React Query - Linodes - General clean up and refactors (#9294)

* refactor and clean up

* fix spelling for entity names

* remove more things

* match production better

* igrate off withLinodes container

* make the linodes container pull from React Query

* remove last few containers for now

* hook up search with RQ

* fix broken tests

* Added changeset: React Query - Linodes - General clean up and refactors

* remove `useLinodes` redux hook

* feedback @dwiley-akamai

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* Refactor: [M3-6522-selection-card] Selection Card: named exports and v7 story (#9327)

* Refactor: [M3-6522-selection-card] Initial commit: exports

* Refactor: [M3-6522-selection-card] New v7 story

* Added changeset: MUI v5 Migration - Components > SelectionCard

* Refactor: [M3-6522-selection-card] Add some interactivity

* refactor: [M3-6797] - MUI v5 Migration - `Components > Hidden` (#9326)

* move component and use named export

* Added changeset: MUI v5 Migration - Components > Hidden

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6794] - MUI v5 Migration - `Components > Box` (#9322)

* move files, update exports, create Storybook story

* Added changeset: MUI v5 Migration - Components > Box

* fix storybook build

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* feat: [M3-6707] – Light/dark mode shortcut copy on the "My Settings" page (#9286)

* refactor: [M3-6798] - MUI v5 Migration - `Components > Typography` (#9328)

* initial refactor and new storybook story

* Added changeset: MUI v5 Migration - Components > Typography

* fix unit tests by updated exports

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* Revert "refactor: [M3-6063] - Fix CloseAccount button"

This reverts commit 4a49592.

* Add changes after revert of yarn.lock, cachedData

* Refactor: [M3-6522] - Update Link component export and improve Storybook story (#9313)

* Refactor: [M3-6522-link] Initial commit: remoce default export and new story

* Refactor: [M3-6522-link] argsTypes

* Refactor: [M3-6522-link] More Documntation

* Added changeset: Link component: remove default export and improved storybook story

* Refactor: [M3-6522-link] Actualy remove old mdx story

* Refactor: [M3-6522-link] feedback

* Refactor: [M3-6522-link] post rebase fix

* Refactor: [M3-6522-link] feedback 2

* Refactor: [M3-6522-link] fix bad rebase

* Fix: [M3-6800] Firewall custom port validation (#9336)

* Fix: [M3-6800] improve FW custom ports validation

* Fix: [M3-6800] increased test coverage

* Added changeset: Firewall custom ports validation

* Added changeset: Firewall custom port validation

* Fix: [M3-6800] cleanup

* Fix: [M3-6800] moaaar cleanup

* Fix: [M3-6800] better naming conventions and JSDoc

* Fix: [M3-6800] Improved feedback

* refactor: [M3-6458] - Remove old changelog scripting (#9340)

* remove changeset bot, python utils, and some shell scripts

* more script clean up

* Added changeset: Remove old changelog scripting

* clean up dependencies and test setups

* get rid of more js 😖 sorry, i can't help it

* re-add joe's script

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: [M3-5577] - Disable delete button for public IP addresses (#9332)

Disable delete button for public IP addresses if it's the only IP address and display a tooltip

Check the Network tab of a Linode's details page

* chore: [M3-6666] -  Clean up for consistent spelling of "canceled" (#9335)

* Update api-v4 types

* Clean up checks and string manip for inconsistent spelling

* Added changeset: Use 'canceled' instead of 'cancelled' for EntityTransferStatus

* Forgot to commit mock canceled transfer event

* Refactor: [M3-6522-copy-tooltip] CopyTooltip: Styled component and v7 story (#9323)

* Refactor: [M3-6522-copy-tooltip] Styled component and v7 story

* Added changeset: MUI v5 Migration - Components > CopyTooltip

* Refactor: [M3-6522-copy-tooltip] feedback - missing props

* Fix: [M3-6786] ActionMenu tooltip icon color (#9352)

* Fix: [M3-6786] ActionMenu tooltip icon color

* Added changeset: ActionMenu tooltip icon color deprecation

* refactor: Remove `withLoadingAndError` and clean up 2FA components (#9318)

* remove `withLoadingAndError` and clean up 2fa

* Added changeset: Remove `withLoadingAndError` and clean up 2FA components

* remove more legacy stuff

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* Chore: [M3-6527] - Storybook update and maintenance fixes (#9330)

* Chore: [M3-6527]: Update storybook

* Chore: [M3-6527]: Add msw to loader

* Chore: [M3-6527]: Fix props forwarding for Chip component

* Chore: [M3-6527]: Yarn lock update

* Chore: [M3-6527]: Remove fix present in other PR

* refactor: [M3-6804] - MUI v5 Migration - `Components > Chip` (#9339)

* move to correct spot and update imports

* Added changeset: MUI v5 Migration - Components > Chip

* use relative import for story

* fix: add prop filter

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* fix: [M3-6177] - Only request logo once for invoice pdf (#9355)

Previously, when downloading an invoice, we would make a request for the logo image for every page of the invoice potentially causing delays for large accounts. This PR fixes that by fetching the image only once and passing that to jsPDF's addImage function

- Go to /account/billing
- In the browser dev tools, go to the network tab and filter by .png
- Download an invoice PDF and observe only 1 request made for the akamai logo
- Open the PDF and ensure that the logo is still on every page

* fix: Fix miscellaneous Cypress test flake (#9342)

* Fix flake related to intercepts that are set up too late

* Fix flake stemming from multiple instances of phrase existing on page

* fix: Fix Linode landing page delete smoke test flake (#9348)

* Wait for landing page to update before deleting next Linode

* Use Linode API SDK to create Linodes for test

* refactor: [M3-6350] - MUI v5 Migration - `Components > InlineMenuAction` (#9268)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* fix: [M3-6627] - Fix `cy.defer()` TypeScript errors (#9349)

* Fix cy.defer command, replace instances of cy.wrap with cy.defer

* Rename e2e.js to e2e.ts, replace cy.wrap with cy.defer

* Improve `attemptWithBackoff` error handling by listing each attempt failure error message

* Improve cy.defer log handling

* fix: [M3-6782] - Fix Third-Party Access Tokens Flaky Tests (#9354)

* chore: [M3-6777] - Rename Cypress functions and variables related to secrets (#9350)

* Rename functions and variables related to secrets, improve object storage mock utils

* Fix failing access key revoke test

* Fix mismatched error variable name in prebuild script

* test: [M3-6054] - Add Cypress test coverage for Linode Create via CLI dialog (#9351)

* Add test to assert Linode CLI snippet content, close dialog

* fix: NVM should be NVMe (#9366)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* refactor: [M3-6299] - MUI v5 Migration - `Components > Checkbox` (part 2) (#9338)

* update exports, remove core, fix component, new storybook story

* add basic jsdoc

* Added changeset: MUI v5 Migration - Components > Checkbox (part 2)

* feedback @dwiley-akamai

* feedback @hana-linode

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* refactor: [M3-6393] - MUI v5 - `Components > Snackbar` (#9359)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

* refactor: [M3-6790] – MUI v5 Migration - `Components > Divider` (#9353)

* fix: [M3-6833] Replace negative lookbehind regular expression in eventMessageGenerators (#9360)

* fix: [M3-6833] Fix issue with Negative lookbehind regular expression

* Added changeset: Fix issue with notification menu crashing older safari versions

* feat: [M3-6841] - Add AGLB feature flag (#9370)

Adds AGLB feature flag 🚩

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* feat: [M3-6779] - AGLB api-v4 endpoints (#9363)

Adds initial api-v4 endpoints and types for the AGLB

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* feat: [M3-6840] - Add VPC feature flag (#9368)

Add VPC feature flag

Check that `vpc` is being returned from `useFlags()` and that it is under the feature flag tool

* feat: [M3-6722] – VPC endpoints, validation, & React Query queries (#9361)

* feat: [M3-6789] - Improve failed backup error messaging (#9364)

* Update linode_snapshot event toast

* Update backup restore and snapshot error events and toasts

* Fix styling regression for snapshot error notice

* Add backups warning for create flow with private images

* Add changeset

* Address feedback

* Add mock failed backups_restore event to be removed before merging

* Address naming and copy feedback

* Fix toast link text color in dark mode

* Revert unintentional commit to include failed event in mocks

* fix: wording in "My Profile" -> "Login and Authentication" (#9358)

**Old:**
```
To disable Google authentication and log in using your Linode credentials, click the Linode button above.
```

**New:**
```
To disable Google authentication and log in using your Cloud Manager credentials, click the Cloud Manager button above.
```

* refactor: [M3-6839] - MUI v5 Migration - `Components > Tooltip`  (#9369)

* initial toolip refactor

* Added changeset: MUI v5 Migration - Components > Tooltip

* Refactor Tooltip and convert story

* fix spelling

---------

Co-authored-by: Banks Nussman <banks@nussman.us>

* test: [M3-6505] - Add StackScript Update/Delete E2E Tests (#9315)

* M3-6505: Add StackScript Update/Delete E2E Tests

* Fixed comments

* refactor: Upgrade LaunchDarkly SDK and use anonymous users (#9285)

* Upgrade LD and remove username

* Remove unused import

* Mark all attributes private

* Added changeset: Upgrade LaunchDarkly client library

* Address feedback

* Update packages/manager/src/IdentifyUser.tsx

---------

Co-authored-by: Jaalah Ramos <125309814+jaalah-akamai@users.noreply.github.com>

* Cloud version 1.96.0, API v4 version 0.96.0, and Validation version 0.26.0

* Update changelogs

* feat: [M3-6842] - Update Metadata copy (#9374)

* add labelTooltipText prop to TextField component

* update copy

* Added changeset: Update Metadata copy

* fix unit test

* Update tests to reflect updated markup

---------

Co-authored-by: Joe D'Amore <jdamore@linode.com>

* Update Changelog for v1.97.0 release (#9378)

* fix: minor css regression account > billing history dropdowns (#9379)

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>

---------

Co-authored-by: ecarrill <ecarrill@akamai.com>
Co-authored-by: cliu-akamai <126020611+cliu-akamai@users.noreply.github.com>
Co-authored-by: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com>
Co-authored-by: Banks Nussman <banks@nussman.us>
Co-authored-by: jdamore-linode <97627410+jdamore-linode@users.noreply.github.com>
Co-authored-by: Mariah Jacobs <114685994+mjac0bs@users.noreply.github.com>
Co-authored-by: Jaalah Ramos <125309814+jaalah-akamai@users.noreply.github.com>
Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>
Co-authored-by: hmorris3293 <morrisholdenx@gmail.com>
Co-authored-by: Hana Xu <hxu@akamai.com>
Co-authored-by: Hana Xu <115299789+hana-linode@users.noreply.github.com>
Co-authored-by: carrillo-erik <119514965+carrillo-erik@users.noreply.github.com>
Co-authored-by: cpathipa <119517080+cpathipa@users.noreply.github.com>
Co-authored-by: Dajahi Wiley <114682940+dwiley-akamai@users.noreply.github.com>
Co-authored-by: John Callahan <114753608+jcallahan-akamai@users.noreply.github.com>
Co-authored-by: Joe D'Amore <jdamore@linode.com>
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! UX/UI Changes for UI/UX to review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants