d033cea2063e9362949baf5b4d8b837597173a0d
max
  Thu Sep 10 05:16:05 2026 -0700
Address the code review of the Sep 9 commits

Faceted composite: text that comes from a hub - a metadata column's
description, the name and title of a data type, and the values quoted back in
the "could not load the metadata" row - is put on the page as text rather than
as markup. The three places built their markup from template strings, so a
value carrying angle brackets or a quote was read as HTML: the column
description now goes through the shared htmlEncode() once where the header is
parsed, and the other two build their elements as nodes. The error row reads
better for it as well, since a value with brackets in it used to disappear from
the message that was meant to show it.

The saved UI state keys on the assembly as well as the metadata id. localStorage
is per-origin, so two assemblies whose tracks share a name were sharing one
entry, and a row order dragged on one came back on the other over a different
set of samples. hgTrackUi passes the database down for it. State saved under the
old key is dropped, which costs a facet selection or a page length.

Imprinting: the five subtrack description pages link back to the container as
hgTrackUi?db=$db&g=$parentTrack, without the hgsid. Native trackDb html is
substituted by hgTrackDb as it loads the table, where there is no cart, so
${hgsid} came out empty and the link read 'hgsid=&g=...'. Matches what the
Fiber-seq pages already do. The makeDoc note that described the old form is
updated with the reason.

UniProt otto: README.txt lists all eight things that reach runLog.txt. It had
four, and was missing LOCKED, along with PREFLIGHT-FAIL, END and INTERRUPTED.

refs #36210
refs #37599
refs #38300

diff --git src/hg/makeDb/trackDb/human/hg38/akbariIdmr.html src/hg/makeDb/trackDb/human/hg38/akbariIdmr.html
index 6cda526d548..42a75d0d372 100644
--- src/hg/makeDb/trackDb/human/hg38/akbariIdmr.html
+++ src/hg/makeDb/trackDb/human/hg38/akbariIdmr.html
@@ -1,19 +1,19 @@
 <h2>Description</h2>
 
 <p>
-Part of the <a href="hgTrackUi?db=$db&amp;hgsid=${hgsid}&amp;g=$parentTrack">Imprinting</a> track collection, this track shows imprinted differentially methylated
+Part of the <a href="hgTrackUi?db=$db&amp;g=$parentTrack">Imprinting</a> track collection, this track shows imprinted differentially methylated
 regions, or iDMRs. Because the methylated copy of an iDMR is always the one from the same parent,
 an iDMR is a fixed landmark that says which of a person's two chromosomes came from the mother and
 which from the father, without sequencing the parents.
 </p>
 
 <p>
 This track shows 192 such regions on the autosomes, assembled by Akbari et al.
 (2023) from five earlier genome-wide surveys of imprinted methylation and used
 by their PatMat method to assign whole chromosomes to a parent of origin. Just
 under half of the regions were reported independently by two or more of the
 five studies. The rest come from a single study and were kept only after they
 showed the expected half-methylated signal in public methylomes from blood and
 from many tissues. The X chromosome was left out, since it is not generally
 thought to carry iDMRs.
 </p>