Symptom
On Pirates Ahoy two separate ### Not in collection sections appear, one containing the HOB cards and one containing the MSC cards. The heading is supposed to tell you which set to go pull from, so two identically-labelled sections defeat the purpose.
Root cause
packages/mcp-server/src/views/pull-list-view.ts:
- Line 135: when a card has no printing in an owned set, the item is pushed with the literal
setName: 'Not in collection' but keeps its real setCode.
groupBySet (line 184) keys groups by setCode, then labels each group with items[0].setName (line 206) and sorts by setName (line 211).
So HOB and MSC become two groups with the same label. The same construction exists in the Electron app at packages/electron-app/src/hooks/usePullList.ts:240 and :315, so the desktop pull list has the same collision.
Fix
Keep the real set name/code in setName and carry "not in collection" as a separate flag on PullListItem / PullListGroup (there is already precedent: rarityAboveCollectionLevel). Render it as a heading suffix (### HOB — not in collection) or a column. Since PullListItem lives in shared and both renderers consume it, fix it there once.
Pairs with the set-name resolution issue (### 2XM vs ### Assassin's Creed).
Symptom
On
Pirates Ahoytwo separate### Not in collectionsections appear, one containing the HOB cards and one containing the MSC cards. The heading is supposed to tell you which set to go pull from, so two identically-labelled sections defeat the purpose.Root cause
packages/mcp-server/src/views/pull-list-view.ts:setName: 'Not in collection'but keeps its realsetCode.groupBySet(line 184) keys groups bysetCode, then labels each group withitems[0].setName(line 206) and sorts bysetName(line 211).So HOB and MSC become two groups with the same label. The same construction exists in the Electron app at
packages/electron-app/src/hooks/usePullList.ts:240and:315, so the desktop pull list has the same collision.Fix
Keep the real set name/code in
setNameand carry "not in collection" as a separate flag onPullListItem/PullListGroup(there is already precedent:rarityAboveCollectionLevel). Render it as a heading suffix (### HOB — not in collection) or a column. SincePullListItemlives in shared and both renderers consume it, fix it there once.Pairs with the set-name resolution issue (
### 2XMvs### Assassin's Creed).