Jake Vanderwerf
2026-02-17 a24a06002081ad71a78ffeff9072725ba39cf121
assets/js/concise/Queue.js
@@ -28,7 +28,7 @@
      this.initListeners();
      this.initStore();
      if (this.canUpdateUI && this.ui.panel) {
         this.popup = new window.jvbPopup({
         this.popup = window.jvbPopup.registerPopup({
            popup: this.ui.panel,
            toggle: this.ui.toggle.button,
            name: 'Queue Panel',
@@ -161,11 +161,15 @@
      this.onlineHandler = this.handleOnline.bind(this);
      this.offlineHandler = this.handleOffline.bind(this);
      this.unloadHandler = this.handleBeforeUnload.bind(this);
      this.visibilityHandler = this.handleVisibilityChange.bind(this);
      document.addEventListener('click', this.clickHandler);
      window.addEventListener('online', this.onlineHandler);
      window.addEventListener('offline', this.offlineHandler);
      window.addEventListener('beforeunload', this.unloadHandler);
      document.addEventListener('visibilitychange', this.visibilityHandler);
   }
      handleOnline() {
         this.updatePanel('synced');
@@ -176,6 +180,14 @@
      handleOffline() {
         this.updatePanel('offline');
      }
      handleVisibilityChange(e) {
         if (this.isPolling && document.hidden) {
            this.stopPolling();
         } else {
            this.maybeStartPolling();
         }
      }
   handleBeforeUnload(e) {
      if (!this.ui.panel) return;
      const total = this.getQueueByStatus(this.pendingStatuses).length;
@@ -288,8 +300,7 @@
            storeName: 'queue',
            keyPath: 'id',
            endpoint: this.endpoint,
            // TTL: Infinity,
            TTL: 5000,
            TTL: Infinity,
            indexes: [
               {name: 'status', keyPath: 'status'},
               {name: 'type', keyPath: 'type'},
@@ -1126,3 +1137,4 @@
      }
   });
});