85372b41a99caf09ee398ab8ea7fc6707e3b6a0c max Fri Sep 18 09:20:10 2026 -0700 hgSession: privacy wording, wider description box, info bubbles, backup button #Preview2 week - bugs introduced now will need a build patch to fix Save-card privacy checkbox now reads "Private: Session can only be loaded by myself"; the Share dialog's gallery checkbox is normal-size text instead of a small form label. The description box is 50% wider. Info bubbles next to the Session name and Description labels explain the auto-generated name and where the description shows up. "Back up custom tracks" is a button again, at the top of the Advanced panel, and named first in that panel's summary line. refs #38311 diff --git src/hg/js/hgSession.js src/hg/js/hgSession.js index d78c515b506..10ae2247231 100644 --- src/hg/js/hgSession.js +++ src/hg/js/hgSession.js @@ -1,23 +1,23 @@ // hgSession.js - the experimental client-rendered "My Sessions" page. // // An opt-in modern alternative to the classic server-rendered hgSession page, applying hgBlat's // facelift strategy (#37996): hgSession.c emits the session list and page config as an inline JSON // global (hgSessionData) into an empty #sessionApp container, and this file builds the UI - a -// save-current-view card, a custom-track backup link, a searchable/sortable DataTable of saved -// sessions with inline Overwrite/Share/Edit/Delete, and an "Advanced" panel split into a load -// column and a save column. +// save-current-view card, a searchable/sortable DataTable of saved sessions with inline +// Overwrite/Share/Edit/Delete, and an "Advanced" panel (custom-track backup, a load column and a +// save column). // // The inline table actions POST to small JSON endpoints in hgSession.c (hgS_doDeleteJson, etc.) and // update the table in place. Navigation actions (load a session, load from URL/file, save to file, // reset) are ordinary form submits/links against the existing hgSession actions. // // Styling: shared house-style components in gbModern.css (.gbPill, .gbCard, .gbModal*, .gbTable, // .gbBanner, .gbSection), session-specific layout in hgSession.css. /* global $, hgSessionData, convertTitleTagsToMouseovers, titleTagToMouseover, addMouseover */ /* global htmlEncode, commify, gbShowTimingDialog */ // Cart action variables (must match the hgs* defines in hgSession.h; hgSessionPrefix is "hgS_"). var SESS_ACT = { save: 'hgS_doSaveSessionJson', rename: 'hgS_doRenameSessionJson', @@ -420,31 +420,31 @@ function sessOpenShare(row) { var mailBody = encodeURIComponent('Here is a UCSC Genome Browser session I would like to ' + 'share with you: ') + encodeURIComponent(row.shareUrl); var mailto = 'mailto:?subject=' + encodeURIComponent('UCSC Genome Browser session ' + row.name) + '&body=' + mailBody; var html = '
Share “' + sessEnc(row.name) + '”
' + '
' + '' + '' + 'Email
' + '
Sessions are loadable by anyone with the ' + 'link by default; use Edit to make one private.
' + - '