doxa-life + doxa-maps drop-in CDN (public/doxa-maps-cdn) — Forgejo working copy
Find a file
doxa-maps 65f26c63b6 /embed-test: stop the last cards starving behind the mount queue
Mounting strictly one card at a time and waiting for idle between each put a
floor under the whole run. With the wait capped at two seconds, thirty-seven
cards spend up to seventy-four seconds waiting before any card's own work is
counted, so the cards at the end of the page ran out of budget.

The measurements say the queue, not a resource limit. Every card mounted at
once passed thirty-six of thirty-seven; serialising them dropped it to
thirty-three, with the three failures at the end of the page. A change that
makes a resource shortage better cannot make the result worse. Two of those
three cards nest no map at all, so they hold no graphics context to be starved
of, and all three are non-production, which is what sorts them last.

Keep the yield, since it is what stops one heavy plugin freezing the page, but
bound its worst case: idle already resolves as soon as the browser is free, so
the timeout only applies when it never is. Two cards may now mount at once,
which halves the queue without returning to everything-in-view-at-once.

The counter that limits concurrency is released in a finally, because it gates
every later mount and a throw would stall the page silently.
2026-09-28 11:30:41 +00:00
.claude/skills replace the CMS definitions page with the terminology page 2026-09-23 13:14:08 +01:00
app /embed-test: stop the last cards starving behind the mount queue 2026-09-28 11:30:41 +00:00
config finish ro translation 2026-09-18 20:32:35 +01:00
embeddables feat: sync arabic translation 2026-09-25 11:34:14 +01:00
i18n/locales feat: sync arabic translation 2026-09-25 11:34:14 +01:00
migrations Let categories have child categories for nested pages. (#6) 2026-05-21 06:00:54 -05:00
modules Replace country pages with region dashboards (#23) 2026-09-07 11:49:24 +01:00
public Every map loads as JavaScript from the maps CDN; public/dx-maps removed; /embed-test embeds every production plugin 2026-09-28 05:06:52 +00:00
server feat: update contact-us form to use the same format as feedback forms 2026-09-23 11:47:12 +01:00
.blueprints.json init 2026-04-21 12:12:54 +01:00
.editorconfig init 2026-04-21 12:12:54 +01:00
.env.example Research page defaults to the maps CDN for the dx-maps tree 2026-09-28 04:11:13 +00:00
.gitignore read the glossary from pray.doxa.life instead of a vendored file 2026-09-18 10:06:13 +01:00
.mcp.json Implement CMS MCP 2026-04-29 13:06:54 +01:00
bun.lock feat: update contact-us form to use the same format as feedback forms 2026-09-23 11:47:12 +01:00
DX-MAPS-GALLERY.md /embed-test embeds every web plugin: production first, then every other; desktop-only plugins skipped by their manifest targets 2026-09-28 06:12:35 +00:00
eslint.config.mjs phase 1 2026-04-21 12:35:27 +01:00
i18n.config.ts phase 2 2026-04-21 13:27:38 +01:00
nuxt.config.ts Map cards keep rounded corners and phones get a taller map slot; old /js/doxa-maps links 301 to the dx-maps tree (carried from doxa-maps-build) 2026-09-28 10:37:32 +00:00
package.json feat: update contact-us form to use the same format as feedback forms 2026-09-23 11:47:12 +01:00
tsconfig.json init 2026-04-21 12:12:54 +01:00