FIX: remove topic timer info on completion

FIX: remove topic timer info on completion

diff --git a/app/assets/javascripts/discourse/components/topic-timer-info.js.es6 b/app/assets/javascripts/discourse/components/topic-timer-info.js.es6
index 5e8cdb9..4b3110b 100644
--- a/app/assets/javascripts/discourse/components/topic-timer-info.js.es6
+++ b/app/assets/javascripts/discourse/components/topic-timer-info.js.es6
@@ -23,60 +23,59 @@ export default Ember.Component.extend(
       const topicStatusKnown = this.topicClosed !== undefined;
       if (topicStatusKnown && topicStatus === this.statusType) return;
 
-      let statusUpdateAt = moment(this.executeAt);
-
-      let duration = moment.duration(statusUpdateAt - moment());
-      let minutesLeft = duration.asMinutes();
-      let rerenderDelay = 1000;
-
-      if (minutesLeft > 2160) {
-        rerenderDelay = 12 * 60 * 60000;
-      } else if (minutesLeft > 1410) {
-        rerenderDelay = 60 * 60000;
-      } else if (minutesLeft > 90) {
-        rerenderDelay = 30 * 60000;
-      } else if (minutesLeft > 2) {
-        rerenderDelay = 60000;
-      }
-
-      let autoCloseHours = this.duration || 0;
-
-      buffer.push(`<h3>${iconHTML("far-clock")} `);
-
-      let options = {
-        timeLeft: duration.humanize(true),
-        duration: moment.duration(autoCloseHours, "hours").humanize()
-      };
-
-      const categoryId = this.categoryId;
-
-      if (categoryId) {
-        const category = Category.findById(categoryId);
-
-        options = Object.assign(
-          {
-            categoryName: category.get("slug"),
-            categoryUrl: category.get("url")
-          },
-          options
-        );
-      }
-
-      buffer.push(
-        `<span title="${moment(this.executeAt).format("LLLL")}">${I18n.t(
-          this._noticeKey(),
-          options
-        )}</span>`
-      );
-      buffer.push("</h3>");
-
-      // TODO Sam: concerned this can cause a heavy rerender loop
-      if (!Ember.testing) {
-        this._delayedRerender = Ember.run.later(
-          this,
-          this.rerender,
-          rerenderDelay
+      const statusUpdateAt = moment(this.executeAt);
+      const duration = moment.duration(statusUpdateAt - moment());
+      const minutesLeft = duration.asMinutes();
+
+      if (minutesLeft > 0) {
+        let rerenderDelay = 1000;
+        if (minutesLeft > 2160) {
+          rerenderDelay = 12 * 60 * 60000;
+        } else if (minutesLeft > 1410) {
+          rerenderDelay = 60 * 60000;
+        } else if (minutesLeft > 90) {
+          rerenderDelay = 30 * 60000;
+        } else if (minutesLeft > 2) {
+          rerenderDelay = 60000;
+        }
+        let autoCloseHours = this.duration || 0;
+
+        buffer.push(`<h3>${iconHTML("far-clock")} `);
+
+        let options = {
+          timeLeft: duration.humanize(true),
+          duration: moment.duration(autoCloseHours, "hours").humanize()
+        };
+
+        const categoryId = this.categoryId;
+        if (categoryId) {
+          const category = Category.findById(categoryId);
+
+          options = Object.assign(
+            {
+              categoryName: category.get("slug"),
+              categoryUrl: category.get("url")
+            },
+            options
+          );
+        }
+
+        buffer.push(
+          `<span title="${moment(this.executeAt).format("LLLL")}">${I18n.t(
+            this._noticeKey(),
+            options
+          )}</span>`
         );
+        buffer.push("</h3>");
+
+        // TODO Sam: concerned this can cause a heavy rerender loop
+        if (!Ember.testing) {
+          this._delayedRerender = Ember.run.later(
+            this,
+            this.rerender,
+            rerenderDelay
+          );
+        }
       }
     },

GitHub sha: efc05e72

1 Like

This commit has been mentioned on Discourse Meta. There might be relevant details there: