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

Release v1.93.0 - Staging → Master #9116

Merged
merged 9 commits into from
May 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ packages/manager/test-report.xml
**/manager/config/development.json
**/manager/config/staging.json
**/manager/cypress/videos/
**/manager/cypress/downloads/

# ignore all screenshots except records
# we ignore the png files, not the whole folder recursively
Expand Down
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,50 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).

## [2023-05-15] - v1.93.0

### Added:
- Resource links to empty state Volumes landing page #9065
- Resource links to empty state Firewalls landing page #9078
- Resource links to empty state StackScripts landing page #9091
- Resource links to empty state Domains landing page #9092
- Ability download DNS zone file #9075
- New flag to deliver DC availability notice for premium plans #9066
- Accessible graph data for LineGraphs #9045

### Changed:
- Banner text size and spacing to improve readability #9064
- Updated ClusterControl description #9081
- Highlighted Marketplace apps and button card height on empty state Linodes landing page #9083

### Fixed:
- Ability to search Linodes by IPv6 #9073
- Surface general errors in the Object Storage Bucket Create Drawer #9067
- Large file size for invoices due to uncompressed JPG logo #9069
- Phone Verification error does not reset #9059
- Show error for PayPal payments #9058
- Send Adobe Analytics page views #9108

### Tech Stories:
- MUI v5 Migration - `Components > CheckoutSummary` #9100
- MUI v5 Migration - `Components > CopyableTextField` #9018
- MUI v5 Migration - `Components > DialogTitle` #9050
- MUI v5 Migration - `Components > DownloadCSV` #9084
- MUI v5 Migration - `Components > Notice` #9094
- MUI v5 Migration - `Components > PrimaryNav` #9090
- MUI v5 Migration - `Components > ShowMoreExpansion` #9096
- MUI v5 Migration - `Components > Table` #9082
- MUI v5 Migration - `Components > TableBody` #9082
- MUI v5 Migration - `Components > TableCell` #9082
- MUI v5 Migration - `Components > TableHead` #9082
- MUI v5 Migration - `Components > TableRow` #9082
- MUI v5 Migration - `Components > TableSortCell` #9082
- React Query - Linodes - Prepare for React Query for Linodes #9049
- React Query - Linodes - Landing #9062
- React Query - Linodes - Detail - Backups #9079
- Add Adobe Analytics custom event tracking #9004


## [2023-05-01] - v1.92.0

### Added:
Expand Down
11 changes: 11 additions & 0 deletions packages/api-v4/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@

## [2023-05-15] - v0.92.0

### Added:
- Ability download DNS zone file #9075
- React Query - Linodes - Landing #9062
- Added `available` to the `LinodeBackup` type #9079

### Fixed:
- Removed deprecated PayPal endpoints #9058

## [2023-05-01] - v0.91.0

### Added:
Expand Down
2 changes: 1 addition & 1 deletion packages/api-v4/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@linode/api-v4",
"version": "0.91.0",
"version": "0.92.0",
"homepage": "https://github.com/linode/manager/tree/develop/packages/api-v4",
"bugs": {
"url": "https://github.com/linode/manager/issues"
Expand Down
49 changes: 0 additions & 49 deletions packages/api-v4/src/account/payments.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import {
CreditCardSchema,
ExecutePaypalPaymentSchema,
PaymentSchema,
StagePaypalPaymentSchema,
PaymentMethodSchema,
} from '@linode/validation/lib/account.schema';
import { API_ROOT } from '../constants';
Expand All @@ -16,12 +14,9 @@ import Request, {
import { Filter, Params, ResourcePage } from '../types';
import {
ClientToken,
ExecutePayload,
Payment,
PaymentMethod,
PaymentResponse,
Paypal,
PaypalResponse,
SaveCreditCardData,
MakePaymentData,
PaymentMethodPayload,
Expand Down Expand Up @@ -86,50 +81,6 @@ export const makePayment = (data: MakePaymentData) => {
);
};

interface StagePaypalData {
checkout_token: string;
payment_id: string;
}

/**
* stagePaypalPayment
*
* Begins the process of making a payment through Paypal.
*
* @param data { object }
* @param data.cancel_url The URL to have PayPal redirect to when Payment is canceled.
* @param data.redirect_url The URL to have PayPal redirect to when Payment is approved.
* @param data.usd { string } The dollar amount of the payment
*
* @returns a payment ID, used for submitting the payment to Paypal.
*
*/
export const stagePaypalPayment = (data: Paypal) =>
Request<StagePaypalData>(
setURL(`${API_ROOT}/account/payments/paypal`),
setMethod('POST'),
setData(data, StagePaypalPaymentSchema)
);

/**
* executePaypalPayment
*
* Executes a payment through Paypal that has been started with the
* stagePaypalPayment method above. Paypal will capture the designated
* funds and credit your Linode account.
*
* @param data { object }
* @param data.payment_id The ID returned by stagePaypalPayment
* @param data.payer_id The PayerID returned by PayPal during the transaction authorization process.
*
*/
export const executePaypalPayment = (data: ExecutePayload) =>
Request<PaypalResponse>(
setURL(`${API_ROOT}/account/payments/paypal/execute`),
setMethod('POST'),
setData(data, ExecutePaypalPaymentSchema)
);

/**
* saveCreditCard
*
Expand Down
15 changes: 0 additions & 15 deletions packages/api-v4/src/account/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,6 @@ export interface PaymentResponse extends Payment {
warnings?: APIWarning[];
}

export interface PaypalResponse {
warnings?: APIWarning[];
}

export type GrantLevel = null | 'read_only' | 'read_write';

export interface Grant {
Expand Down Expand Up @@ -384,17 +380,6 @@ export interface OAuthClientRequest {
public?: boolean;
}

export interface Paypal {
cancel_url: string;
redirect_url: string;
usd: string;
}

export interface ExecutePayload {
payer_id: string;
payment_id: string;
}

export interface SaveCreditCardData {
card_number: string;
expiry_year: number;
Expand Down
12 changes: 12 additions & 0 deletions packages/api-v4/src/domains/domains.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import {
Domain,
ImportZonePayload,
UpdateDomainPayload,
ZoneFile,
} from './types';

/**
Expand Down Expand Up @@ -99,3 +100,14 @@ export const importZone = (data: ImportZonePayload) =>
setURL(`${API_ROOT}/domains/import`),
setMethod('POST')
);

/**
* Download DNS Zone file.
*
** @param domainId { number } The ID of the Domain to download DNS zone file.
*/
export const getDNSZoneFile = (domainId: number) =>
Request<ZoneFile>(
setURL(`${API_ROOT}/domains/${domainId}/zone-file`),
setMethod('GET')
);
4 changes: 4 additions & 0 deletions packages/api-v4/src/domains/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ export interface ImportZonePayload {
remote_nameserver: string;
}

export type ZoneFile = {
zone_file: string[];
};

export type DomainStatus = 'active' | 'disabled' | 'edit_mode' | 'has_errors';

export type DomainType = 'master' | 'slave';
Expand Down
3 changes: 2 additions & 1 deletion packages/api-v4/src/linodes/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export interface Linode {
ipv4: string[];
ipv6: string | null;
label: string;
type: null | string;
type: string | null;
status: LinodeStatus;
updated: string;
hypervisor: Hypervisor;
Expand Down Expand Up @@ -101,6 +101,7 @@ export interface LinodeBackup {
finished: string;
configs: string[];
disks: LinodeBackupDisk[];
available: boolean;
}

export type LinodeBackupType = 'auto' | 'snapshot';
Expand Down
7 changes: 6 additions & 1 deletion packages/manager/.storybook/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,21 @@ const config: StorybookConfig = {
'@storybook/addon-docs',
'@storybook/addon-controls',
'@storybook/addon-viewport',
'storybook-dark-mode-v7',
'storybook-dark-mode',
],
staticDirs: ['../public'],
framework: {
name: '@storybook/react-vite',
options: {},
},
features: { storyStoreV7: true },
docs: {
autodocs: true,
defaultName: 'Documentation',
},
async viteFinal(config) {
return mergeConfig(config, {
base: './',
resolve: {
preserveSymlinks: true,
},
Expand Down
5 changes: 5 additions & 0 deletions packages/manager/.storybook/manager-head.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<style>
#storybook-preview-iframe {
background-color: transparent;
}
</style>
4 changes: 3 additions & 1 deletion packages/manager/.storybook/preview-head.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<script>
window.global = window;
</script>
</script>

<link rel="stylesheet" href="/fonts/fonts.css" />
97 changes: 65 additions & 32 deletions packages/manager/.storybook/preview.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
import React from 'react';
import { Preview } from '@storybook/react';
import { MINIMAL_VIEWPORTS } from '@storybook/addon-viewport';
import {
Title,
Subtitle,
Description,
Primary,
Controls,
Stories,
} from '@storybook/blocks';
import { wrapWithTheme } from '../src/utilities/testHelpers';
import { useDarkMode } from 'storybook-dark-mode-v7';
import { useDarkMode } from 'storybook-dark-mode';
import { DocsContainer as BaseContainer } from '@storybook/addon-docs';
import { themes } from '@storybook/theming';
import '../public/fonts/fonts.css';
import '../src/index.css';
import { worker } from '../src/mocks/testBrowser';

import '../src/index.css';

MINIMAL_VIEWPORTS.mobile1.styles = {
height: '667px',
width: '375px',
};

export const DocsContainer = ({ children, context }) => {
const isDark = useDarkMode();

Expand All @@ -28,35 +42,54 @@ export const DocsContainer = ({ children, context }) => {
);
};

export const decorators = [
(Story) => {
const isDark = useDarkMode();
return wrapWithTheme(<Story />, { theme: isDark ? 'dark' : 'light' });
},
];

MINIMAL_VIEWPORTS.mobile1.styles = {
height: '667px',
width: '375px',
};

export const parameters = {
controls: { expanded: true },
darkMode: {
dark: { ...themes.dark },
light: { ...themes.normal },
},
options: {
storySort: {
method: 'alphabetical',
order: ['Intro', 'Features', 'Components', 'Elements', 'Core Styles'],
const preview: Preview = {
decorators: [
(Story) => {
const isDark = useDarkMode();
return wrapWithTheme(<Story />, { theme: isDark ? 'dark' : 'light' });
},
],
parameters: {
actions: { argTypesRegex: '^on[A-Z].*' },
backgrounds: {
grid: {
disable: true,
},
},
options: {
storySort: {
method: 'alphabetical',
order: ['Intro', 'Features', 'Components', 'Elements', 'Core Styles'],
},
},
viewport: {
viewports: MINIMAL_VIEWPORTS,
},
darkMode: {
dark: { ...themes.dark },
light: { ...themes.normal },
},
controls: {
expanded: true,
matchers: {
color: /(background|color)$/i,
date: /Date$/,
},
},
docs: {
container: DocsContainer,
page: () => (
<>
<Title />
<Subtitle />
<Description />
<Primary />
<Controls />
<Stories />
</>
),
},
},
viewMode: 'docs',
viewport: {
viewports: MINIMAL_VIEWPORTS,
},
docs: {
container: DocsContainer,
},
};

export default preview;
2 changes: 1 addition & 1 deletion packages/manager/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ CMD yarn start:manager:ci
# `e2e`
#
# Runs Cloud Manager Cypress tests.
FROM cypress/included:12.2.0 as e2e
FROM cypress/included:12.11.0 as e2e
WORKDIR /home/node/app
VOLUME /home/node/app
USER node
Expand Down
Loading