aeb4691c5f621712c9918e5a6e6a58c8b2de837d braney Wed Sep 23 09:32:26 2026 -0700 hgConfCatalog: hgGateway.showRefBadge and denseClick are release gates, refs #37925 Both came in through --auto-register. showRefBadge (#38401) gates the reference badge in the gateway search results; denseClick (#38364) gates per-item map boxes in a dense row, with a trackDb opt-in under it. diff --git src/hg/utils/hgConfCatalog/hgConfCatalog.py src/hg/utils/hgConfCatalog/hgConfCatalog.py index f00e0bbb7ab..2f2d5856c66 100755 --- src/hg/utils/hgConfCatalog/hgConfCatalog.py +++ src/hg/utils/hgConfCatalog/hgConfCatalog.py @@ -582,30 +582,47 @@ "explicitly to override either way. Does not gate the link the " "other way: the new page always offers its way back to the classic " "page, since the cart variable that got the user there sticks. " "Sibling of blatNewFormBanner."), h("quickLiftClipToChains", "flag", "hg/lib/quickLift.c", default="TRUE", role="gate", verified=True, ticket="38042", note="Whether an item too big for the chains quickLift loaded is " "pulled in to what they cover rather than dropped. Read once, " "in quickLiftIntervalsToBedClip, which is the display path; " "the details page calls quickLiftIntervalsToBed and always " "sees the item's true extent. Born TRUE, so it never gated a " "release: like alwaysItemRgb, the off position is the way the " "browser behaved before the change rather than anything about " "the machine, so it is a gate and should go once nobody has " "asked for the old behaviour."), + h("hgGateway.showRefBadge", "flag", "hg/hgGateway/hgGateway.c", + default="FALSE", role="gate", verified=True, ticket="38401", + note="A green \"reference\" word before an assembly in the " + "gateway search results when NCBI's refSeqCategory for it " + "is \"reference\". Only the GenArk matches from " + "assemblyList can carry it; a dbDb assembly and a match " + "from the NCBI assembly search never do. With the gate " + "off, isReference is always FALSE in the JSON and " + "autocompleteCat.js draws no badge and no mouseover."), + h("denseClick", "flag", "hg/hgTracks/simpleTracks.c", default="FALSE", + role="gate", verified=True, ticket="38364", + note="One clickable map box per item in a dense row, so a click " + "reaches the item's details page instead of expanding the " + "track. Read once, in denseClickEnabled(). A gate over the " + "whole feature: with it on, a track still has to opt in with " + "the denseClick trackDb setting, and with it off no track " + "gets it whatever its trackDb says."), ], } # --------------------------------------------------------------------------- # mirror knobs: boolean flags that are meant to live forever # --------------------------------------------------------------------------- MIRROR_KNOBS = { "what": "Settings that are legitimate, permanent deployment switches. " "Nearly all are boolean flags, and those are listed explicitly so " "the sunset report does not nag about them; a few are strings that " "choose between behaviours rather than turning one off, and those " "carry no gate/knob role because only booleans have one.", "vars": [ @@ -1691,46 +1708,30 @@ "what": "Settings the tree reads that --auto-register wrote down without " "a person's help, so no read goes unrecorded while it waits to be " "classified. Everything in a row here is a fact copied off the " "call: name, call site, and the compiled-in default when it is a " "literal. Nothing here is a judgement. A row leaves this " "section by hand, once somebody reads the call site and can say " "what the setting is for, whether a boolean is a gate or a knob, " "and whether a mirror operator would want it; then it moves to " "the section it belongs in with verified=True. Rows are not " "expected to stay here, and --reconcile counts every one of them " "as needing attention.", "vars": [ # --auto-register inserts new rows directly below this line. Leave the # marker in place; it is how the writer finds its way in. # AUTO-REGISTER INSERTION POINT - h("hgGateway.showRefBadge", "flag", "hg/hgGateway/hgGateway.c", - default="FALSE", ticket="38401", - note="Written down by --auto-register, not yet reviewed by a " - "person. Read with cfgOptionBooleanDefault in " - "hg/hgGateway/hgGateway.c. Came in at 81a04805893, highlight " - "NCBI \"reference\" assemblies in the search result and hg.conf " - "gated with hgGateway.showRefBadge=on default is off refs " - "#38401. Needs a description and a gate or knob call."), - h("denseClick", "flag", "hg/hgTracks/simpleTracks.c", default="FALSE", - ticket="38364", - note="Written down by --auto-register, not yet reviewed by a " - "person. Read with cfgOptionBooleanDefault in " - "hg/hgTracks/simpleTracks.c. Came in at 4d36c5c0a9c, " - "hgTracks: a dense row can have one clickable map box per " - "item, refs #38364. Needs a description and a gate or knob " - "call."), ], } # --------------------------------------------------------------------------- # assembly # --------------------------------------------------------------------------- SECTIONS = [ ("Release gates", RELEASE_GATES), ("Mirror knobs", MIRROR_KNOBS), ("Database connections", DATABASE), ("hgcentral tables", CENTRAL_TABLES), ("Paths and caches", PATHS), ("Limits and load control", LIMITS),