doxa-maps/plugin-designs/gospel-resources
Doxa Maps 24b32e199f Release the test hooks on unmount, all twelve of them
Twelve globals were set across three plugins and none was ever deleted. Each
pins whatever it closes over — a map instance pins its canvas, its sources and
through them the whole app — so every mount left another copy behind, measured
elsewhere at roughly 10 MB each.

Released as a set rather than one at a time. A block that sets several globals
and clears the obvious one leaks the rest silently, and the obvious one is
whichever the author happened to remember.

Identity-checked, which is why the value is recorded as it is set rather than
cleared by name. Two instances can share a page, and clearing by name alone
would let the second unmount delete the first's live hooks — trading a leak for
a harder bug in which a live map loses its test surface at a distance.

A first attempt compared against a name that did not exist. Inside the try/catch
that guards these, the ReferenceError was swallowed and every delete silently did
nothing — a leak fix that looks exactly like a leak fix and leaks. The guard that
makes the assignment safe is the same guard that hides its failure, which is the
argument for recording what was set rather than inferring it at teardown.
2026-09-28 20:32:59 +00:00
..
data Finish the GRN sweep: every reachable pool has now been checked 2026-09-25 02:44:37 +00:00
scripts Neutral wording in a table strangers read 2026-09-28 00:45:42 +00:00
charts.meta.json Name the three gospel profiles the Studio was calling by their ids 2026-09-28 07:54:11 +00:00
charts.vue Untranslated English keeps its own direction in an RTL page 2026-09-27 09:35:27 +00:00
data-tables.meta.json Name the three gospel profiles the Studio was calling by their ids 2026-09-28 07:54:11 +00:00
data-tables.vue Let the gospel map's own text follow the reader's direction 2026-09-28 09:22:02 +00:00
gospel-dashboard.meta.json Plugin Studio and the gallery split production from experimental, from each bundle's own stage 2026-09-27 06:04:08 +00:00
gospel-dashboard.vue The manifest published an element name nothing defines 2026-09-25 03:50:02 +00:00
gospel-resource-rows.js 2,001 groups had readable Scripture and were told they did not 2026-09-27 18:53:52 +00:00
index.html Session work: strobe fix, grid layout, stacked tree legend, selection camera, chip bounding, asset inheritance, gates 2026-09-20 04:49:25 +00:00
index.js Eleven plugin entries import the element helper they call 2026-09-28 17:40:35 +00:00
resources-list.meta.json Name the three gospel profiles the Studio was calling by their ids 2026-09-28 07:54:11 +00:00
resources-list.vue Untranslated English keeps its own direction in an RTL page 2026-09-27 09:35:27 +00:00
resources-map.meta.json Commit the two pinHint:false metas that were only on disk 2026-09-24 00:01:08 +00:00
resources-map.vue Release the test hooks on unmount, all twelve of them 2026-09-28 20:32:59 +00:00