7b28a28c6769f74499a7cc7e5a54028b49dad51c
max
  Tue Sep 30 06:00:10 2025 -0700
making sure that the user cannot have a verbose variable stuck in their cart. Also making the connection message a little shorter. refs #36426

diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index 3a2abf25bde..7ee8473fa98 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -1614,31 +1614,31 @@
 // do this only once per execution
 if (genericSetupDone)
     return;
 
 genericSetupDone = TRUE;
 
 cgiApoptosisSetup();
 if (cfgOptionBooleanDefault("showEarlyErrors", FALSE))
     errAbortSetDoContentType(TRUE);
 
 if (cfgOptionBooleanDefault("suppressVeryEarlyErrors", FALSE))
     htmlSuppressErrors();
 
 setUdcCacheDir();
 
-netSetTimeoutErrorMsg("A connection timeout means that either the server is offline or its firewall, the UCSC firewall or any router between the two blocks the connection.");
+netSetTimeoutErrorMsg("Connection timeout: either the server is offline or any firewall between UCSC and the server blocks the connection.");
 }
 
 struct cart *cartNew(char *userId, char *sessionId,
                      char **exclude, struct hash *oldVars)
 /* Load up cart from user & session id's.  Exclude is a null-terminated list of
  * strings to not include */
 {
 genericCgiSetup();
 
 struct cart *cart;
 struct sqlConnection *conn = cartDefaultConnector();
 char *ex;
 boolean userIdFound = FALSE, sessionIdFound = FALSE;
 
 AllocVar(cart);
@@ -2694,31 +2694,31 @@
     cartJsonEnd(NULL);
     exit(0);
     }
 char *hgsid = getSessionId();
 struct cart *cart = cartNew(hguid, hgsid, exclude, oldVars);
 cartExclude(cart, sessionVar);
 
 char *timeStr;
 if ( (timeStr = cgiOptionalString("_dumpCart")) != NULL)
     {
     dumpCartWithTime(cart, timeStr);
     exit(0);
     }
 
 // activate optional debuging output for CGIs
-verboseCgi(cartCgiUsualString(cart, "verbose", NULL));
+verboseCgi(cgiUsualString("verbose", NULL));
 
 return cart;
 }
 
 static void addHttpHeaders()
 /* CGIs can initialize the global variable httpHeaders to control their own HTTP
  * headers. This allows, for example, to prevent web browser caching of hgTracks
  * responses, but implicitly allow web browser caching everywhere else */
 {
 struct slPair *h;
 for (h = httpHeaders; h != NULL; h = h->next)
     {
     printf("%s: %s\n", h->name, (char *)h->val);
     }
 }