From bb2e900ed67d97992072215976ebef6fbe99c16a Mon Sep 17 00:00:00 2001
From: Jordan Dukart <jordan@discoverygarden.ca>
Date: Tue, 7 Mar 2023 19:36:59 +0000
Subject: [PATCH] Only reset when Islandora's ContextProviders are being used.

---
 src/IslandoraContextManager.php | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/IslandoraContextManager.php b/src/IslandoraContextManager.php
index aa286480..c7228195 100644
--- a/src/IslandoraContextManager.php
+++ b/src/IslandoraContextManager.php
@@ -31,8 +31,10 @@ class IslandoraContextManager extends ContextManager {
 
     $this->activeContexts = [];
     // XXX: Ensure that no earlier executed contexts in the request are still
-    // present.
-    $this->resetContextEvaluation();
+    // present when being triggered via Islandora's ContextProviders.
+    if (!empty($provided)) {
+      $this->resetContextEvaluation();
+    }
     /** @var \Drupal\context\ContextInterface $context */
     foreach ($this->getContexts() as $context) {
       if ($this->evaluateContextConditions($context, $provided) && !$context->disabled()) {