aboutsummaryrefslogtreecommitdiffstats
path: root/src/stores/ServicesStore.js
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2018-01-04 10:18:16 +0100
committerLibravatar GitHub <noreply@github.com>2018-01-04 10:18:16 +0100
commitfc8c5ff94a1f6525afb9f103666113ad80eb3a43 (patch)
tree494b19ddbcde51c44e5de6a468fb89cdeba5835f /src/stores/ServicesStore.js
parentFix typo with badges (diff)
parentMerge pull request #517 from dannyqiu/service-cache-cleanup (diff)
downloadferdium-app-fc8c5ff94a1f6525afb9f103666113ad80eb3a43.tar.gz
ferdium-app-fc8c5ff94a1f6525afb9f103666113ad80eb3a43.tar.zst
ferdium-app-fc8c5ff94a1f6525afb9f103666113ad80eb3a43.zip
Merge branch 'develop' into bug-fixes
Diffstat (limited to 'src/stores/ServicesStore.js')
-rw-r--r--src/stores/ServicesStore.js14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 66f37af26..87ee57a0d 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -16,6 +16,7 @@ export default class ServicesStore extends Store {
16 @observable updateServiceRequest = new Request(this.api.services, 'update'); 16 @observable updateServiceRequest = new Request(this.api.services, 'update');
17 @observable reorderServicesRequest = new Request(this.api.services, 'reorder'); 17 @observable reorderServicesRequest = new Request(this.api.services, 'reorder');
18 @observable deleteServiceRequest = new Request(this.api.services, 'delete'); 18 @observable deleteServiceRequest = new Request(this.api.services, 'delete');
19 @observable clearCacheRequest = new Request(this.api.services, 'clearCache');
19 20
20 @observable filterNeedle = null; 21 @observable filterNeedle = null;
21 22
@@ -31,6 +32,7 @@ export default class ServicesStore extends Store {
31 this.actions.service.createFromLegacyService.listen(this._createFromLegacyService.bind(this)); 32 this.actions.service.createFromLegacyService.listen(this._createFromLegacyService.bind(this));
32 this.actions.service.updateService.listen(this._updateService.bind(this)); 33 this.actions.service.updateService.listen(this._updateService.bind(this));
33 this.actions.service.deleteService.listen(this._deleteService.bind(this)); 34 this.actions.service.deleteService.listen(this._deleteService.bind(this));
35 this.actions.service.clearCache.listen(this._clearCache.bind(this));
34 this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this)); 36 this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this));
35 this.actions.service.focusService.listen(this._focusService.bind(this)); 37 this.actions.service.focusService.listen(this._focusService.bind(this));
36 this.actions.service.focusActiveService.listen(this._focusActiveService.bind(this)); 38 this.actions.service.focusActiveService.listen(this._focusActiveService.bind(this));
@@ -205,6 +207,13 @@ export default class ServicesStore extends Store {
205 gaEvent('Service', 'delete', service.recipe.id); 207 gaEvent('Service', 'delete', service.recipe.id);
206 } 208 }
207 209
210 @action async _clearCache({ serviceId }) {
211 this.clearCacheRequest.reset();
212 const request = this.clearCacheRequest.execute(serviceId);
213 await request._promise;
214 gaEvent('Service', 'clear cache');
215 }
216
208 @action _setActive({ serviceId }) { 217 @action _setActive({ serviceId }) {
209 const service = this.one(serviceId); 218 const service = this.one(serviceId);
210 219
@@ -368,7 +377,7 @@ export default class ServicesStore extends Store {
368 const service = this.one(serviceId); 377 const service = this.one(serviceId);
369 service.resetMessageCount(); 378 service.resetMessageCount();
370 379
371 service.webview.reload(); 380 service.webview.loadURL(service.url);
372 } 381 }
373 382
374 @action _reloadActive() { 383 @action _reloadActive() {
@@ -497,12 +506,13 @@ export default class ServicesStore extends Store {
497 .reduce((a, b) => a + b, 0); 506 .reduce((a, b) => a + b, 0);
498 507
499 const unreadIndirectMessageCount = this.allDisplayed 508 const unreadIndirectMessageCount = this.allDisplayed
500 .filter(s => (showMessageBadgeWhenMuted || s.isIndirectMessageBadgeEnabled) && showMessageBadgesEvenWhenMuted && s.isBadgeEnabled) 509 .filter(s => (showMessageBadgeWhenMuted && showMessageBadgesEvenWhenMuted) && (s.isBadgeEnabled && s.isIndirectMessageBadgeEnabled))
501 .map(s => s.unreadIndirectMessageCount) 510 .map(s => s.unreadIndirectMessageCount)
502 .reduce((a, b) => a + b, 0); 511 .reduce((a, b) => a + b, 0);
503 512
504 // We can't just block this earlier, otherwise the mobx reaction won't be aware of the vars to watch in some cases 513 // We can't just block this earlier, otherwise the mobx reaction won't be aware of the vars to watch in some cases
505 if (showMessageBadgesEvenWhenMuted) { 514 if (showMessageBadgesEvenWhenMuted) {
515 console.log('set badge', unreadDirectMessageCount, unreadIndirectMessageCount);
506 this.actions.app.setBadge({ 516 this.actions.app.setBadge({
507 unreadDirectMessageCount, 517 unreadDirectMessageCount,
508 unreadIndirectMessageCount, 518 unreadIndirectMessageCount,