summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar <oskar@mullvad.net>2024-10-01 16:59:27 +0200
committerOskar <oskar@mullvad.net>2024-10-01 16:59:27 +0200
commitfa641713ae50f8f6180230f2866a12ac17836fd3 (patch)
treeb212784d8ba113a264179055cc166d529781605c
parentffa5d846607f680a35b59266845196c34971a2ba (diff)
parentd27b4090b139327f5e87df459784286edc22a805 (diff)
downloadmullvadvpn-fa641713ae50f8f6180230f2866a12ac17836fd3.tar.xz
mullvadvpn-fa641713ae50f8f6180230f2866a12ac17836fd3.zip
Merge branch 'enable-react-strict-mode-des-1284'
-rw-r--r--gui/gulpfile.js16
-rw-r--r--gui/src/renderer/app.tsx41
2 files changed, 36 insertions, 21 deletions
diff --git a/gui/gulpfile.js b/gui/gulpfile.js
index bd8cba71e1..072e3652e0 100644
--- a/gui/gulpfile.js
+++ b/gui/gulpfile.js
@@ -6,12 +6,24 @@ const assets = require('./tasks/assets');
const watch = require('./tasks/watch');
const dist = require('./tasks/distribution');
+task('set-dev-env', function (done) {
+ process.env.NODE_ENV = 'development';
+ done();
+});
+task('set-prod-env', function (done) {
+ process.env.NODE_ENV = 'production';
+ done();
+});
+
task('clean', function (done) {
fs.rm('./build', { recursive: true, force: true }, done);
});
task('build-proto', scripts.buildProto);
-task('build', series('clean', parallel(assets.copyAll, scripts.buildProto), scripts.build));
-task('develop', series('clean', scripts.buildProto, watch.start));
+task(
+ 'build',
+ series('clean', 'set-prod-env', parallel(assets.copyAll, scripts.buildProto), scripts.build),
+);
+task('develop', series('clean', 'set-dev-env', scripts.buildProto, watch.start));
task('pack-win', series('build', dist.packWin));
task('pack-linux', series('build', dist.packLinux));
task('pack-mac', series('build', dist.packMac));
diff --git a/gui/src/renderer/app.tsx b/gui/src/renderer/app.tsx
index 7f8cf02ddd..940dcc000f 100644
--- a/gui/src/renderer/app.tsx
+++ b/gui/src/renderer/app.tsx
@@ -1,3 +1,4 @@
+import { StrictMode } from 'react';
import { batch, Provider } from 'react-redux';
import { Router } from 'react-router';
import { bindActionCreators } from 'redux';
@@ -287,25 +288,27 @@ export default class AppRenderer {
public renderView() {
return (
- <AppContext.Provider value={{ app: this }}>
- <Provider store={this.reduxStore}>
- <StyleSheetManager enableVendorPrefixes>
- <Lang>
- <Router history={this.history.asHistory}>
- <ErrorBoundary>
- <ModalContainer>
- <KeyboardNavigation>
- <AppRouter />
- <Changelog />
- </KeyboardNavigation>
- {window.env.platform === 'darwin' && <MacOsScrollbarDetection />}
- </ModalContainer>
- </ErrorBoundary>
- </Router>
- </Lang>
- </StyleSheetManager>
- </Provider>
- </AppContext.Provider>
+ <StrictMode>
+ <AppContext.Provider value={{ app: this }}>
+ <Provider store={this.reduxStore}>
+ <StyleSheetManager enableVendorPrefixes>
+ <Lang>
+ <Router history={this.history.asHistory}>
+ <ErrorBoundary>
+ <ModalContainer>
+ <KeyboardNavigation>
+ <AppRouter />
+ <Changelog />
+ </KeyboardNavigation>
+ {window.env.platform === 'darwin' && <MacOsScrollbarDetection />}
+ </ModalContainer>
+ </ErrorBoundary>
+ </Router>
+ </Lang>
+ </StyleSheetManager>
+ </Provider>
+ </AppContext.Provider>
+ </StrictMode>
);
}