From 4d8aea38fdf7a89ec8029feef0ed1ba46f5b6eb8 Mon Sep 17 00:00:00 2001 From: moojttaba Date: Wed, 3 Jun 2026 01:18:37 +0330 Subject: [PATCH] =?UTF-8?q?docs:=20sync=20from=20backend=20804bb99=20?= =?UTF-8?q?=E2=80=94=20PG=20serialization=20&=20id=20resolution=20fixes=20?= =?UTF-8?q?(v2.8.52)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 09 - Audits/Activity Log.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/09 - Audits/Activity Log.md b/09 - Audits/Activity Log.md index 794397a..f6c15e6 100644 --- a/09 - Audits/Activity Log.md +++ b/09 - Audits/Activity Log.md @@ -528,4 +528,28 @@ Deployed to dev via CI; admin verifies create-user and create-request flows in U --- +### 2026-06-03 — backend@804bb99, frontend@714dfbd — fix PG response serialization & id resolution (v2.8.52) + +**Commits:** `804bb99` (backend), `714dfbd` (frontend) +**Touched (backend):** `src/services/marketplace/PurchaseRequestService.ts`, +`src/services/chat/ChatService.ts`, `src/db/repositories/drizzle/DrizzleChatRepo.ts`, +`src/db/repositories/drizzle/DrizzleMarketplaceRepo.ts` +**Touched (frontend):** request list views (buyer/seller/admin), `src/socket/hooks/use-purchase-requests.ts`, +`src/types/marketplace.ts` +**Why:** After v2.8.51, request detail pages opened `/purchase-requests/[object Object]` and the +seller request list returned 500. Root causes (all PG-path): +1. `mongoCompatId` returned `{toString: () => id}` — JSON.stringify drops functions, so every + response carried `_id: {}`. Now a plain string; chat compat ObjectIds get `toJSON()` instead. +2. `findPurchaseRequests` passed unresolved legacy 24-hex user ids into uuid column comparisons + (PG cast error → 500); the route's Mongo-style `$or` filter was silently ignored (privacy: + non-admin users saw all requests). Both fixed — ids resolved up front, `$or` honored. +3. 16 `resolveId(...) ?? originalId` fallbacks replaced with a nil-UUID fallback (500 → empty/404). +4. Frontend reads `request.id || request._id` everywhere (tolerates both API shapes). +**Verification:** 47 backend tests green, tsc clean both repos, eslint clean. Deployed to dev via +CI; admin verifies: request detail page, seller request list, chat. +**Linked docs updated:** none beyond this log (API id semantics documented in Marketplace API as +needed later). + +--- +