Skip to content

Fix printing consistency across inventory and decks - #7

Open
HunterCustom wants to merge 12 commits into
madeofpendletonwool:mainfrom
HunterCustom:fix/printing-consistency
Open

HunterCustom wants to merge 12 commits into
madeofpendletonwool:mainfrom
HunterCustom:fix/printing-consistency

Conversation

@HunterCustom

Copy link
Copy Markdown

Summary

Fixes several cases where Deck Lotus could display or link to a different printing than the one actually selected in a user's inventory or deck.

What changed

  • Inventory cards now use an owned printing for their primary artwork instead of an arbitrary printing.
  • Inventory responses include the printing ID associated with the displayed artwork.
  • Inventory card details now open using the displayed owned printing.
  • Deck card details now open using the exact printing_id stored in the deck.
  • Example-hand card details also preserve the deck's selected printing.
  • TCGPlayer links and printing-specific pricing in the card detail modal now correspond to the selected printing.
  • Inventory printing swaps can explicitly send the replacement printing ID through the API.
  • When an owned printing is swapped, decks using that old printing are updated to the replacement printing.
  • Deck rows are merged when the replacement printing already exists in the same board section.
  • Cross-board collisions are left unchanged rather than accidentally combining cards from different board sections.
  • Inventory data refreshes immediately after a printing swap.

Why

Previously, the card artwork shown in Inventory or a Deck could represent one printing while the card detail modal, pricing, or marketplace link represented another.

For example, a deck could display a CMM printing of a card while the detail modal and TCGPlayer link opened the C14 printing.

This change keeps the selected printing consistent throughout the UI and database behavior.

Testing

The equivalent behavior was manually tested on a self-hosted Deck Lotus Docker installation, including:

  • changing an owned printing in Inventory
  • confirming matching deck printings update automatically
  • confirming manually selected unrelated deck printings are not overwritten
  • confirming deck artwork and card detail artwork match
  • confirming Inventory artwork and card details match
  • confirming the TCGPlayer link corresponds to the selected printing
  • restarting and recreating the Docker container and verifying the behavior remained functional

The source-level changes in this PR mirror the patches used during that testing.

There does not appear to be an automated test suite defined in the current package.json, so additional maintainer testing is welcome.

@HunterCustom
HunterCustom marked this pull request as draft August 30, 2026 13:40
@HunterCustom
HunterCustom marked this pull request as ready for review September 9, 2026 19:59
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