da2089fb286b3119d62399a747a23fc22fa3ad70 chmalee Wed Mar 18 16:53:36 2026 -0700 Add plain position searches to the recents search stack on hgTracks/hgGateway, refs #34588 diff --git src/hg/js/utils.js src/hg/js/utils.js index ffd7a62f74d..cea236c133a 100644 --- src/hg/js/utils.js +++ src/hg/js/utils.js @@ -4696,38 +4696,38 @@ // } let searchStack = window.localStorage.getItem("searchStack"); let searchObj = {}; if (searchStack === null) { searchObj[db] = {"stack": [searchTerm], "results": {}}; searchObj[db].results[searchTerm] = extra; window.localStorage.setItem("searchStack", JSON.stringify(searchObj)); } else { searchObj = JSON.parse(searchStack); if (db in searchObj) { let searchList = searchObj[db].stack; if (searchList.includes(searchTerm)) { // remove it from wherever it is cause it's going to the front searchList.splice(searchList.indexOf(searchTerm), 1); } else { - searchObj[db].results[searchTerm] = extra; if (searchList.length >= 5) { let toDelete = searchList.pop(); delete searchObj[db].results[toDelete]; } } + // always update results in case the extra data has changed + searchObj[db].results[searchTerm] = extra; searchList.unshift(searchTerm); - searchObj.stack = searchList; } else { searchObj[db] = {"stack": [searchTerm], "results": {}}; searchObj[db].results[searchTerm] = extra; } window.localStorage.setItem("searchStack", JSON.stringify(searchObj)); } } // variables to parse url arguments correctly var digitTest = /^\d+$/, keyBreaker = /([^\[\]]+)|(\[\])/g, plus = /\+/g, paramTest = /([^?#]*)(#.*)?$/; function deparam(params) {