diff options
| author | HJ <30-hj@users.noreply.git.pleroma.social> | 2022-12-22 13:15:46 +0000 |
|---|---|---|
| committer | HJ <30-hj@users.noreply.git.pleroma.social> | 2022-12-22 13:15:46 +0000 |
| commit | eae62e2eb839fedf51fc5c8979698103a48d7eb8 (patch) | |
| tree | f42f0c410d97b1e355f41fa4a8ef293438de0067 | |
| parent | e009510c52d62a19136e01d9f0753448ad703016 (diff) | |
| parent | 3cba358743cd2c1d92b487295774231cef68978d (diff) | |
Merge branch 'fix-excessive-reregistrations' into 'develop'
Fix rogue nested watcher triggering notifications registering too often
Closes #1159
See merge request pleroma/pleroma-fe!1708
| -rw-r--r-- | src/components/settings_modal/helpers/boolean_setting.js | 6 | ||||
| -rw-r--r-- | src/components/settings_modal/tabs/filtering_tab.js | 9 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/components/settings_modal/helpers/boolean_setting.js b/src/components/settings_modal/helpers/boolean_setting.js index dc832044..2e6992cb 100644 --- a/src/components/settings_modal/helpers/boolean_setting.js +++ b/src/components/settings_modal/helpers/boolean_setting.js @@ -41,7 +41,13 @@ export default { }, methods: { update (e) { + const [firstSegment, ...rest] = this.path.split('.') set(this.$parent, this.path, e) + // Updating nested properties does not trigger update on its parent. + // probably still not as reliable, but works for depth=1 at least + if (rest.length > 0) { + set(this.$parent, firstSegment, { ...get(this.$parent, firstSegment) }) + } }, reset () { set(this.$parent, this.path, this.defaultState) diff --git a/src/components/settings_modal/tabs/filtering_tab.js b/src/components/settings_modal/tabs/filtering_tab.js index 73413b48..5354e5db 100644 --- a/src/components/settings_modal/tabs/filtering_tab.js +++ b/src/components/settings_modal/tabs/filtering_tab.js @@ -38,15 +38,6 @@ const FilteringTab = { }, // Updating nested properties watch: { - notificationVisibility: { - handler (value) { - this.$store.dispatch('setOption', { - name: 'notificationVisibility', - value: this.$store.getters.mergedConfig.notificationVisibility - }) - }, - deep: true - }, replyVisibility () { this.$store.dispatch('queueFlushAll') } |
