aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2022-12-22 13:15:46 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2022-12-22 13:15:46 +0000
commiteae62e2eb839fedf51fc5c8979698103a48d7eb8 (patch)
treef42f0c410d97b1e355f41fa4a8ef293438de0067 /src
parente009510c52d62a19136e01d9f0753448ad703016 (diff)
parent3cba358743cd2c1d92b487295774231cef68978d (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
Diffstat (limited to 'src')
-rw-r--r--src/components/settings_modal/helpers/boolean_setting.js6
-rw-r--r--src/components/settings_modal/tabs/filtering_tab.js9
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')
}