88f3a1a6fe7166978044b5929316f75448643734
galt
  Fri Dec 5 14:41:40 2025 -0800
Jonathan code review. Not wanting to have to add a list of exceptional tables. Restoring original line from Brian Raney. refs #36784,#36524

diff --git src/hg/hgTables/mainPage.c src/hg/hgTables/mainPage.c
index 914c242f536..f581cf8d5c0 100644
--- src/hg/hgTables/mainPage.c
+++ src/hg/hgTables/mainPage.c
@@ -714,33 +714,32 @@
 
 /* Print group and track line. */
     {
     hPrintf("<TR><TD><DIV ID=\"track-select\">");
     selGroup = showGroupField(hgtaGroup, "change", onChangeGroupOrTrack(), conn, hAllowAllTables());
     nbSpaces(3);
     curTrack = showTrackField(selGroup, hgtaTrack, "change", onChangeGroupOrTrack(), FALSE);
     nbSpaces(3);
     hPrintf("</DIV></TD></TR>\n");
     }
 
 /* Print table line. */
     {
     hPrintf("<TR><TD><DIV ID=\"table-select\">");
     curTable = showTableField(curTrack, hgtaTable, TRUE);
-    if (isHubTrack(curTable) || hashFindVal(fullTableToTdbHash, curTable) != NULL   /* In same database */
-          || sameString(curTable, "knownCanonical")  // not in the trackList but works.
-	)
+    // note that fullTableToTdbHash track hash is missing many tables including knownCanonical so cannot use it. 
+    if (isHubTrack(curTable) || (strchr(curTable, '.') == NULL))  /* In same database */
         {
         hti = getHti(database, curTable, conn);
         isPositional = htiIsPositional(hti);
         }
     isLongTabix = isLongTabixTable( curTable);
     isBam = isBamTable(curTable);
     isHic = isHicTable(curTable);
     isVcf = isVcfTable(curTable, NULL);
     isWig = isWiggle(database, curTable);
     if (isBigWigTable(curTable))
         {
         isPositional = TRUE;
         isWig = TRUE;
         }
     isHalSnake = isHalTable( curTable);