GUI polish and pricing: readable item names, Time Left, Edit price route, typed amounts, Sell button (C10)
🐛 Fix
Request UX: cap requests at one stack, say the fill takes the main hand, name the item in /ah request, and close a stale-player fulfil dupe
Search and browse: space/plural-tolerant search with did-you-mean, real paging past 180 rows, bid-aware price sorts, live browse title, filtered-empty card
Player commands: 10k/1.5m prices, typo and search fallbacks, shorter help, /ah worth, quieter listing announcements
Drop each in-memory test database when its test closes it
Request withdrawals: /ah cancel all no longer blames staff for a player's own withdrawal, one economy read for the held notice, and /fa clear clears a requests-only player behind its veto and admin-log row
Typed-price prompts: re-check the picker's node when a typed amount lands, hand Bedrock forms escaped markup instead of flattened text, and re-send an unparseable price with the text kept and a way back (part of #690)
Item names and search: /ah worth reads names as /ah request does, search matches the game's item names, refuse ambiguous and unfillable request names, blank request prompt cancels
⚖️ Tweak
Browse paging under prompts: a Next or filter change that lands while a prompt covers the browse comes back on the right page, the listing-announcement setting puts back by press, one line per outage refusal, quieter catches, and Bedrock empty-state icons (part of #690)
Operator records: name every stranded-sale owe's id, settle unconfirmed sales by their own transaction, point /fa return and /fa owed at the give-once records, name a throwing split-seller provider, audit /fa owed pay on the drain
Escaping and staff display: escape every bracket and backslash, escape /fa frozen reasons, name /fa alertlist subjects, detail on price-limit and prune vetoes, admin-log details as written, and own hops for the sold post's name and the outbid notice
✨ New
Claim outage lines: a Claim All whose claims or stamps fail on storage says so once, in a line true for a partial batch, and a claim that just said storage failed no longer adds menu-unavailable under it
🚫 Removed
Operator lines at disable and on unconfirmed debts: the drain's pre-run list is a record that grants nothing, a claimed item's restore goes through /fa return --force, and an unconfirmed debt names its id for /fa owed pay
Keep database connections working after the plugin jar is renamed
✨ New
Give every sale attempt and sell create its own id, so the ambiguous-commit probes prove this attempt and nothing else
Close the remaining money-channel gaps: cancel and boost probes, proceeds through Payout, a durable recovery record, and the split price cap
🚫 Removed
Run migrations outside the pool's 30s socketTimeout, gate /fa return on the delivered stamp behind --force, retire the redundant material index, and close six more storage/ops-periphery findings
✨ New
Bedrock form parity: stop taps spending or stranding, guard the unstable seams, and add the typed inputs and affordances the client was missing
Thread market context into every pricing screen, close the browse family's dead ends and empty states, and bound the auto-refresh repaint
Land the money-channel completions on main (cancel/boost probes, proceeds via Payout, atomic recovery record, split cap)
🐛 Fix
Fix remaining refund, claim recovery, bundle and menu issues