fix(account): enable offline mode via doorbell BundleManifests#247
Merged
fix(account): enable offline mode via doorbell BundleManifests#247
Conversation
…ia doorbell The client checks three manifest sources: config, doorbell, pointer file (assets.mtgarena.wizards.com). Without manifests, the pointer file fetch blocks startup — and fails entirely offline. Detect the installed Arena manifest hash from the local Downloads dir at server startup and return it in the doorbell BundleManifests response. The client finds the manifest locally and skips the download. Note: the client still attempts the pointer file fetch (~30s timeout offline) since it always checks all three sources. This is unavoidable client-side behavior. Closes #22 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Test Results 252 files + 139 252 suites +139 3m 2s ⏱️ +51s For more details on these failures, see this check. Results for commit f56e232. ± Comparison against base commit 0d16c23. ♻️ This comment has been updated with latest results. |
CI Report — GateTests: 173/802 passed, 1 failed (628 skipped) Failed tests
Coverage: 10.8% (642/5923 lines)
Slow tests (>3s): 4
|
DebugServer.start() exceeded 100-line detekt limit. Extract repeated POST endpoint boilerplate (method check + error handling) into a reusable HttpServer.postContext() extension. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
~/Library/Application Support/com.wizards.mtga/Downloads/Manifest_*.mtgaat server startupBundleManifestsresponse so the client finds the manifest locallyjust serveandjust serve-proxymodes — no proxy session needed to seed the cacheThe client checks three manifest sources: config → doorbell → pointer file (
assets.mtgarena.wizards.com). Previously doorbell returned empty manifests, forcing the client to hit the pointer file — which fails offline. Now the doorbell provides the hash, the client finds the file on disk, and skips the download.Note: ~30s boot delay offline is unavoidable — the client always attempts the pointer file fetch regardless of doorbell results.
Closes #22
Test plan
AccountRoutesTest: doorbell returns cached manifests when providedAccountRoutesTest: doorbell returns empty array without cache (backward compat)Found 1 manifest metadata entries from doorbell🤖 Generated with Claude Code