From b38f03c0e7218762d90fa5092696b127f24f36db Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 25 Jan 2026 07:07:26 +0000
Subject: [PATCH] =Some logical flaws in Queue.php, Queue.js, ContentExecutor.php, UploadExecutor.php - particularly with timeline ordering, frontend queue updates, etc

---
 inc/rest/routes/ResponseRoutes.php |   26 +++++++++++---------------
 1 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/inc/rest/routes/ResponseRoutes.php b/inc/rest/routes/ResponseRoutes.php
index 0c430a7..31cbd9d 100644
--- a/inc/rest/routes/ResponseRoutes.php
+++ b/inc/rest/routes/ResponseRoutes.php
@@ -3,7 +3,7 @@
 
 use JVBase\JVB;
 use JVBase\rest\RestRouteManager;
-use JVBase\managers\CacheManager;
+use JVBase\managers\Cache;
 use WP_REST_Request;
 use WP_REST_Response;
 use WP_Error;
@@ -245,9 +245,8 @@
         }
         error_log('Sanitized action. Here we go!');
 
-        $this->queue = JVB()->queue();
-        // Add to queue
-        $operation = $this->queue->queueOperation(
+      	// Add to queue
+        $operation = JVB()->queue()->queueOperation(
             $action.'_response',
             $user_id,
             $queue_data,
@@ -271,7 +270,6 @@
      */
     public function updateResponse(WP_REST_Request $request):WP_REST_Response
     {
-        $this->queue = JVB()->queue();
         $id = (int) $request->get_param('id');
         $data = $request->get_params();
         $user_id = (int) $data['user'] ?? get_current_user_id();
@@ -308,7 +306,7 @@
         ];
 
         // Add to queue
-        $operation = $this->queue->queueOperation(
+        $operation = JVB()->queue()->queueOperation(
             'update_response',
             $user_id,
             $queue_data,
@@ -329,7 +327,6 @@
      */
     public function deleteResponse(WP_REST_Request $request):WP_REST_Response
     {
-        $this->queue = JVB()->queue();
         $id = (int) $request->get_param('id');
         $user_id = get_current_user_id();
         $operation_id = $request->get_param('id') ?? uniqid('response_delete_');
@@ -355,7 +352,7 @@
         }
 
         // Add to queue
-        $operation = $this->queue->queueOperation(
+        $operation = JVB()->queue()->queueOperation(
             'delete_response',
             $user_id,
             ['response_id' => $id],
@@ -457,8 +454,7 @@
                     }
                 }
 
-                $this->clearItemCache($data['item_id'], $data['content']);
-                CacheManager::invalidateGroup($this->cache_name);
+                $this->cache->forget($data['item_id']);
                 return ['success' => true, 'result' => $response_id];
 
             case 'update_response':
@@ -502,8 +498,8 @@
 					];
                 }
 
-                $this->clearItemCache($data['item_id'], $data['content']);
-                CacheManager::invalidateGroup($this->cache_name);
+                $this->cache->forget($data['item_id']);
+                $this->cache->flush();
                 return ['success' => true, 'result' => $updated];
 
             case 'delete_response':
@@ -536,7 +532,7 @@
                         ['%s', '%s', '%s'],
                         ['%d']
                     );
-                    CacheManager::invalidateGroup($this->cache_name);
+                    $this->cache->flush();
                     return ['success' => true, 'result' => $updated ];
                 } else {
                     // No replies, safe to actually delete
@@ -559,8 +555,8 @@
 						];
                     }
 
-                    $this->clearItemCache($data['item_id'], $data['content']);
-                    CacheManager::invalidateGroup($this->cache_name);
+                    $this->cache->forget($data['item_id']);
+                    $this->cache->flush();
                     return ['success' => true, 'result' => $deleted];
                 }
         }

--
Gitblit v1.10.0