9fd202b891f2e2d5be9cfa807e5d5ba15e7fc02d
hiram
  Fri Nov 21 15:59:50 2025 -0800
protect the hs1 assembly on the outlinks with db=hs1 instead of genome=hs1 refs #36540

diff --git src/hg/hgHubConnect/hgHubConnect.c src/hg/hgHubConnect/hgHubConnect.c
index a1a3d73f855..60005a96b98 100644
--- src/hg/hgHubConnect/hgHubConnect.c
+++ src/hg/hgHubConnect/hgHubConnect.c
@@ -137,48 +137,56 @@
 int charCount = 0;
 struct slName *genome = genomes;
 for(; genome; genome = genome->next)
     {
     char *trimmedName = trackHubSkipHubName(genome->name);
     char *shortName = cloneString(trimmedName);
     // If even the first element is too long, truncate its short name.
     if (genome==genomes && strlen(trimmedName) > GENLISTWIDTH)  
         shortName[GENLISTWIDTH] = 0;
 
     // append to dyShortHtml if necessary
     if (charCount == 0 || (charCount+strlen(trimmedName)<=GENLISTWIDTH))
         { 
         if (withLink)
             {
+            if (hubConnectIsCurated(genome->name)) {
+                dyStringPrintf(dyShortHtml,"<a class='hgTracksLink' title='Connect hub and open the %s assembly' href='hgTracks?hubUrl=%s&db=%s&position=lastDbPos'>%s</a>" , genome->name, hubUrl, genome->name, shortName);
+            } else {
                 dyStringPrintf(dyShortHtml,"<a class='hgTracksLink' title='Connect hub and open the %s assembly' href='hgTracks?hubUrl=%s&genome=%s&position=lastDbPos'>%s</a>" , genome->name, hubUrl, genome->name, shortName);
+            }
             // https://hgdownload-test.gi.ucsc.edu/hubs/GCA/009/914/755/GCA_009914755.4/hub.txt
             if (withPaste)
                 dyStringPrintf(dyShortHtml, linkHtml, hubUrl);
             }
         else
             dyStringPrintf(dyShortHtml,"%s" , shortName);
 
         dyStringPrintf(dyShortHtml,", ");
         }
     freeMem(shortName); 
 
     charCount += strlen(trimmedName);
 
     // always append to dyLongHtml
     if (withLink)
         {
+        if (hubConnectIsCurated(genome->name)) {
+            dyStringPrintf(dyLongHtml,"<a title='Connect hub and open the %s assembly' href='hgTracks?hubUrl=%s&db=%s&position=lastDbPos'>%s</a>" , genome->name, hubUrl, genome->name, trimmedName);
+        } else {
             dyStringPrintf(dyLongHtml,"<a title='Connect hub and open the %s assembly' href='hgTracks?hubUrl=%s&genome=%s&position=lastDbPos'>%s</a>" , genome->name, hubUrl, genome->name, trimmedName);
+        }
         if (withPaste)
             dyStringPrintf(dyLongHtml, linkHtml, hubUrl);
         }
     else
         dyStringPrintf(dyLongHtml,"%s" , trimmedName);
 
     if (genome->next)
         {
         dyStringPrintf(dyLongHtml,", ");
         }
 
     }
 
 char *longHtml = dyStringCannibalize(&dyLongHtml);
 char *shortHtml = dyStringCannibalize(&dyShortHtml);