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}
);