From cfbf69848a4247b43d9a9ed7b0437058bb9f8cb7 Mon Sep 17 00:00:00 2001
From: Robin Ward <robin.ward@gmail.com>
Date: Wed, 25 Aug 2021 17:03:07 -0400
Subject: [PATCH] Revert "FIX: The `LogsNotice` service was never unsubscribing
 from the mbus"

This reverts commit 14b76dece6126cd0a04a6390d39517a383c72bf9.
---
 .../discourse/app/initializers/logs-notice.js |  6 +----
 .../discourse/app/services/logs-notice.js     | 23 ++++++++-----------
 2 files changed, 11 insertions(+), 18 deletions(-)

diff --git a/app/assets/javascripts/discourse/app/initializers/logs-notice.js b/app/assets/javascripts/discourse/app/initializers/logs-notice.js
index e4e69adf3c6..08867d129d8 100644
--- a/app/assets/javascripts/discourse/app/initializers/logs-notice.js
+++ b/app/assets/javascripts/discourse/app/initializers/logs-notice.js
@@ -5,7 +5,7 @@ export default {
   name: "logs-notice",
   after: "message-bus",
 
-  initialize(container) {
+  initialize: function (container) {
     const siteSettings = container.lookup("site-settings:main");
     const messageBus = container.lookup("message-bus:main");
     const keyValueStore = container.lookup("key-value-store:main");
@@ -21,8 +21,4 @@ export default {
       },
     });
   },
-
-  teardown() {
-    LogsNotice.current().destroy();
-  },
 };
diff --git a/app/assets/javascripts/discourse/app/services/logs-notice.js b/app/assets/javascripts/discourse/app/services/logs-notice.js
index 0a92c3faac6..6c77e7c6b89 100644
--- a/app/assets/javascripts/discourse/app/services/logs-notice.js
+++ b/app/assets/javascripts/discourse/app/services/logs-notice.js
@@ -1,4 +1,7 @@
-import discourseComputed, { observes } from "discourse-common/utils/decorators";
+import discourseComputed, {
+  observes,
+  on,
+} from "discourse-common/utils/decorators";
 import EmberObject from "@ember/object";
 import I18n from "I18n";
 import { autoUpdatingRelativeAge } from "discourse/lib/formatter";
@@ -8,14 +11,11 @@ import { isEmpty } from "@ember/utils";
 
 const LOGS_NOTICE_KEY = "logs-notice-text";
 
-const CHANNEL = "/logs_error_rate_exceeded";
-
-export default EmberObject.extend({
+const LogsNotice = EmberObject.extend({
   text: "",
 
-  init() {
-    this._super();
-
+  @on("init")
+  _setup() {
     if (!this.isActivated) {
       return;
     }
@@ -25,7 +25,7 @@ export default EmberObject.extend({
       this.set("text", text);
     }
 
-    this.messageBus.subscribe(CHANNEL, (data) => {
+    this.messageBus.subscribe("/logs_error_rate_exceeded", (data) => {
       const duration = data.duration;
       const rate = data.rate;
       let siteSettingLimit = 0;
@@ -53,11 +53,6 @@ export default EmberObject.extend({
     });
   },
 
-  willDestroy() {
-    this._super();
-    this.messageBus.unsubscribe(CHANNEL);
-  },
-
   @discourseComputed("text")
   isEmpty(text) {
     return isEmpty(text);
@@ -91,3 +86,5 @@ export default EmberObject.extend({
     return errorsPerHour > 0 || errorsPerMinute > 0;
   },
 });
+
+export default LogsNotice;