doxa-life + doxa-maps drop-in CDN (public/doxa-maps-cdn) — Forgejo working copy
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 ( |
||
|---|---|---|
| .claude/skills | ||
| app | ||
| config | ||
| documentation | ||
| embeddables | ||
| i18n/locales | ||
| migrations | ||
| modules | ||
| public | ||
| server | ||
| .blueprints.json | ||
| .editorconfig | ||
| .env.example | ||
| .gitignore | ||
| .mcp.json | ||
| bun.lock | ||
| DX-MAPS-GALLERY.md | ||
| eslint.config.mjs | ||
| i18n.config.ts | ||
| nuxt.config.ts | ||
| package.json | ||
| tsconfig.json | ||