Skip to content

Commit

Permalink
Fix merge conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
jaalah committed May 16, 2023
2 parents 1e52cb0 + ed0acec commit 41b1315
Show file tree
Hide file tree
Showing 9 changed files with 171 additions and 19 deletions.
37 changes: 24 additions & 13 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,39 +24,50 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
- MUI v5 Migration - `Components > IconButton` #9102
- MUI v5 Migration - `Components > EntityHeader` #9109


## [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:

- Removed MongoDB reference from ClusterControl description #9081
- 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:

- Enable Cypress `experimentalMemoryManagement` #9076
- 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 > TableBody` #9082
- MUI v5 Migration - `Components > TableSortCell` #9082
- MUI v5 Migration - `Components > TableRow` #9082
- MUI v5 Migration - `Components > DownloadCSV` #9084
- MUI v5 Migration - `Components > Notice` #9094
- MUI v5 Migration - `Components > CheckoutSummary` #9100
- MUI v5 Migration - `Components > PrimaryNav` #9090
- React Query for Linodes Landing #9062
- 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

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
2 changes: 1 addition & 1 deletion packages/manager/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "linode-manager",
"author": "Linode",
"description": "The Linode Manager website",
"version": "1.92.0",
"version": "1.93.0",
"private": true,
"bugs": {
"url": "https://github.com/Linode/manager/issues"
Expand Down
10 changes: 9 additions & 1 deletion packages/manager/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,12 +91,20 @@ export class App extends React.Component<CombinedProps, State> {
}

/**
* Send pageviews unless blocklisted.
* Send pageviews
*/
this.props.history.listen(({ pathname }) => {
// Send Google Analytics page view events
if ((window as any).ga) {
(window as any).ga('send', 'pageview', pathname);
}

// Send Adobe Analytics page view events
if ((window as any)._satellite) {
(window as any)._satellite.track('page view', {
url: pathname,
});
}
});

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/manager/src/features/OneClickApps/FakeSpec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ export const oneClickApps: OCA[] = [
name: 'ClusterControl',
alt_name: 'Database monitoring',
alt_description:
'SQL and NoSQL database interface and monitoring for MySQL, MongoDB, PostgreSQL, and more.',
'SQL and NoSQL database interface and monitoring for MySQL, PostgreSQL, and more.',
categories: ['Databases'],
description: `All-in-one interface for scripting and monitoring databases, including MySQL, MariaDB, Percona, PostgreSQL, Galera Cluster and more. Easily deploy database instances, manage with an included CLI, and automate performance monitoring.`,
summary:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export const gettingStartedGuides: ResourcesLinkSection = {
],
moreInfo: {
to: 'https://www.linode.com/docs/products/tools/stackscripts/ ',
text: 'View additional Object Storage documentation',
text: 'View additional StackScripts documentation',
},
title: 'Getting Started Guides',
};
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
import { allocateIPAddress } from '@linode/api-v4/lib/linodes';
import { APIError } from '@linode/api-v4/lib/types';
import * as React from 'react';
import ActionsPanel from 'src/components/ActionsPanel';
import Button from 'src/components/Button';
import Typography from 'src/components/core/Typography';
import Drawer from 'src/components/Drawer';
import { Notice } from 'src/components/Notice/Notice';
import { getAPIErrorOrDefault } from 'src/utilities/errorUtils';
import getAPIErrorsFor from 'src/utilities/getAPIErrorFor';
import scrollErrorIntoView from 'src/utilities/scrollErrorIntoView';
import substituteLink from 'src/utilities/substituteLink';

interface Props {
open: boolean;
forPublic: boolean;
onClose: () => void;
linodeID: number;
}

interface State {
forPublic: boolean;
errors?: APIError[];
}

type CombinedProps = Props;

class CreateIPv4Drawer extends React.Component<CombinedProps, State> {
state: State = {
forPublic: this.props.forPublic,
};

UNSAFE_componentWillReceiveProps(nextProps: CombinedProps) {
this.setState({
errors: undefined,
forPublic: nextProps.forPublic,
});
}

create = () => {
const { onClose, linodeID } = this.props;
// Only IPv4 addresses can currently be allocated.
allocateIPAddress(linodeID, { type: 'ipv4', public: this.state.forPublic })
.then((_) => {
onClose();
})
.catch((errResponse) => {
this.setState(
{
errors: getAPIErrorOrDefault(errResponse),
},
() => {
scrollErrorIntoView();
}
);
});
};

getCopy(): string {
const publicCopy = `Public IP addresses, over and above the one included
with each Linode, incur an additional monthly charge. If you need an
additional Public IP Address you must request one. Please open a support
ticket if you have not done so already.`;
const privateCopy = `Add a private IP address to your Linode. Data sent
explicitly to and from private IP addresses in the same data center does
not incur transfer quota usage. To ensure that the private IP is properly
configured once added, it\u{2019}s best to reboot your Linode.`;
return this.state.forPublic ? publicCopy : privateCopy;
}

render() {
const { open, onClose, forPublic } = this.props;
const { errors } = this.state;

const hasErrorFor = getAPIErrorsFor({}, errors);

return (
<Drawer
open={open}
onClose={onClose}
title={`Allocate ${forPublic ? 'Public' : 'Private'} IPv4 Address`}
>
<React.Fragment>
<Typography variant="body1" data-qa-service-notice>
{this.getCopy()}
</Typography>
{hasErrorFor('none') && (
<div style={{ marginTop: 24 }}>
<Notice error data-qa-notice>
{substituteLink(
hasErrorFor('none') || '',
'support ticket',
'/support'
)}
</Notice>
</div>
)}
<ActionsPanel style={{ marginTop: 16 }}>
<Button buttonType="primary" onClick={this.create} data-qa-submit>
Allocate
</Button>
<Button
buttonType="secondary"
className="cancel"
onClick={onClose}
data-qa-cancel
>
Close
</Button>
</ActionsPanel>
</React.Fragment>
</Drawer>
);
}
}

export default CreateIPv4Drawer;
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ interface Props {
linodeId: number | undefined;
open: boolean;
onClose: () => void;
onSuccess?: () => void;
}

export const DeleteLinodeDialog = (props: Props) => {
const { linodeId, open, onClose } = props;
const { linodeId, open, onClose, onSuccess } = props;

const { data: linode } = useLinodeQuery(
linodeId ?? -1,
Expand All @@ -34,6 +35,10 @@ export const DeleteLinodeDialog = (props: Props) => {
const onDelete = async () => {
await mutateAsync();
onClose();

if (onSuccess) {
onSuccess();
}
};

return (
Expand Down

0 comments on commit 41b1315

Please sign in to comment.