84688c95e385ee526a59d7dac8f6ff644781361b
braney
  Sat Aug 2 11:11:57 2025 -0700
ongoing work on quickLift.   Made saved sessions work a little more
rationally

diff --git src/hg/hgConvert/hgConvert.c src/hg/hgConvert/hgConvert.c
index e900abde1bb..b2704a055d5 100644
--- src/hg/hgConvert/hgConvert.c
+++ src/hg/hgConvert/hgConvert.c
@@ -356,54 +356,40 @@
 	    qEnd = chain->qEnd;
 	    }
 	blockSize = chainTotalBlockSize(chain);
         /* Check if the toDb database exists and if the chromosome
            sequence file (of the hgConvert result) exists in the location
            specified in chromInfo for the toDb. */
 
         boolean chromSeqExists = (sqlDatabaseExists(toDb->name) &&
 				  chromSeqFileExists(toDb->name, chain->qName));
         /* Check if the toDb has active set to 1 in dbDb if the toDb
            database exists.
            If these conditions are met then print position link to
            browser for toDb, otherwise just print position without link. */
         boolean startedAnchor = FALSE;
         visDy = newDyString(20);
-        if ((hDbIsActive(toDb->name) && chromSeqExists) || startsWith("hub:",toDb->nibPath))
+        if ((hDbIsActive(toDb->name) && chromSeqExists) || startsWith("hub:",toDb->nibPath) || sameString(toDb->nibPath, "genark"))
             {
             if (quickChain)
-                printf("<A HREF=\"%s?hgsid=%s&db=%s&position=%s:%d-%d&quickLift.%d.%s=%d\">",
-                   hgTracksName(), cartSessionId(cart), toDb->name,  chain->qName, qStart+1, qEnd, quickHub, toDb->name, quickChain);
+                printf("<A HREF=\"%s?db=%s&position=%s:%d-%d&quickLift.%d.%s=%d\">",
+                   hgTracksName(),  toDb->name,  chain->qName, qStart+1, qEnd, quickHub, toDb->name, quickChain);
             else
-                printf("<A HREF=\"%s?hgsid=%s&db=%s&position=%s:%d-%d\">",
-		   hgTracksName(), cartSessionId(cart), toDb->name, chain->qName, qStart+1, qEnd);
+                printf("<A HREF=\"%s?db=%s&position=%s:%d-%d\">",
+		   hgTracksName(), toDb->name, chain->qName, qStart+1, qEnd);
             startedAnchor = TRUE;
             }
-        else if (sameString(toDb->nibPath, "genark"))
-            {
-            char *hubUrl = genarkUrl(toDb->name);
-            if (hubUrl)
-                {
-                startedAnchor = TRUE;
-                if (quickChain)
-                    printf("<A HREF=\"%s?hgsid=%s&genome=%s&hubUrl=%s&position=%s:%d-%d&quickLift.%d.%s=%d\">",
-                       hgTracksName(), cartSessionId(cart), toDb->name, hubUrl, chain->qName, qStart+1, qEnd, quickHub, toDb->name, quickChain);
-                else
-                    printf("<A HREF=\"%s?hgsid=%s&genome=%s&hubUrl=%s&position=%s:%d-%d\">",
-                       hgTracksName(), cartSessionId(cart), toDb->name, hubUrl, chain->qName, qStart+1, qEnd);
-                }
-            }
 	printf("%s:%d-%d",  chain->qName, qStart+1, qEnd);
         if (startedAnchor)
 	    printf("</A>");
 	printf(" (%3.1f%% of bases, %3.1f%% of span)<BR>\n",
 	    100.0 * blockSize/origSize,
 	    100.0 * (chain->tEnd - chain->tStart) / origSize);
 	}
     }
 if (badList)
     {
     printf("<BR>Some of your tracks failed to lift because the type is not supported by quickLift.<BR><BR>");
     printf("<TABLE><TR><TD><B>Short label<TD><B>Type</TD></TR>");
     for(; badList; badList = badList->next)
         {
         printf("<TR><TD>%s</TD><TD>%s</TD></TR>", badList->shortLabel, badList->type);