Skip to content

DM Whisper 0.1.3

Choose a tag to compare

@eschatus eschatus released this 23 Jun 16:42
· 182 commits to master since this release

What's new

Browserless relay by default (#83 / #84)

Combat no longer depends on a browser. The Roll20 realtime transport (Firebase RTDB) is now the default — no Playwright required for live sessions. A packaged install ships no browser; if the RT token expires, Dusty tells you to reconnect rather than silently reaching for a Chromium that isn't there. Set ROLL20_TRANSPORT=browser to opt back into the legacy relay (dev only).

Minify-on-deploy for the Mod (#84)

npm run release:mod now minifies ai-relay.js via esbuild before deploying (~52% smaller), keeping it under Roll20's API sandbox size limit. Human-readable source stays in git; stripped version goes to the sandbox.

Confirm prompt + Dusty's voice (#82)

Write-confirmation requests now route into the gem's message channel as a distinguished pending entry.

DRW-Original as canonical soak campaign

Live relay soak now targets Dreams of the Red Wizards — Original (clean sandbox, no active PCs).

Known issues filed this release

  • #85 requireExisting guard bypassed by single-tab fallback
  • #86 MCP deploy_mod_script missing tabName
  • #87 tab name .includes() can match stale backup tabs
  • #88 30s hang per call when RT transport is down (circuit breaker removed)
  • #89–94 cleanup / hardening items from the #84 code review

Upgrade notes

Re-harvest your Roll20 RT token via the gem's Setup tab if you see a 'realtime transport failed' error. Run npm run release:mod to deploy the minified relay to your campaign.