From 7779cf1e90f6982225d2586d9f5a94a7d18bb372 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Fri, 14 Feb 2025 11:52:55 +0100 Subject: [PATCH] FIX: prevents double set in the same computation (#31348) The current code was doing: - initial value for `showPreview` - setting another default value in `_setupPreview` The fix is to move all the computation in one initial step when initializing the property. --- .../discourse/app/services/composer.js | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/app/assets/javascripts/discourse/app/services/composer.js b/app/assets/javascripts/discourse/app/services/composer.js index f6fbfbec333..d29e7eb9af9 100644 --- a/app/assets/javascripts/discourse/app/services/composer.js +++ b/app/assets/javascripts/discourse/app/services/composer.js @@ -4,7 +4,7 @@ import { alias, and, or, reads } from "@ember/object/computed"; import { cancel, scheduleOnce } from "@ember/runloop"; import Service, { service } from "@ember/service"; import { isEmpty } from "@ember/utils"; -import { observes, on } from "@ember-decorators/object"; +import { observes } from "@ember-decorators/object"; import $ from "jquery"; import { Promise } from "rsvp"; import DiscardDraftModal from "discourse/components/modal/discard-draft"; @@ -107,7 +107,11 @@ export default class ComposerService extends Service { @service siteSettings; @service store; - @tracked showPreview = true; + @tracked + showPreview = this.site.mobileView + ? false + : (this.keyValueStore.get("composer.showPreview") || "true") === "true"; + @tracked allowPreview = true; checkedMessages = false; messageCount = null; @@ -154,14 +158,6 @@ export default class ComposerService extends Service { return NEW_PRIVATE_MESSAGE_KEY + "_" + new Date().getTime(); } - @on("init") - _setupPreview() { - const val = this.site.mobileView - ? false - : this.keyValueStore.get("composer.showPreview") || "true"; - this.set("showPreview", val === "true"); - } - @computed( "model.loading", "isUploading",