5cff98cffaac2ec822a4489660df20959a48912e max Fri Sep 18 09:34:37 2026 -0700 hgSession: name tooltip's URL example was swallowing "" #Preview2 week - bugs introduced now will need a build patch to fix refs #38311 diff --git src/hg/js/hgSession.js src/hg/js/hgSession.js index 5709080017a..537151601a4 100644 --- src/hg/js/hgSession.js +++ src/hg/js/hgSession.js @@ -671,34 +671,36 @@ function sessSaveCardHtml(C) { if (!C.loggedIn) { return ''; } // Assembly and position separated by a colon (e.g. "hg38: chr7:1-1,000"); assembly is already // the accession for hubs (trackHubSkipHubName on the server). var loc = ''; if (C.db && C.position) { loc = sessEnc(C.db) + ': ' + sessEnc(C.position); } else if (C.db) { loc = sessEnc(C.db); } else if (C.position) { loc = sessEnc(C.position); } if (loc && C.trackCount) { loc += ', ' + sessNum(C.trackCount) + ' track' + (C.trackCount === 1 ? '' : 's') + ' shown'; } var what = loc ? '' + loc + '' : ''; // Ghost text for the name field is a real generated name, not an explanation of the feature - // the info bubble already says what it is. var randName = sessEnc(sessRandomShareName()); + // "[sessionName]", not "": the tooltip is inserted via innerHTML (addMouseover in + // utils.js), so a literal "<...>" is parsed as an (invisible) tag instead of shown as text. var nameTip = 'Optional. Leave this blank and your session will be saved under an ' + 'automatically generated random name, like the one shown here. The session name ' + 'becomes part of the session’s URL, e.g. https://genome.ucsc.edu/s/' + - sessEnc(C.userName) + '/.'; + sessEnc(C.userName) + '/[sessionName].'; var descTip = 'Shown when the session is loaded, in the table below on mouseover, and in ' + 'the Public Sessions gallery if this session is made public.'; return '
' + '
' + 'Save the current view as a stable session link' + what + '
' + '
' + '
' + '' + 'ⓘ
' + '' + '' + '
' +