Skip to content

Commit

Permalink
Merge pull request #9116 from linode/staging
Browse files Browse the repository at this point in the history
Staging → Master for v1.93.0
  • Loading branch information
jaalah-akamai authored May 16, 2023
2 parents 39cb5c5 + 33a4995 commit ed0acec
Show file tree
Hide file tree
Showing 486 changed files with 7,325 additions and 8,665 deletions.
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

0 comments on commit ed0acec

Please sign in to comment.