e1d45caaa77d9ba916ff37e09ece4df6d54c4797
max
  Fri May 23 09:44:16 2025 -0700
do not run bot wait code if run from cli, no redmine

diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index 3b17ad8f902..1a769655b32 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -1467,45 +1467,49 @@
 
 
 struct cart *cart;
 struct sqlConnection *conn = cartDefaultConnector();
 char *ex;
 boolean userIdFound = FALSE, sessionIdFound = FALSE;
 
 AllocVar(cart);
 cart->hash = newHash(12);
 cart->exclude = newHash(7);
 cart->userId = userId;
 cart->sessionId = sessionId;
 cart->userInfo = loadDb(conn, userDbTable(), userId, &userIdFound);
 cart->sessionInfo = loadDb(conn, sessionDbTable(), sessionId, &sessionIdFound);
 
-if (sessionIdFound && !userIdFound && !cgiWasSpoofed() && cfgOptionBooleanDefault("cartTrace", FALSE))
+boolean fromCli = cgiWasSpoofed();
+
+if (sessionIdFound && !userIdFound && !fromCli && cfgOptionBooleanDefault("cartTrace", FALSE))
     fprintf(stderr, "HGSID_WITHOUT_COOKIE\n");
 
-if (((sessionId && !sessionIdFound) || !sessionId) && (!userId || !userIdFound) && cfgOptionBooleanDefault("punishInvalidHgsid", FALSE))
+if (!fromCli && 
+    ((sessionId && !sessionIdFound) || !sessionId) && 
+    (!userId || !userIdFound) && 
+    cfgOptionBooleanDefault("punishInvalidHgsid", FALSE))
     {
     fprintf(stderr, "HGSID_WAIT no sessionId and no cookie: 5 seconds penalty");
     sleep(5);
     if (sessionId && !sessionIdFound)
         {
         fprintf(stderr, "HGSID_WAIT2 sessionId sent but invalid: 10 seconds penalty");
         sleep(10);
         }
     }
 
-
 if (sessionIdFound)
     cartParseOverHash(cart, cart->sessionInfo->contents);
 else if (userIdFound)
     cartParseOverHash(cart, cart->userInfo->contents);
 else
     {
     char *defaultCartContents = getDefaultCart(conn);
     cartParseOverHash(cart, defaultCartContents);
     }
 char when[1024];
 safef(when, sizeof(when), "open %s %s", userId, sessionId);
 cartTrace(cart, when, conn);
 
 loadCgiOverHash(cart, oldVars);