The sell-junk diagnostic sat behind the gate that fails
He hit sell junk again and the log said nothing — not because the sweep had nothing to report, but because the sweep never ran. pfUI's Sell Grey Items button is `if GetNumJunkItems() <= 0 then return end` and only then SellAllJunkItems (modules/autovendor.lua). That is the one path he clicks, so a zero count ends the click there. Last session's instrument lived inside SellAllJunkItems, downstream of the thing that was answering zero, and it could not be reached. Both now share one junk_survey of the carried bags, so the count and the sweep can never disagree about what they are looking at, and each says its half: GetNumJunkItems, when it answers zero while occupied slots have no resolved quality, says so and names them — a truthful zero stays silent; SellAllJunkItems says what it queued as well as what it could not judge; and ui_merchant's drain now warns, rather than debugs, when a queued slot resolves to no item guid. That was the last silent place the click could die, and debug does not reach his log. So whichever of the three branches is at fault, his next click answers it. Also checked and cleared on the way: the drain's slot.saturating_sub(1) is right — the feed keys container slots 1-based. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn
This commit is contained in:
@@ -686,7 +686,15 @@ fn drain_merchant(
|
||||
count: 0,
|
||||
});
|
||||
}
|
||||
None => debug!("ui_merchant: sell on an empty slot ({bag}, {slot}) — ignored"),
|
||||
// Warned, not debugged: the two queues that reach here both name a slot the VM has
|
||||
// just looked at and found occupied, so "no item guid there" is an anomaly, not
|
||||
// housekeeping. It is also the last silent place a sell-junk click could die — the
|
||||
// count and the sweep both say what they saw now (`C_MerchantFrame`'s `junk_survey`),
|
||||
// and this is where that trail would otherwise end.
|
||||
None => warn!(
|
||||
"ui_merchant: sell on bag {bag} slot {slot} found no item guid — nothing sent. \
|
||||
The slot read occupied when it was queued."
|
||||
),
|
||||
}
|
||||
}
|
||||
// A held vendor row dropped into a slot: `CMSG_BUY_ITEM_IN_SLOT` with count 1, the
|
||||
|
||||
Reference in New Issue
Block a user