diff --git a/console/cypress/README.md b/console/cypress/README.md index a1691f02d51e6..ee4a2ce72048e 100644 --- a/console/cypress/README.md +++ b/console/cypress/README.md @@ -29,7 +29,6 @@ To run the tests for the modules individually (say for create table), - Go to the `cypress.json` and set the `env > TEST_MODE` variable to `ui`. - ``` { "env": { diff --git a/console/src/components/Main/Main.js b/console/src/components/Main/Main.js index 6c29169a6d1be..d17a5ecf39df6 100644 --- a/console/src/components/Main/Main.js +++ b/console/src/components/Main/Main.js @@ -35,24 +35,27 @@ class Main extends React.Component { dispatch(loadServerVersion()).then(() => { dispatch(checkServerUpdates()).then(() => { let isUpdateAvailable = false; - let showEvents = false; try { - showEvents = semver.gt(this.props.serverVersion, '1.0.0-alpha15'); - if (showEvents) { + if ( + semver.valid(this.props.serverVersion) === null || + semver.gt(this.props.serverVersion, '1.0.0-alpha15') + ) { this.setState({ showEvents: true }); - } - isUpdateAvailable = semver.gt( - this.props.latestServerVersion, - this.props.serverVersion - ); - const isClosedBefore = window.localStorage.getItem( - this.props.latestServerVersion + '_BANNER_NOTIFICATION_CLOSED' - ); - if (isClosedBefore === 'true') { - isUpdateAvailable = false; - this.setState({ showBannerNotification: false }); } else { - this.setState({ showBannerNotification: isUpdateAvailable }); + this.setState({ showEvents: false }); + isUpdateAvailable = semver.gt( + this.props.latestServerVersion, + this.props.serverVersion + ); + const isClosedBefore = window.localStorage.getItem( + this.props.latestServerVersion + '_BANNER_NOTIFICATION_CLOSED' + ); + if (isClosedBefore === 'true') { + isUpdateAvailable = false; + this.setState({ showBannerNotification: false }); + } else { + this.setState({ showBannerNotification: isUpdateAvailable }); + } } } catch (e) { console.error(e); @@ -428,7 +431,8 @@ class Main extends React.Component {
{mainContent}
{this.state.showBannerNotification ? (
-
{/* phantom div to prevent overlapping of banner with content. */} +
{' '} + {/* phantom div to prevent overlapping of banner with content. */}
Hey there! A new server version diff --git a/console/src/components/Services/Data/Metadata/Metadata.js b/console/src/components/Services/Data/Metadata/Metadata.js index 0a60f69b896ff..203d160c5eaac 100644 --- a/console/src/components/Services/Data/Metadata/Metadata.js +++ b/console/src/components/Services/Data/Metadata/Metadata.js @@ -27,19 +27,27 @@ class Metadata extends Component { } } checkSemVer(version) { - let showMetadata = false; try { - showMetadata = semver.gt(version, '1.0.0-alpha16'); - if (showMetadata) { - this.setState({ ...this.state, showMetadata: true }); + // If version is invalid semver or current version is greater than 1.0.0-alpha16, display Reload Metadata button + if ( + semver.valid(version) === null || + semver.gt(version, '1.0.0-alpha16') + ) { + this.updateMetadataState(true); } else { - this.setState({ ...this.state, showMetadata: false }); + this.updateMetadataState(false); } } catch (e) { - this.setState({ ...this.state, showMetadata: false }); + this.updateMetadataState(false); console.error(e); } } + updateMetadataState(displayReloadMetadata) { + this.setState({ + ...this.state, + showMetadata: displayReloadMetadata, + }); + } render() { const styles = require('../TableCommon/Table.scss'); const metaDataStyles = require('./Metadata.scss'); @@ -83,32 +91,32 @@ class Metadata extends Component { {this.state.showMetadata ? [ -
-

Reload metadata

-
+
+

Reload metadata

+
Refresh Hasura metadata, typically required if you have changed the underlying postgres. -
-
, -
- -
, -
-

Clear access key (logout)

-
+
+
, +
+ +
, +
+

Clear access key (logout)

+
The console caches the access key (HASURA_GRAPHQL_ACCESS_KEY) in the browser. You can clear this cache to force a prompt for the access key when the console is accessed next using this browser. -
-
, -
- -
, - ] +
+
, +
+ +
, + ] : null}
);