--- issue: "014" title: "select-offer sends no per-seller socket events or notifications to winning/losing sellers" severity: major domain: seller-offer labels: [backend, missing-feature] status: open created: 2026-05-29 source: Doc vs Code Audit 2026-05-29 --- # 🟠 select-offer sends no per-seller socket events or notifications to winning/losing sellers **Severity:** major **Domain:** seller-offer **Labels:** backend, missing-feature ## Description `POST /api/marketplace/purchase-requests/:id/select-offer` (routes.ts lines ~1300-1438) emits only a single `purchase-request-update` event to the request room with `eventType: 'offer-selected'`. It does NOT: - Call `notifyOfferAccepted` for the winning seller - Call `notifyOfferRejected` for losing sellers - Emit `seller-offer-update` events to individual seller rooms These notifications only fire when using `PUT /offers/:id/accept` or `PUT /offers/:id/status` (via `SellerOfferService.updateOfferStatus`), not via the `select-offer` path used by the frontend. ## Current Behavior Buyer selects an offer → winning seller gets no real-time notification → losing sellers get no notification. ## Expected Behavior When a buyer selects an offer: 1. Winning seller receives a `seller-offer-update` event and a push notification 2. Losing sellers receive a `seller-offer-update` event and a notification ## Affected Files - `backend/src/routes/routes.ts` — `select-offer` route handler, missing `notifyOfferAccepted` and `notifyOfferRejected` calls ## References - [Doc vs Code Audit Report](../09%20-%20Audits/Doc%20vs%20Code%20Audit%20Report%20-%202026-05-29.md) — Finding M25