diff --git a/src/core/client/framework/components/NetworkError.css b/src/core/client/framework/components/NetworkError.css
new file mode 100644
index 000000000..e4c87aea5
--- /dev/null
+++ b/src/core/client/framework/components/NetworkError.css
@@ -0,0 +1,13 @@
+.root {
+ background-color: var(--palette-error-300);
+
+ font-family: var(--font-family-primary);
+ font-weight: var(--font-weight-primary-semi-bold);
+ font-size: var(--font-size-3);
+ line-height: var(--line-height-3);
+ color: var(--palette-text-500);
+
+ border-radius: var(--round-corners);
+
+ padding: var(--spacing-3);
+}
diff --git a/src/core/client/framework/components/NetworkError.tsx b/src/core/client/framework/components/NetworkError.tsx
new file mode 100644
index 000000000..e81cd3be5
--- /dev/null
+++ b/src/core/client/framework/components/NetworkError.tsx
@@ -0,0 +1,16 @@
+import { Localized } from "@fluent/react/compat";
+import React, { FunctionComponent } from "react";
+
+import styles from "./NetworkError.css";
+
+const NetworkError: FunctionComponent = () => {
+ return (
+
+
+ Network error. Please refresh your page and try again.
+
+
+ );
+};
+
+export default NetworkError;
diff --git a/src/core/client/framework/lib/relay/QueryRenderer.tsx b/src/core/client/framework/lib/relay/QueryRenderer.tsx
index b3619c4d4..df3042a3e 100644
--- a/src/core/client/framework/lib/relay/QueryRenderer.tsx
+++ b/src/core/client/framework/lib/relay/QueryRenderer.tsx
@@ -2,6 +2,7 @@ import React, { Component } from "react";
import { QueryRenderer } from "react-relay";
import { OperationType } from "relay-runtime";
+import NetworkError from "coral-framework/components/NetworkError";
import { PropTypesOf } from "coral-framework/types";
import { CoralContextConsumer } from "../bootstrap/CoralContext";
@@ -33,7 +34,20 @@ class CoralQueryRenderer<
return (
{({ relayEnvironment }) => (
-
+ {
+ if (
+ args.error &&
+ args.error.name === "RRNLRetryMiddlewareError"
+ ) {
+ return ;
+ }
+
+ return this.props.render(args);
+ }}
+ />
)}
);
diff --git a/src/locales/en-US/common.ftl b/src/locales/en-US/common.ftl
index aa236ab97..1742f7cf4 100644
--- a/src/locales/en-US/common.ftl
+++ b/src/locales/en-US/common.ftl
@@ -7,3 +7,4 @@ common-banEmailTemplate =
Someone with access to your account has violated our community guidelines. As a result, your account has been banned. You will no longer be able to comment, react or report comments.
common-embedNotFound = Requested media could not be found. May have been deleted.
+common-networkError = Network error. Please refresh your page and try again.