aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/services/tabs/TabItem.js
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/components/services/tabs/TabItem.js
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/components/services/tabs/TabItem.js')
-rw-r--r--src/components/services/tabs/TabItem.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js
index 5c3149a11..ccf3333f8 100644
--- a/src/components/services/tabs/TabItem.js
+++ b/src/components/services/tabs/TabItem.js
@@ -49,6 +49,14 @@ const messages = defineMessages({
49 id: 'tabs.item.enableService', 49 id: 'tabs.item.enableService',
50 defaultMessage: '!!!Enable Service', 50 defaultMessage: '!!!Enable Service',
51 }, 51 },
52 hibernateService: {
53 id: 'tabs.item.hibernateService',
54 defaultMessage: '!!!Hibernate Service',
55 },
56 wakeUpService: {
57 id: 'tabs.item.wakeUpService',
58 defaultMessage: '!!!Wake Up Service',
59 },
52 deleteService: { 60 deleteService: {
53 id: 'tabs.item.deleteService', 61 id: 'tabs.item.deleteService',
54 defaultMessage: '!!!Delete Service', 62 defaultMessage: '!!!Delete Service',
@@ -101,6 +109,8 @@ const styles = {
101 deleteService: PropTypes.func.isRequired, 109 deleteService: PropTypes.func.isRequired,
102 disableService: PropTypes.func.isRequired, 110 disableService: PropTypes.func.isRequired,
103 enableService: PropTypes.func.isRequired, 111 enableService: PropTypes.func.isRequired,
112 hibernateService: PropTypes.func.isRequired,
113 wakeUpService: PropTypes.func.isRequired,
104 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired, 114 showMessageBadgeWhenMutedSetting: PropTypes.bool.isRequired,
105 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired, 115 showMessageBadgesEvenWhenMuted: PropTypes.bool.isRequired,
106 }; 116 };
@@ -145,6 +155,8 @@ const styles = {
145 deleteService, 155 deleteService,
146 disableService, 156 disableService,
147 enableService, 157 enableService,
158 hibernateService,
159 wakeUpService,
148 openSettings, 160 openSettings,
149 showMessageBadgeWhenMutedSetting, 161 showMessageBadgeWhenMutedSetting,
150 showMessageBadgesEvenWhenMuted, 162 showMessageBadgesEvenWhenMuted,
@@ -181,6 +193,10 @@ const styles = {
181 label: intl.formatMessage(service.isEnabled ? messages.disableService : messages.enableService), 193 label: intl.formatMessage(service.isEnabled ? messages.disableService : messages.enableService),
182 click: () => (service.isEnabled ? disableService() : enableService()), 194 click: () => (service.isEnabled ? disableService() : enableService()),
183 }, { 195 }, {
196 label: intl.formatMessage(service.isHibernating ? messages.wakeUpService : messages.hibernateService),
197 click: () => (service.isHibernating ? wakeUpService() : hibernateService()),
198 enabled: service.canHibernate,
199 }, {
184 type: 'separator', 200 type: 'separator',
185 }, { 201 }, {
186 label: intl.formatMessage(messages.deleteService), 202 label: intl.formatMessage(messages.deleteService),
@@ -217,7 +233,7 @@ const styles = {
217 233
218 </span> 234 </span>
219 )} 235 )}
220 {service.isHibernating && !service.isHibernationEnabled && ( 236 {service.isHibernating && (
221 <span className="tab-item__message-count hibernating"> 237 <span className="tab-item__message-count hibernating">
222 238
223 </span> 239 </span>