aboutsummaryrefslogtreecommitdiffstats
path: root/src/containers
diff options
context:
space:
mode:
authorLibravatar kytwb <412895+kytwb@users.noreply.github.com>2021-07-23 10:04:43 +0100
committerLibravatar GitHub <noreply@github.com>2021-07-23 11:04:43 +0200
commit012e55ebf87559f2d782e5400fb885df8b80a445 (patch)
tree1966e58defe2bcd9541ca9a3f4db67a95a6b4249 /src/containers
parentRemoved references to 'premium' i18n keys that are no longer used. (diff)
downloadferdium-app-012e55ebf87559f2d782e5400fb885df8b80a445.tar.gz
ferdium-app-012e55ebf87559f2d782e5400fb885df8b80a445.tar.zst
ferdium-app-012e55ebf87559f2d782e5400fb885df8b80a445.zip
Fix hibernation mode (#1486)
* Use hibernation strategy from settings instead of hardcoded 5 minutes * Fix conditions with isHibernationEnabled, previously disableHibernation * Make service hibernation obey global setting Also refactors hibernation to move some hibernation enablement logic into the Service model * Remove global hibernation enable switch Implements option 4 from https://github.com/getferdi/ferdi/pull/1486#issuecomment-860290992 according to https://github.com/getferdi/ferdi/pull/1486#issuecomment-876558694 * Implements #865 : Add 'hibernate service' and 'wake up service' in the sidebar context menu. * Removed 'hibernationEnabled' check on main settings screen Since this is an (imo) incongruous behavior for the first time user. They will see a message, but with no ability to choose the hibernation strategy. * Autogenerated files from conflict fixes Co-authored-by: Kristóf Marussy <kristof@marussy.com> Co-authored-by: Vijay A <avijayr@protonmail.com>
Diffstat (limited to 'src/containers')
-rw-r--r--src/containers/layout/AppLayoutContainer.js4
-rw-r--r--src/containers/settings/EditServiceScreen.js3
-rw-r--r--src/containers/settings/EditSettingsScreen.js10
3 files changed, 5 insertions, 12 deletions
diff --git a/src/containers/layout/AppLayoutContainer.js b/src/containers/layout/AppLayoutContainer.js
index 9cdb20727..21be9d9d1 100644
--- a/src/containers/layout/AppLayoutContainer.js
+++ b/src/containers/layout/AppLayoutContainer.js
@@ -56,6 +56,8 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e
56 toggleAudio, 56 toggleAudio,
57 deleteService, 57 deleteService,
58 updateService, 58 updateService,
59 hibernate,
60 awake,
59 } = this.props.actions.service; 61 } = this.props.actions.service;
60 62
61 const { hide } = this.props.actions.news; 63 const { hide } = this.props.actions.news;
@@ -109,6 +111,8 @@ export default @inject('stores', 'actions') @observer class AppLayoutContainer e
109 toggleAudio={toggleAudio} 111 toggleAudio={toggleAudio}
110 deleteService={deleteService} 112 deleteService={deleteService}
111 updateService={updateService} 113 updateService={updateService}
114 hibernateService={hibernate}
115 wakeUpService={awake}
112 toggleMuteApp={toggleMuteApp} 116 toggleMuteApp={toggleMuteApp}
113 toggleWorkspaceDrawer={workspaceActions.toggleWorkspaceDrawer} 117 toggleWorkspaceDrawer={workspaceActions.toggleWorkspaceDrawer}
114 isWorkspaceDrawerOpen={workspaceStore.isWorkspaceDrawerOpen} 118 isWorkspaceDrawerOpen={workspaceStore.isWorkspaceDrawerOpen}
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js
index e22e91822..0fe84792f 100644
--- a/src/containers/settings/EditServiceScreen.js
+++ b/src/containers/settings/EditServiceScreen.js
@@ -345,7 +345,7 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex
345 345
346 render() { 346 render() {
347 const { 347 const {
348 recipes, services, user, settings, 348 recipes, services, user,
349 } = this.props.stores; 349 } = this.props.stores;
350 const { action } = this.props.router.params; 350 const { action } = this.props.router.params;
351 351
@@ -398,7 +398,6 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex
398 onDelete={() => this.deleteService()} 398 onDelete={() => this.deleteService()}
399 openRecipeFile={file => this.openRecipeFile(file)} 399 openRecipeFile={file => this.openRecipeFile(file)}
400 isProxyFeatureEnabled={proxyFeature.isEnabled} 400 isProxyFeatureEnabled={proxyFeature.isEnabled}
401 isHibernationFeatureActive={settings.app.hibernate}
402 /> 401 />
403 </ErrorBoundary> 402 </ErrorBoundary>
404 ); 403 );
diff --git a/src/containers/settings/EditSettingsScreen.js b/src/containers/settings/EditSettingsScreen.js
index 3b8f03ae4..5f29ee385 100644
--- a/src/containers/settings/EditSettingsScreen.js
+++ b/src/containers/settings/EditSettingsScreen.js
@@ -87,10 +87,6 @@ const messages = defineMessages({
87 id: 'settings.app.form.sentry', 87 id: 'settings.app.form.sentry',
88 defaultMessage: '!!!Send telemetry data', 88 defaultMessage: '!!!Send telemetry data',
89 }, 89 },
90 hibernate: {
91 id: 'settings.app.form.hibernate',
92 defaultMessage: '!!!Enable service hibernation',
93 },
94 hibernateOnStartup: { 90 hibernateOnStartup: {
95 id: 'settings.app.form.hibernateOnStartup', 91 id: 'settings.app.form.hibernateOnStartup',
96 defaultMessage: '!!!Keep services in hibernation on startup', 92 defaultMessage: '!!!Keep services in hibernation on startup',
@@ -432,11 +428,6 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
432 value: settings.all.app.sentry, 428 value: settings.all.app.sentry,
433 default: DEFAULT_APP_SETTINGS.sentry, 429 default: DEFAULT_APP_SETTINGS.sentry,
434 }, 430 },
435 hibernate: {
436 label: intl.formatMessage(messages.hibernate),
437 value: settings.all.app.hibernate,
438 default: DEFAULT_APP_SETTINGS.hibernate,
439 },
440 hibernateOnStartup: { 431 hibernateOnStartup: {
441 label: intl.formatMessage(messages.hibernateOnStartup), 432 label: intl.formatMessage(messages.hibernateOnStartup),
442 value: settings.all.app.hibernateOnStartup, 433 value: settings.all.app.hibernateOnStartup,
@@ -653,7 +644,6 @@ export default @inject('stores', 'actions') @observer class EditSettingsScreen e
653 isWorkspaceEnabled={workspaces.isFeatureActive} 644 isWorkspaceEnabled={workspaces.isFeatureActive}
654 lockingFeatureEnabled={lockingFeatureEnabled} 645 lockingFeatureEnabled={lockingFeatureEnabled}
655 automaticUpdates={this.props.stores.settings.app.automaticUpdates} 646 automaticUpdates={this.props.stores.settings.app.automaticUpdates}
656 hibernationEnabled={this.props.stores.settings.app.hibernate}
657 isDarkmodeEnabled={this.props.stores.settings.app.darkMode} 647 isDarkmodeEnabled={this.props.stores.settings.app.darkMode}
658 isAdaptableDarkModeEnabled={this.props.stores.settings.app.adaptableDarkMode} 648 isAdaptableDarkModeEnabled={this.props.stores.settings.app.adaptableDarkMode}
659 isTodosActivated={this.props.stores.todos.isFeatureEnabledByUser} 649 isTodosActivated={this.props.stores.todos.isFeatureEnabledByUser}