4f1f8506b8f8ad9e83f484032bab80866b9c6cd3 chmalee Tue Jan 20 15:58:57 2026 -0800 Ensure hubUrl= links get encoded when the hubSpace UI generates them. userNames with spaces are encoded to '+' signs by cgiEncode, which need to be encoded to %2B so it will survive a cgiDecode by hgTracks later, so we not only encode space to '+' first, we then encode the '+' itself. diff --git src/hg/js/hgMyData.js src/hg/js/hgMyData.js index 5948fc724df..b639768ccff 100644 --- src/hg/js/hgMyData.js +++ src/hg/js/hgMyData.js @@ -1,1530 +1,1531 @@ /* 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, 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