a62a60916a2ae4aebf9452d0f005f2ad2213ed94
hiram
  Mon Apr 6 16:21:57 2026 -0700
remove the gcOnFly track from consideration - do not see it at all anywhere refs #35958

diff --git src/hg/hubApi/apiUtils.c src/hg/hubApi/apiUtils.c
index 13b695faf0f..b1a367a48df 100644
--- src/hg/hubApi/apiUtils.c
+++ src/hg/hubApi/apiUtils.c
@@ -308,40 +308,56 @@
 /* Compare to sort based on 'track' name; use shortLabel as secondary sort key.
  * Note: parallel code to hgTracks.c:tgCmpPriority */
 {
 const struct trackDb *a = *((struct trackDb **)va);
 const struct trackDb *b = *((struct trackDb **)vb);
 int dif = strcmp(a->track, b->track);
 if (dif < 0)
    return -1;
 else if (dif == 0.0)
    return strcasecmp(a->shortLabel, b->shortLabel);
 else
    return 1;
 }
 
 struct trackDb *obtainTdb(struct trackHubGenome *genome, char *db)
-/* return a full trackDb fiven the hub genome pointer, or ucsc database name */
+/* return a full trackDb given the hub genome pointer, or ucsc database name */
 {
 struct trackDb *tdb = NULL;
 if (db)
     tdb = hTrackDb(db);
 else
     tdb = trackHubAddTracksGenome(genome);
-slSort(tdb, trackDbTrackCmp);
-// slSort(&tdb, trackDbCmp);
-return tdb;
+/* remove the synthetic gcOnFly track it exists only for hgTracks display */
+struct trackDb *filtered = NULL;
+struct trackDb *next;
+while (tdb)
+    {
+    next = tdb->next;
+    if (sameString(GC_ON_FLY_TRACK_NAME, trackHubSkipHubName(tdb->track)))
+	{
+	tdb->next = NULL;
+	}
+    else
+	{
+	slAddHead(&filtered, tdb);
+	}
+    tdb = next;
+    }
+slReverse(&filtered);
+slSort(filtered, trackDbTrackCmp);
+return filtered;
 }
 
 struct trackDb *findTrackDb(char *track, struct trackDb *tdb)
 /* search tdb structure for specific track, recursion on subtracks */
 {
 struct trackDb *trackFound = NULL;
 
 for (trackFound = tdb; trackFound; trackFound = trackFound->next)
     {
     if (trackFound->subtracks)
 	{
         struct trackDb *subTrack = findTrackDb(track, trackFound->subtracks);
 	if (subTrack)
 	    {
 	    if (sameOk(trackHubSkipHubName(subTrack->track), track))