500ffbd83571094d07113b37f4b116db159d29ad
chmalee
  Wed May 29 17:24:31 2024 -0700
Unencode dash characters so lookups into hgTracks.trackDb object still work, refs #33216.

diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js
index 70bdb62..7c73622 100644
--- src/hg/js/hgTracks.js
+++ src/hg/js/hgTracks.js
@@ -709,31 +709,34 @@
         if (!posting.blockUseMap && mouse.hasMoved(ev)) {
             posting.blockUseMap=true;
         }
     },
 
     mapClk: function ()
     {
         var done = false;
         // if we clicked on a merged item then show all the items, similar to clicking a
         // dense track to turn it to pack
         if (!(this && this.href)) {
             writeToApacheLog(`no href for mapClk, this = `);
         }
         let parsedUrl = parseUrl(this.href);
         let cgi = parsedUrl.cgi;
-        let id = parsedUrl.queryArgs.g;
+
+        // for some reason, '-' characters are encoded here? unencode them so lookups into
+        // hgTracks.trackDb will work
+        let id = parsedUrl.queryArgs.g.replace("%2D", "-");
         if (parsedUrl.queryArgs.i === "mergedItem") {
             updateObj={};
             updateObj[id+".doMergeItems"] = 0;
             hgTracks.trackDb[id][id+".doMergeItems"] = 0;
             cart.setVarsObj(updateObj,null,false);
             imageV2.requestImgUpdate(id, id + ".doMergeItems=0");
             return false;
         }
 
         if (done)
             return false;
         else {
             // first check if we are allowed to click, we could be in the middle
             // of a drag select
             if (posting.blockUseMap === true) {