From 26d7ccd62b70d2594989e52d5f3798648510d9e6 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Sat, 13 Jun 2026 16:53:36 +0200 Subject: [PATCH 1/2] fix(marketplace): reset creditsWaiting after redeeming sold offers redeemSoldOffers optimistically removed the sold offers but never reset creditsWaiting, so the redeem panel (gated on creditsWaiting > 0) kept rendering "get 0 sold items for N credits" with an active Redeem button until the server re-pushed the offers. Reset creditsWaiting to 0 on redeem. --- .../marketplace/CatalogLayoutMarketplaceOwnItemsView.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/catalog/views/page/layout/marketplace/CatalogLayoutMarketplaceOwnItemsView.tsx b/src/components/catalog/views/page/layout/marketplace/CatalogLayoutMarketplaceOwnItemsView.tsx index 4acd055..a4ee852 100644 --- a/src/components/catalog/views/page/layout/marketplace/CatalogLayoutMarketplaceOwnItemsView.tsx +++ b/src/components/catalog/views/page/layout/marketplace/CatalogLayoutMarketplaceOwnItemsView.tsx @@ -67,6 +67,10 @@ export const CatalogLayoutMarketplaceOwnItemsView: FC = prop return prevValue.filter(value => (idsToDelete.indexOf(value.offerId) === -1)); }); + // Without this the redeem panel stays visible (creditsWaiting > 0) after + // the sold offers are optimistically removed, showing "get 0 sold items". + setCreditsWaiting(0); + SendMessageComposer(new RedeemMarketplaceOfferCreditsMessageComposer()); setTimeout(() => isRedeemingRef.current = false, 3000); From 101c1b901f9932dc065fe866720cb8e208392261 Mon Sep 17 00:00:00 2001 From: simoleo89 Date: Sat, 13 Jun 2026 16:53:36 +0200 Subject: [PATCH 2/2] fix(marketplace): re-priced offer vanished when the server kept the same id The "price raised" (case 3) handler did `set(item.offerId, item)` then an unconditional `delete(requestedOfferId)`. When the re-priced offer kept the same id (offerId === requestedOfferId), the set was immediately undone and the offer disappeared from the list though it was still buyable. Delete the old key first, then set under the new id. --- .../CatalogLayoutMarketplacePublicItemsView.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/catalog/views/page/layout/marketplace/CatalogLayoutMarketplacePublicItemsView.tsx b/src/components/catalog/views/page/layout/marketplace/CatalogLayoutMarketplacePublicItemsView.tsx index 459f2ce..a60bf3d 100644 --- a/src/components/catalog/views/page/layout/marketplace/CatalogLayoutMarketplacePublicItemsView.tsx +++ b/src/components/catalog/views/page/layout/marketplace/CatalogLayoutMarketplacePublicItemsView.tsx @@ -115,13 +115,18 @@ export const CatalogLayoutMarketplacePublicItemsView: FC