mirror of
https://github.com/wekan/wekan.git
synced 2025-09-22 01:50:48 +02:00
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:
parent
fa281e3f5f
commit
233554a3d6
5 changed files with 14 additions and 11 deletions
|
@ -2,10 +2,11 @@
|
||||||
|
|
||||||
This release adds the following new features:
|
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.
|
* 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
|
# v0.60 2017-11-29 Wekan release
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,12 @@ BlazeComponent.extendComponent({
|
||||||
this.parentComponent().showOverlay.set(true);
|
this.parentComponent().showOverlay.set(true);
|
||||||
this.parentComponent().mouseHasEnterCardDetails = false;
|
this.parentComponent().mouseHasEnterCardDetails = false;
|
||||||
this.calculateNextPeak();
|
this.calculateNextPeak();
|
||||||
|
|
||||||
|
Meteor.subscribe('unsaved-edits');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
isWatching() {
|
isWatching() {
|
||||||
const card = this.currentData();
|
const card = this.currentData();
|
||||||
return card.findWatcher(Meteor.userId());
|
return card.findWatcher(Meteor.userId());
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
Meteor.subscribe('setting');
|
|
||||||
Meteor.subscribe('mailServer');
|
|
||||||
Meteor.subscribe('accountSettings');
|
|
||||||
Meteor.subscribe('announcements');
|
|
||||||
|
|
||||||
BlazeComponent.extendComponent({
|
BlazeComponent.extendComponent({
|
||||||
onCreated() {
|
onCreated() {
|
||||||
this.error = new ReactiveVar('');
|
this.error = new ReactiveVar('');
|
||||||
|
@ -11,6 +6,11 @@ BlazeComponent.extendComponent({
|
||||||
this.emailSetting = new ReactiveVar(false);
|
this.emailSetting = new ReactiveVar(false);
|
||||||
this.accountSetting = new ReactiveVar(false);
|
this.accountSetting = new ReactiveVar(false);
|
||||||
this.announcementSetting = new ReactiveVar(false);
|
this.announcementSetting = new ReactiveVar(false);
|
||||||
|
|
||||||
|
Meteor.subscribe('setting');
|
||||||
|
Meteor.subscribe('mailServer');
|
||||||
|
Meteor.subscribe('accountSettings');
|
||||||
|
Meteor.subscribe('announcements');
|
||||||
},
|
},
|
||||||
|
|
||||||
setError(error) {
|
setError(error) {
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
Meteor.subscribe('my-avatars');
|
|
||||||
|
|
||||||
Template.userAvatar.helpers({
|
Template.userAvatar.helpers({
|
||||||
userData() {
|
userData() {
|
||||||
// We need to handle a special case for the search results provided by the
|
// We need to handle a special case for the search results provided by the
|
||||||
|
@ -54,6 +52,8 @@ Template.userAvatarInitials.helpers({
|
||||||
BlazeComponent.extendComponent({
|
BlazeComponent.extendComponent({
|
||||||
onCreated() {
|
onCreated() {
|
||||||
this.error = new ReactiveVar('');
|
this.error = new ReactiveVar('');
|
||||||
|
|
||||||
|
Meteor.subscribe('my-avatars');
|
||||||
},
|
},
|
||||||
|
|
||||||
avatarUrlOptions() {
|
avatarUrlOptions() {
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
Meteor.subscribe('unsaved-edits');
|
|
||||||
|
|
||||||
// `UnsavedEdits` is a global key-value store used to save drafts of user
|
// `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
|
// inputs. We used to have the notion of a `cachedValue` that was local to a
|
||||||
// component but the global store has multiple advantages:
|
// component but the global store has multiple advantages:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue