bd6e3996c720821a29a4eaf6b8e9972e4c98a028
kate
  Wed Aug 12 16:50:17 2020 -0700
Add hg.conf var to enable Recommended Track Sets.  Remove hgSession URL mod, in favor of hgTracks detecting non-Track-Set session load. Build patch. refs #25601

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 9899a5a..56ea170 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -8458,34 +8458,38 @@
 	else
 	    {
 	    if (stringIn(database, freezeName))
 		hPrintf("%s %s on %s %s Assembly",
 			organization, browserName, organism, freezeName);
 	    else
 		hPrintf("%s %s on %s %s Assembly (%s)",
 			organization, browserName, trackHubSkipHubName(organism), freezeName, trackHubSkipHubName(database));
 	    }
 	}
     hPrintf("</B></SPAN>");
 
     // Disable recommended track set panel when changing tracks, session, database
     char *sessionLabel = cartOptionalString(cart, hgsOtherUserSessionLabel);
     char *oldDb = hashFindVal(oldVars, "db");
+    if (sessionLabel)
+        {
         if (defaultTracks || hideAll || 
             (oldDb && differentString(database, oldDb)) ||
-        (sessionLabel && sameString(sessionLabel, "off")))
+            !hasRecTrackSet(cart) ||
+            sameString(sessionLabel, "off"))
                 cartRemove(cart, hgsOtherUserSessionLabel);
+        }
     sessionLabel = cartOptionalString(cart, hgsOtherUserSessionLabel);
     if (sessionLabel)
         {
         char *panel = "recTrackSetsPanel";
         boolean isSessChanged = FALSE;
         if (recTrackSetsChangeDetectEnabled())
             isSessChanged = hasSessionChanged();
         struct dyString *hoverText = dyStringNew(0);
         dyStringPrintf(hoverText, "Your browser is displaying the %s track set%s. "
                                 " Click to change to another.", sessionLabel,
                                 isSessChanged ? 
                                 ", with changes (added or removed tracks) you have requested" : "");
         // TODO: cleanup layout tweaking for FF on IE10
         hPrintf("&nbsp;&nbsp;&nbsp;&nbsp;");
         hPrintf("<span id='spacer' style='display: inline; padding-left: 10px;' >&nbsp;</span>");