Commit graph

242 commits

Author SHA1 Message Date
driver
617e9561ff Deep Research: the header also leaves when a map scrolls inside its own shadow root
dx-life measured with a real finger: on the Regions map the header stayed. Regions scrolls
in its own containers (.rd-scroll, .rl-scroll) inside its own shadow root, and scroll events
never cross a shadow root, so the gallery-level listener never saw them. Touch and wheel
events do cross: on the first one over such a scroller, the page finds it in the event's
composed path and listens to its scrolls directly (once each), which also covers momentum.
The same half-the-gallery size rule keeps small lists, such as a legend sheet's, out.
2026-09-30 03:28:29 +00:00
driver
196817f1da Nuxt devtools can be switched off with NUXT_DEVTOOLS=false
The cloud dev server sets it so the devtools overlay does not sit on a phone during testing.
Unset, devtools stays on as before; devtools never ships in a production build.
2026-09-30 03:25:13 +00:00
driver
03c02a1f18 Deep Research: the header leaves while the gallery is scrolled; the Deeper Research line is small
The Driver, reviewing on a phone: on /deep-research the site header stayed while every other
page lets it scroll away, and the "Want Deeper Research?" line under the research map was far
too big.

/deep-research keeps the verified layout at rest: the page does not scroll, the header shows,
and the gallery fills the rest of the screen, its bottom menu button included. The gallery
scrolls inside its own main pane, so a finger or a wheel over it never moves the page. Once
that pane is scrolled down a little, <html> gets rg-header-hidden: the header hides and the
gallery takes the whole screen (100svh). Back at the pane's top, the header returns. One
scroller, so nothing fights its momentum. A capture-phase scroll listener on the gallery's
shadow root sees the pane; only a scroller at least half the gallery's height counts. Measured
with a real finger at 390: the map (703 px) and the open sheet (211 px) never resize, and the
header hides once and returns once.

/research: the line is 1.2rem, the size of the homepage's "Explore our research maps" link.
2026-09-30 03:25:12 +00:00
driver
90fc8ffd19 Docs: the dropped-in tree is DX Maps development 948012a00 2026-09-30 02:53:55 +00:00
driver
f8e38ed108 Drop-in: public/dx-maps refreshed from DX Maps development 948012a00 (mobile-pass landings)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
948012a00, which contains FINAL 29634ed07 (this branch's previous tree) and the first landings of
the Driver's mobile pass: the UPG-100 status badge stays off the map credits; in Arabic, Gospel
Resources opens the people-group card opposite the legend; no "campaign" in the DX Maps UI (the
near-neighbor planner speaks of movements); and the Regions map shows two country posters per
row on a phone.

Measured: 27 tree files, all modified, none added or removed; 0 assets. Rebuilt bundle folders
(6): country-posters, doxa-maps-spa, gospel-resources, my-upg-100-list, regions-dashboard, upg-neighbor; plus manifest.json. manifest.json does not record the DX Maps commit, so it is
recorded here. The live demo stays on the verified 3386489 until FINAL-2 is green.
2026-09-30 02:53:54 +00:00
driver
338648952e Docs: the dropped-in tree is DX Maps development 29634ed07 (FINAL) 2026-09-30 00:09:31 +00:00
driver
62692c1c51 Drop-in: public/dx-maps refreshed from DX Maps development 29634ed07 (FINAL for the 30 Sep demo)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
29634ed07, which the fleet coordinator named FINAL. It contains 5484b844c, the previous refresh,
and studio's PINFLOOR (08e7e3c68). New in it: the map's licence credit is a floor for the
first-visit pin hint wherever the credit has moved; the (i) popup's backdrop sits above every
map's own top layer, so no pin hint floats over the dialog; and the Regions tab's print passes the
same series as the Country Posters wall.

Measured: 64 tree files, all modified, none added or removed; 0 assets. Rebuilt bundle folders
(17): all-people-groups, cities-internet, country-map, country-posters, demo-map, doxa-maps-spa, doxa-research-map, doxa-simple-map, gospel-internet, gospel-resources, my-upg-100-list, pplr-data-maps, regions-dashboard, research-dashboard, template-bundle, upg-neighbor, wall-of-people-groups; plus manifest.json. This site's own maps are among them: doxa-simple-map (/, /pray,
/adopt), doxa-research-map (/research) and doxa-maps-spa (/deep-research). manifest.json does not
record the DX Maps commit, so it is recorded here.
2026-09-30 00:09:30 +00:00
driver
80fa34032a Docs: the dropped-in tree is DX Maps development 5484b844c (FINAL) 2026-09-29 23:39:51 +00:00
driver
138d2e238f Drop-in: public/dx-maps refreshed from DX Maps development 5484b844c (FINAL for the 30 Sep demo)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
5484b844c, which the fleet coordinator named FINAL for the demo (it contains 99783ff0f, the
previous refresh). New in it: the Regions tab's country poster now comes from the one
country-sheet definition (it was still teal), and the 174 country previews were reshot with the
region hue and ink badges. Measured: 354 tree files, all modified, none added or removed; 348
of them are assets (174 posters, 174 previews); rebuilt: regions-dashboard (4 files) and
doxa-maps-spa (1), plus manifest.json. manifest.json does not record the DX Maps commit, so it
is recorded here.
2026-09-29 23:39:46 +00:00
driver
a2fff501e2 Docs: the dropped-in tree is DX Maps development 99783ff0f 2026-09-29 23:34:32 +00:00
driver
6b964e8007 Drop-in: public/dx-maps refreshed from DX Maps development 99783ff0f (quiet cancel for maps released mid-start)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
99783ff0f (it contains 67fed8b79, the previous refresh). New in it: a research map, or Prayer Progress,
released while it is still starting no longer reports a failed map. Measured: 10 tree files, 0
asset files; rebuilt: doxa-research-map (this site's /research), doxa-simple-map (/, /pray, /adopt) and
doxa-maps-spa. manifest.json does not record the DX Maps commit, so it is recorded here.
2026-09-29 23:34:32 +00:00
driver
adafb33ca3 Docs: the dropped-in tree is DX Maps development 67fed8b79 2026-09-29 23:23:14 +00:00
driver
62b40590ae Drop-in: public/dx-maps refreshed from DX Maps development 67fed8b79 (Big Picture's grid language)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
67fed8b79 (it contains a6372eea8, the previous refresh). New in it: Big Picture's grid takes its
language from Big Picture, not from the page URL. Measured: 5 tree files, 0 asset files; rebuilt:
dashboard-plus-grid and doxa-maps-spa. manifest.json does not record the DX Maps commit, so it is
recorded here.
2026-09-29 23:23:14 +00:00
driver
49c15895bb Docs: the dropped-in tree is DX Maps development a6372eea8 2026-09-29 23:17:48 +00:00
driver
3bea619569 Drop-in: public/dx-maps refreshed from DX Maps development a6372eea8 (studio's batch: PinHint, example links)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
a6372eea8 (it contains f3b1566c7, the previous refresh). New in it: the "Tap a coloured dot" pill
(PinHint) clears MapLibre's credit on phones; the UPG-100 and Simple Research popups show the packet
and the card deck (the example images are now linked); on a phone Cities' info button takes the corner
above its zoom column; Big Picture's info button sits above its filter bar. Measured: 64 tree files,
0 asset files; 17 bundles rebuilt, among them doxa-simple-map, doxa-research-map and country-map,
which this site's own home, pray, adopt, research and country pages mount. manifest.json does not record
the DX Maps commit, so it is recorded here.
2026-09-29 23:17:47 +00:00
driver
7163023ebe Docs: the dropped-in tree is DX Maps development f3b1566c7 2026-09-29 22:55:27 +00:00
driver
0306a7e76b Drop-in: public/dx-maps refreshed from DX Maps development f3b1566c7 (the info pointer is desktop-only)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
f3b1566c7 (it contains 838f6c14b, the previous refresh). New in it: the info button's one-time
"look at me" pointer shows on desktop only, at a measured width threshold. Measured: 5 tree files,
0 asset files; only the gallery bundle doxa-maps-spa and manifest.json changed. manifest.json does
not record the DX Maps commit, so it is recorded here.
2026-09-29 22:55:27 +00:00
driver
1ad07bdec6 Docs: the dropped-in tree is DX Maps development 838f6c14b 2026-09-29 22:31:10 +00:00
driver
d3c8facd62 Drop-in: public/dx-maps refreshed from DX Maps development 838f6c14b (the UPG-100 popup's example images)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
838f6c14b (it contains c8fde7852, the previous refresh). New in it: 82 example images for the UPG-100
info popup (Middle East Core's packet pages and card deck) under assets/previews/examples, about 2.7
MB. Measured: 82 asset files added and 0 other files changed, so no bundle changed; nothing links
the images until the gallery's next build does. manifest.json does not record the DX Maps commit, so
it is recorded here.
2026-09-29 22:31:09 +00:00
driver
b74f0b60a3 Docs: the dropped-in tree is DX Maps development c8fde7852 2026-09-29 22:24:37 +00:00
driver
50a7e31896 Drop-in: public/dx-maps refreshed from DX Maps development c8fde7852 (page direction follows the language)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
c8fde7852 (it contains 99c22caf7, the previous refresh). New in it: switching from Arabic to another
language no longer leaves the page right-to-left; the maps read the page's own direction at mount and
push the locale under both keys. Measured: 16 tree files, 0 asset files; rebuilt: big-picture,
dashboard-plus-grid, doxa-maps-spa, people-groups-grid, research-map-plus-grid. manifest.json does not
record the DX Maps commit, so it is recorded here.
2026-09-29 22:24:37 +00:00
driver
2d3544d70e Docs: the dropped-in tree is DX Maps development 99c22caf7 2026-09-29 22:17:44 +00:00
driver
a5ef5b897e Drop-in: public/dx-maps refreshed from DX Maps development 99c22caf7 (info button clear of every map control)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
99c22caf7 (it contains a40f5ac68, the previous refresh). New in it: the gallery's info button sits
clear of each map's own controls on every tab (on a phone it takes each tab's free corner; on Regions
and UPG-100 it also clears the Share button), and Big Picture's and Simple Research's popup text
reads as one sentence after its label. Measured: 5 tree files, 0 asset files; only the gallery
bundle doxa-maps-spa and manifest.json changed. manifest.json does not record the DX Maps commit, so
it is recorded here.
2026-09-29 22:17:44 +00:00
driver
f5ca847d94 Docs: the dropped-in tree is DX Maps development a40f5ac68 2026-09-29 22:07:10 +00:00
driver
1c6e2fe59c Drop-in: public/dx-maps refreshed from DX Maps development a40f5ac68 (packet page fill, Middle East poster)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
a40f5ac68 (it contains 933687b14, the previous refresh). New in it: the prayer packet's low pages fill
the sheet (the knows-Christ grid 65 x 80, larger sets charts), and Middle East Core's stored poster
and preview are regenerated with tonight's renderer (ink pin badges), which the UPG-100 info popup
shows. Measured: 26 tree files, including 2 asset files (assets/posters/middle-east-core.html assets/previews/middle-east-core.webp); rebuilt: country-posters,
doxa-maps-spa, doxa-research-map, my-upg-100-list, regions-dashboard, upg-neighbor. manifest.json does
not record the DX Maps commit, so it is recorded here.
2026-09-29 22:07:10 +00:00
driver
15614ae6fc DoxaMapSlot: on a phone, the top scroll pad no longer covers the map's zoom-in button
exp measured it on the shared browser at 390 x 844 on / and /adopt, in en and ar: a hit test at the
centre of the map's "+" landed on .doxa-map-scroll-pad--top (48 px, z-index 1500, full width below
769 px), so a tap there scrolled the page instead of zooming. The pad now stops 56 px short of the
end side, where the map's control column sits (right in LTR, left in RTL; a logical inset covers
both); the rest of the strip still scrolls the page. The pad is DX Life's own (f505248, the same on
production); it shows only with the simple map (home, pray, adopt), and only on phones.
2026-09-29 21:59:31 +00:00
driver
0e9ab1aa12 Docs: the dropped-in tree is DX Maps development 933687b14 2026-09-29 21:28:27 +00:00
driver
04a4fac0df Drop-in: public/dx-maps refreshed from DX Maps development 933687b14 (card hyphens, info button sides)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
933687b14 (it contains be3184207, the previous refresh, and 4bcce8ff8, which changed no tree file).
New in it: a card name hyphenates only where a word cannot fit (the earlier every-name rule is
reverted); the info popup's stacked-pages hint is visible; and the info button sits at the end of
the line, so in Arabic it mirrors and no longer covers the first tab. Measured: 27 tree files, 0
asset files; rebuilt: country-posters, doxa-maps-spa, doxa-research-map, my-upg-100-list,
regions-dashboard, upg-neighbor. manifest.json does not record the DX Maps commit, so it is recorded
here.
2026-09-29 21:28:26 +00:00
driver
7d1bf588c9 Docs: the dropped-in tree is DX Maps development be3184207 2026-09-29 21:00:38 +00:00
driver
21ca4ab886 Drop-in: public/dx-maps refreshed from DX Maps development be3184207 (packet grid, card hyphens, poster colours)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
be3184207 (it contains c934f8020, the previous refresh). New in it: the prayer packet's
knows-Christ grid fills the page (the same 5,200 boxes, 80 x 65); a card name that must break
mid-word gets a hyphen; and each country poster is coloured by its region instead of one teal for
all 173 (regions' 1ab8524cf). Measured: 28 tree files, including 2 asset files
(assets/lib/poster-render.global.js assets/lib/poster-render.js); the bundles country-map, country-posters, doxa-maps-spa, doxa-research-map,
my-upg-100-list, regions-dashboard and upg-neighbor were rebuilt. manifest.json does not record the
DX Maps commit, so it is recorded here.
2026-09-29 21:00:37 +00:00
driver
be77576cea Docs: the dropped-in tree is DX Maps development c934f8020 2026-09-29 20:40:19 +00:00
driver
f02a2739f5 Drop-in: public/dx-maps refreshed from DX Maps development c934f8020 (Simple Research's example caption)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
c934f8020 (it contains f46134771, the previous refresh; measured: 0 asset files changed, and the
gallery bundle doxa-maps-spa plus manifest.json changed). New in it: the caption for Simple
Research's example packet in the info popup, in all eleven locales. manifest.json does not record the
DX Maps commit, so it is recorded here.
2026-09-29 20:40:19 +00:00
driver
730ef6a110 Docs: the dropped-in tree is DX Maps development f46134771 2026-09-29 20:33:48 +00:00
driver
7ed854a0e6 Drop-in: public/dx-maps refreshed from DX Maps development f46134771 (Big Picture's example output)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
f46134771 (it contains b8c7e9a39, the previous refresh; measured: 0 asset files changed, and the
gallery bundle doxa-maps-spa plus manifest.json changed). New in it: Big Picture's info popup shows
real output, an excerpt of its spreadsheet. manifest.json does not record the DX Maps commit, so it
is recorded here.
2026-09-29 20:33:47 +00:00
driver
3b2623b3a6 Docs: the dropped-in tree is DX Maps development b8c7e9a39 2026-09-29 20:31:41 +00:00
driver
c2c3b83950 Drop-in: public/dx-maps refreshed from DX Maps development b8c7e9a39 (the knows-Christ packet page)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
b8c7e9a39 (it contains bb1241d1e, the previous refresh). New in it: the prayer packet's "Who among
them knows Christ" page counts people, not weeks, and its totals come from the unrounded share; the
five packet consumers are rebuilt for both. No asset file changed. manifest.json does not record the
DX Maps commit, so it is recorded here.
2026-09-29 20:31:40 +00:00
driver
9297602224 Deep Research: the gallery's info dialog opens above the site header, so its title and close button show
rega's phone check (390 px) found the gallery's "What can this map do for you?" dialog with its title
and close button hidden under DX Life's header. The header is z-index 1500 (blocks/_header.scss) and
the dialog is a full-viewport layer at z-index 1000, full-screen below 600 px, so its top sat under
the header. On desktop a tall dialog (up to 88vh, centred) can reach under it too.

While the gallery is shown, <html> carries rg-gallery-mounted and .header drops to z-index 999, just
under the dialog. Nothing else changes: the header's nav has no dropdowns, and the mobile menu sits
outside .header at its own level. Only the Deep Research page sets the class, and it removes it on
leave.
2026-09-29 20:28:16 +00:00
driver
dc3382f017 Docs: the dropped-in tree is DX Maps development bb1241d1e 2026-09-29 20:14:35 +00:00
driver
60b0754bc8 Drop-in: public/dx-maps refreshed from DX Maps development bb1241d1e (the gallery's published sections)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
bb1241d1e (1209 files; it contains cff06fb8e, the previous refresh). The Deep Research gallery now
shows the Driver's sections in his order: Dashboards (Big Picture, desktop only; Simple Research;
Regions), Prayer Mobilization (Prayer Progress, UPG-100 List), Gospel Research (Cities with
Internet, Gospel Resources), and Experimental, shown by default. It also carries two prayer-card
print fixes: a long people-group name is never cut off, and card photos print sharp. No asset file
changed. manifest.json does not record the DX Maps commit, so it is recorded here.
2026-09-29 20:14:20 +00:00
driver
8f27180caf Deep Research, the Driver's final spec: the research page links to it, and every gallery section shows
- /research: DX Life production's page, with the research map on its own and, under it, "Want
  Deeper Research? See our Deep-Research Maps ->", linking to /deep-research (the locale prefix
  kept by localePath, e.g. /ar/deep-research).
- i18n: "Want Deeper Research?", "See our Deep-Research Maps" and the page name "Deep Research" in
  all 11 locales (en es fr pt de it zh ar ru hi ro), each in that file's own register. "Deep
  Research" stays a name in every language, as the gallery's heading does.
- /deep-research: no longer passes {"experimental": false}; every section shows, Experimental
  included, as the Driver lists it.
- / and /pray are unchanged: the engagement map and the prayer map (doxa-simple-map with those
  presets).
- Docs: the branch is deep-research (clone line updated); DX-MAPS-GALLERY.md's research-page row
  was still describing an earlier three-tab simple map and now describes the page as it is.
2026-09-29 20:04:59 +00:00
driver
c6a846d86c Docs: MapLibre is the default on every map, and one setting switches back to Mapbox
- MOBILIZATION-MAPS-LAPTOP.md: every map on the site, DX Life's own home, pray, adopt and country maps
  included, uses MapLibre by default (the Driver's rule); NUXT_PUBLIC_MAP_PROVIDER=mapbox with
  NUXT_PUBLIC_MAPBOX_TOKEN switches back to Mapbox as doxa.life uses it today. The dropped-in tree is
  DX Maps development cff06fb8e.
- DX-MAPS-GALLERY.md: the Map engine paragraph said a token alone selects Mapbox, which stopped being
  true when the provider setting came in; now it gives the real switch. It names what comes from
  other hosts (the engine from jsDelivr, base-map tiles from OpenFreeMap and VersaTiles, one
  dashboard's figures from the World Bank API, the prayer API). The tree sha is cff06fb8e.
- deep-research/index.vue: its comment no longer says "no third-party host" without qualification.
2026-09-29 19:42:27 +00:00
driver
fc13cd3607 Drop-in: public/dx-maps refreshed from DX Maps development cff06fb8e (the Deep Research gallery)
The whole dx-maps output folder, replaced with the tree committed on DX Maps development at
cff06fb8e (1209 files; it contains f0eb33951, the previous refresh). The gallery is now titled Deep
Research, honours the {"experimental": false} this site's /deep-research page passes (the Experimental
folder is hidden), remounts a tab on a live language switch, and every one of its seven tabs has the
"what can this map do for you?" info button. manifest.json does not record the DX Maps commit, so it
is recorded here.
2026-09-29 19:39:45 +00:00
driver
f364f856ad MOBILIZATION-MAPS-LAPTOP.md: run the branch on a laptop (clone, install, one command, the addresses, the Mapbox swap) 2026-09-29 19:21:45 +00:00
driver
f7adfb14cf Drop-in: public/dx-maps refreshed from DX Maps development f0eb33951
The whole dx-maps output folder, replaced (not merged) with the tree committed on DX Maps
development at f0eb33951 (1209 files), which the DX Maps landing gates keep equal to a fresh build.
It carries the packet export fix (a2809b31f) and 32cf3f235. manifest.json does not record the DX Maps
commit it came from, so it is recorded here.

The embed snippets in this tree are relative to the tree root, so the folder works wherever it is
dropped; the gallery builds its embed URLs at runtime from the page's own origin. Every bundle this
site loads by name is in the tree: doxa-maps-spa, doxa-simple-map, doxa-research-map, country-map, and
the assets the static pages under public/embed and public/research use.
2026-09-29 19:20:29 +00:00
driver
ffade36fb2 Maps: nothing from api.mapbox.com stands in front of a map; Mapbox is reachable through the provider setting
1. The page no longer loads Mapbox GL and the geocoder before the map bundle. They came from
   api.mapbox.com, in one try with the bundle, so a slow or blocked Mapbox CDN meant NO map at all,
   even with MapLibre, which needs nothing from Mapbox. Each dx-maps map loads its own engine, its CSS
   and its geocoder, once, when it is built (ensureEngineScript in dx-maps' useMapInstance.js, which
   reuses a loaded engine and never loads it twice). So the page now loads only the map bundle, in its
   own try; Mapbox is fetched only when Mapbox is the provider, by the map, after the bundle.
2. The provider is always passed explicitly: 'mapbox' when the site chose it
   (NUXT_PUBLIC_MAP_PROVIDER=mapbox with NUXT_PUBLIC_MAPBOX_TOKEN), otherwise 'maplibre'. A token
   alone never selects Mapbox in dx-maps, so before this, choosing Mapbox had no effect: the maps ran
   MapLibre carrying a token. Fixed in DoxaMapSlot (home, pray, adopt, research, country) and on
   /deep-research.

Lineage: the provider handling (app/utils/mapProvider.ts and DoxaMapSlot's use of it) is NOT
production's code; it came with the drop-in lineage (b045200, an ancestor of 9860e78). DX Life
production (github master fc4d622) has no provider setting. The script chain in useDoxaMap is
production's pattern, which production needs for its own /js bundles; this branch loads dx-maps
bundles, which carry their own engine loader. With the default settings (MapLibre), home, pray and
adopt render the same map as before; they only stop downloading the unused Mapbox scripts and CSS.
The token handling matches production: the public token, passed only in Mapbox mode.
2026-09-29 19:19:26 +00:00
driver
5820c58115 Research page: exactly DX Life production's (github master fc4d622), with the research map as before
The Driver's rule for the Research page: as it is on the production site today, with the gallery off
it. The page file is now byte-identical to production's: the heading, the By Region link, the
research map (bundle research-map) and the UUPG list. The only change a visitor gets is where the map
comes from: DoxaMapSlot loads it from this site's /dx-maps/ tree, and MapLibre is the default engine.
2026-09-29 19:00:05 +00:00
driver
1f107d45e0 DX-MAPS-GALLERY.md: the gallery is the hidden Deep Research page; the Research page has the simple map
Also corrects two statements that were already stale on the drop-in branch: the page has one
scrollbar and no footer (not a footer below the gallery), and the dropped-in tree is dx-maps
development 1bbc5ff87 (not main 11129455e).
2026-09-29 18:56:54 +00:00
driver
0855b35bd0 Deep Research hides the gallery's Experimental folder; the two pages pass the repo's lint
- /deep-research gives the gallery profile-config {"experimental": false}: the curated sections
  only, no Experimental folder. Galleries built before the flag ignore it.
- Both pages are now clean under the repo's ESLint config (layout only).
2026-09-29 18:51:10 +00:00
driver
d4901dc424 Deep Research page: the Research Gallery on a hidden page; the Research page shows the simple map
DX Life asked for the gallery under the name Deep Research, on a page of the site rather than a
subdomain, and not on the Research page.

- /deep-research: the gallery, exactly as it ran on the Research page (one scrollbar, no footer,
  runtime tree base, MapLibre by default). It is in no menu and tells robots not to index it.
- /research: DX Life's own UUPG page again (the heading, the By Region link and the UUPG list),
  with the production simple map (doxa-simple-map) carrying the Engagement, Prayer and Adoption
  tabs that the home, pray and adopt pages each show one of.
- /regions: DX Life's own regions index and its menu item are back (LEGACY_REGIONS_PAGE and
  USE_LEGACY_REGIONS_PAGE on); /countries goes to it.
- DoxaMapSlot: the map fills its box, not the viewport (--profile-min-h: 0), so the slot no longer
  cuts off the map's attribution and bottom controls.
2026-09-29 18:42:38 +00:00
doxa-maps
9860e78ff1 Country map popup: the Pray and Full Profile links are escaped like every other value in it
popupHtml() escaped the name, the subtitle, the stats, the description, the photo address and the two
button labels, but put prayUrl and profileUrl into href raw. Both end in the people group's slug,
which comes from the API, so a slug with a double quote would close the attribute. Both now go
through the escapeHtml the popup already uses. Found by the regions plugin, which fixed the same
inherited code in its dx-maps port.
2026-09-29 05:45:22 +00:00