Releases
1.8.4
For you
- Clicking a different game updates the players and injuries panels beside it. They kept showing whichever game the page was first served with, so reading the Ravens at Colts forecast came with New England and Seattle player names and injury designations in the column next to it, attributed to two clubs not in the game being read.
- A ranked player is shown at the club he is rostered on in the published artifact itself, not only on the site. The rankings took the club a player last PLAYED for, which names the club he left until he takes a snap for the new one. On the week 1 artifact that was 108 of 591 ranked players, Kyler Murray among them, ranked at Arizona while the published roster had him at Minnesota.
Under the hood
- games-shell.ts swaps [data-games-aside] alongside [data-games-detail]. The master detail enhancement fetched the target page and replaced the middle column alone, and the aside carried no hook to find it by. A target page with no side panels, which is what a week with no games renders, empties the aside rather than stranding the previous game's beside it. Three tests in games-shell.test.ts cover the swap, the empty case and the extractor.
- cadence/run.py builds a player id to club map from the season roster it was already loading to decide who is still in the league, and passes it to _rank_players, which prefers it to recent_team. The map goes through resolve_team like every other producer, because nflverse rosters write Arizona as AZ while every other surface keys on ARI. A player the roster has no row for, or one whose roster club is empty, keeps recent_team rather than being emptied out: a known stale club beats no club at all. tests/test_rankings_club.py covers all four cases.