You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
scripts/patch_scryfall_arena_ids.py adds Arena ids from 17Lands card
ratings to Scryfall default-cards data. Use its output with export-set-data --bulk-file for a set Scryfall has no Arena ids for. docs/set-profiles.md describes the steps. (#861)
The daily profile refresh uses the committed card data for a set when
Scryfall has no Arena ids for it, so sets such as FRA no longer fail with
card-metadata-unavailable. The refresh summary lists the sets that used it.
Draft Omen keeps following a human draft after Arena restarts in the
middle of it. The parser picks the draft up from the in-progress course in
the EventGetCoursesV2 course list, so the packs after the restart show up.
Arena does not log the picks made before the restart. When Draft Omen saved
them before the restart, recommendations and the pool still use them, and
the full pool from DraftCompleteDraft fills any gap at the end. (#856)
watch and replay no longer fail in the middle of a human draft when
Arena answers a failed pick with the table state. The parser drops the
failed pick and records the card from the resubmitted request. Other
unknown pick response bodies are ignored. (#855)
Before the first draft arrives, draftomen-tui watch --source moxgate says
it is waiting for the Moxgate extension to send a draft instead of waiting
for Arena. (#851)
The desktop app no longer has a Mocked Draft button in the header. Mocked
Draft is now an option in the draft source selector next to Arena and
Moxgate, and choosing it opens the Mocked Draft dialog. With Moxgate
selected, the account shows as moxgate and cannot be changed. (#850)
The TUI Moxgate snapshot test waits for the receiving phase as well as the
rendered pack. The pack can render before the phase changes, which failed
at random on a busy CI runner.
draftomen-tui watch --source moxgate shows Moxgate drafts in the TUI. --plain is no longer required. Quitting the TUI stops the receiver and
frees the port. (#833)
The TUI account-cycling tests wait for the ChooseAccount worker to finish
after pressing "a" instead of pausing once, which failed at random on a
busy CI runner.
The desktop app has a draft source selector next to Settings. Choosing
Moxgate starts the receiver on 127.0.0.1:47326 and shows whether it is
loading card data, waiting for the extension or receiving a draft. Choosing
Arena stops the receiver and frees the port. A port already in use shows an
error naming the port. Card data comes from the Mocked Draft Scryfall bulk
file set in Settings or passed with --scryfall-bulk-file. (#829)
draftomen-tui watch --source moxgate --plain saves Moxgate drafts under the
fixed account id moxgate and prints a deck build sheet after "Draft
complete". Moxgate snapshots carry no account id, so these drafts were not
saved before. (#839)
The Qt adapter startup coalescing test waits for the post-start state to
arrive instead of reading the observed states as soon as the session is
ready, which failed at random in the parallel CI gui job. The gui nox
session now runs the Qt test files one at a time, because several of them
failed at random with parallel workers on the 4-core CI runner. Other tests
still run in parallel.
A Chrome extension in extensions/moxgate reads the Moxgate draft page and
posts each pack and pool to draftomen-tui watch --source moxgate --plain on
127.0.0.1. Load it unpacked from chrome://extensions. Its popup shows whether
Draft Omen is running and what happened to the last snapshot. A new extension
CI job runs its tests. (#828)
draftomen watch --source moxgate --plain starts the Moxgate receiver
instead of following Player.log and shows recommendations for each pack the
browser extension posts. --moxgate-port overrides the default port 47326.
Card data for all sets comes from one local Scryfall bulk file, --bulk-file
or the Mocked Draft download in the app dir, and watch fails at startup when
that file is missing. The Moxgate source needs --plain for now. (#832)
Tests run in parallel with pytest-xdist by default. The full suite takes
about a quarter of the time it took before on a 10-core machine. Pass -n 0
to run tests one at a time. The Moxgate receiver also checks for shutdown
every 0.05 seconds instead of 0.5, so stopping it is faster. The CI tests
job no longer runs the Qt test files, which the gui job already runs, and
a Qt adapter test now waits for each published state before reading it.
Add a loopback receiver for Moxgate snapshots. It listens only on a loopback
address, accepts POST /moxgate/snapshot from chrome-extension:// origins
that send the X-Draftomen-Moxgate header, caps the body at 256 KiB and
answers a malformed snapshot with 400. Accepted snapshots go on a queue that
the session thread turns into draft events. Nothing starts the receiver yet.
(#831)
Add a Moxgate snapshot adapter that turns successive draft page snapshots
into the existing draft events. It derives each pick and its pack and pick
coordinates from the change between snapshots, and rejects out-of-order,
skipped or unresolvable snapshots with an error. (#826)
The website has a News page that shows the release notes of each version,
taken from this changelog. Releases now write the page with scripts/write_release_news.py, and the release check fails if it is missing.