Repository navigation
v2.1.3
What's Changed
Second Round-3 milestone ship (M2 Per-interaction Latency). Six optimizations to the hot path that runs on every slash command.
Added
GUILD_CONFIG_TTL_MSenv var (default60000) — tunes the TTL for the new GuildConfig read-through cache (#67)
Changed
- GuildConfig is now cached with a 60s TTL. Every slash command that reads guild state (
/rule,/shop,/price,/npc,/scene,/shops,/session) saves one Mongo RTT per invocation after the first hit./guildconfigwrites invalidate the cache on the spot so next-command reads see fresh state (#67) /rulerunsembed()andvisibilityForInteraction()in parallel instead of sequentially, saving one network-bound await per rule lookup (#68)stockGeneratorruns the local + globalItem.findcandidate queries in parallel when a region is supplied, halving p50 shop generation latency on region-scoped calls (#69)/priceprojects only the fields the renderer reads and uses.lean()on bothfindOnepaths instead of hydrating the full Mongoose document (#73)/session listuses an aggregate with\$project + \$sizeso full notes arrays are no longer shipped over the wire just to render a one-line summary per session (#74)/npclink mode replaces two parallel preflightfindOnecalls with a single projected.find({ name: \$in })that still identifies exactly which NPC(s) are missing (#75)
Full Changelog: v2.1.2...v2.1.3