77351c0fa18c6b8da672a097790a1533c068b119
chmalee
  Tue Jan 20 15:20:10 2026 -0800
cheapcgi.c:cgiEncode() encodes space to +, so we need to do the same in javascript, refs Max email

diff --git src/hg/js/hgMyData.js src/hg/js/hgMyData.js
index 9aa6daa1e2d..5948fc724df 100644
--- src/hg/js/hgMyData.js
+++ src/hg/js/hgMyData.js
@@ -1,34 +1,39 @@
 /* jshint esnext: true */
 var debugCartJson = true;
 
 function prettyFileSize(num) {
     if (!num) {return "0B";}
     if (num < (1024 * 1024)) {
         return `${(num/1024).toFixed(1)}KB`;
     } else if (num < (1024 * 1024 * 1024)) {
         return `${((num/1024)/1024).toFixed(1)}MB`;
     } else {
         return `${(((num/1024)/1024)/1024).toFixed(1)}GB`;
     }
 }
 
 function cgiEncode(value) {
-    // copy of cheapgi.c:cgiEncode except we are explicitly leaving '/' characters:
+    // copy of cheapgi.c:cgiEncode except we are explicitly leaving '/' characters, and
+    // space becomes '+':
     let splitVal = value.split('/');
     splitVal.forEach((ele, ix) => {
+        if (ele == " ") {
+            splitVal[ix] = '+';
+        } else {
             splitVal[ix] = encodeURIComponent(ele);
+        }
     });
     return splitVal.join('/');
 }
 
 function cgiDecode(value) {
     // decode an encoded value
     return decodeURIComponent(value);
 }
 
 function setDbSelectFromAutocomplete(selectEle, item) {
     // this has been bound to the <select> we are going to add
     // a new child option to
     let newOpt = document.createElement("option");
     newOpt.value = item.genome;
     newOpt.label = item.label;