Move global subscription to template subscription so that subscription

will stop when template is unused. It's very important for efficiency
espacially with large number of users. Thanks to mfshiu !
This commit is contained in:
Lauri Ojansivu 2017-12-02 22:00:42 +02:00
parent fa281e3f5f
commit 233554a3d6
5 changed files with 14 additions and 11 deletions

View file

@ -2,10 +2,11 @@
This release adds the following new features:
* [Change password of any user in Standalone Wekan Admin Panel](https://github.com/wekan/wekan/pull/1372).
* [Change password of any user in Standalone Wekan Admin Panel](https://github.com/wekan/wekan/pull/1372);
* [Performance optimization: Move more global subscriptions to template subscription](https://github.com/wekan/wekan/pull/1373);
* Update tranlations. Add Latvian language.
Thanks to GitHub user thuanpq for contributions. Thanks to translators for their translations.
Thanks to GitHub users mfshiu and thuanpq for their contributions. Thanks to translators for their translations.
# v0.60 2017-11-29 Wekan release

View file

@ -23,8 +23,12 @@ BlazeComponent.extendComponent({
this.parentComponent().showOverlay.set(true);
this.parentComponent().mouseHasEnterCardDetails = false;
this.calculateNextPeak();
Meteor.subscribe('unsaved-edits');
},
isWatching() {
const card = this.currentData();
return card.findWatcher(Meteor.userId());

View file

@ -1,8 +1,3 @@
Meteor.subscribe('setting');
Meteor.subscribe('mailServer');
Meteor.subscribe('accountSettings');
Meteor.subscribe('announcements');
BlazeComponent.extendComponent({
onCreated() {
this.error = new ReactiveVar('');
@ -11,6 +6,11 @@ BlazeComponent.extendComponent({
this.emailSetting = new ReactiveVar(false);
this.accountSetting = new ReactiveVar(false);
this.announcementSetting = new ReactiveVar(false);
Meteor.subscribe('setting');
Meteor.subscribe('mailServer');
Meteor.subscribe('accountSettings');
Meteor.subscribe('announcements');
},
setError(error) {

View file

@ -1,5 +1,3 @@
Meteor.subscribe('my-avatars');
Template.userAvatar.helpers({
userData() {
// We need to handle a special case for the search results provided by the
@ -54,6 +52,8 @@ Template.userAvatarInitials.helpers({
BlazeComponent.extendComponent({
onCreated() {
this.error = new ReactiveVar('');
Meteor.subscribe('my-avatars');
},
avatarUrlOptions() {

View file

@ -1,5 +1,3 @@
Meteor.subscribe('unsaved-edits');
// `UnsavedEdits` is a global key-value store used to save drafts of user
// inputs. We used to have the notion of a `cachedValue` that was local to a
// component but the global store has multiple advantages: