Skip to content

fix(transfer): keep Kalimdor entry from ending the World Session - #652

Merged
Mathih13 merged 3 commits into
mainfrom
t3/fix/kalimdor-disconnect
Oct 10, 2026
Merged

Mathih13 merged 3 commits into
mainfrom
t3/fix/kalimdor-disconnect

Conversation

@Mathih13

@Mathih13 Mathih13 commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Logging in to Kalimdor, or entering it, can end the World Session with Transfer source has no Realm locator. Production logs show this failure for three Characters. The Character can exist on the default World Shard before its first Realm-core locator exists.

Create the missing locator directly as pending in one transaction. A retry must name the same crossing. Bot Transfers still require their bound predecessor. During a pending Transfer, login checks for source Escrow before accepting the destination copy. The Gateway and Module change together; no schema or reducer arguments change.

What you verified

  • Reproduced the production failure through the Gateway Realm routing Store before the fix.
  • All 2,124 Gateway tests and 1,566 Module unit tests passed. Formatting and workspace Clippy passed. All 1,182 Gateway binding files are current.
  • Four private SpacetimeDB tests passed for locator initialization, exact retry, competing updates, and refusal of a Bot Transfer with no predecessor.
  • An authenticated Headless Client entered Kalimdor and received a ping response against four private Shards. The same test passed after interruptions following import and source completion, with one settled Character and no remaining Escrow or arrival fence.
  • All nine existing durable sessionless-consent tests passed, including exact Transfer completion and recovery after a later return crossing.
  • Standards and behavior subagent reviews are complete. All findings are resolved.
  • All nine hosted CI checks passed. The PR was merged with the maintainer-authorized override while some checks were still running.
  • Deployed merge commit 839643e2ca11fe62190b0d390549c915e6865aec to Argus. The production gate passed 4,500 tests, the build, and preflight. Published all four Databases with empty migration plans and ran repair on each. Restarted the Gateway; SpacetimeDB stayed running. Production status reports HEALTHY.
  • With local Benilla c2fc3cf3, created a night elf, entered Shadowglen, received ping replies during a 90-second session, and logged out and back in. Screenshots confirm creation and world entry.
  • With the same Character, crossed from Kalimdor on lyracore-world-1 to Northshire on lyracore, then back to Shadowglen. Benilla stayed connected and received ping replies after both crossings. Screenshots confirm both destinations. Each crossing left one Character record, a settled Realm-core locator, and no remaining Escrow or arrival fence. Locator revisions advanced from 2 to 3 to 4.

What you did NOT verify

  • The original Blizzard build-5875 client binary. Live client verification used Benilla.

Model: GPT-6-Astra. Harness: Codex in T3 Code.

@Mathih13
Mathih13 marked this pull request as ready for review October 10, 2026 21:25
@Mathih13
Mathih13 merged commit 839643e into main Oct 10, 2026
9 checks passed
@Mathih13
Mathih13 deleted the t3/fix/kalimdor-disconnect branch October 11, 2026 18:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant