docs: sync from backend 9424395 / frontend a18e870 — chat, notifications, role dashboards (v2.8.55)

This commit is contained in:
moojttaba
2026-06-03 08:04:38 +03:30
parent 8e71f629d4
commit af7459e4dd

View File

@@ -587,4 +587,32 @@ after deploy: role dropdown shows نگهبان; Mini App tabs always respond.
--- ---
### 2026-06-03 — backend@9424395, frontend@a18e870 — chat/notification fixes, role dashboards, live Mini App chat (v2.8.55)
**Commits:** `9424395` (backend), `a18e870` (frontend)
**Why (from chat + notifications + Mini App audits):**
1. **Chat (backend):** 5 endpoints were dead — routes pass `:id` but controllers destructured
`req.params.chatId` (undefined): edit/delete message, archive chat, add/remove participant.
2. **Notifications → Telegram (backend):** `sendTelegramNotification` existed but was never
called. Every in-app notification is now also delivered as a Telegram bot message when the
user has an active telegram_link (new `sendTelegramNotificationToUser`, lazy-required,
fire-and-forget).
3. **Role dashboards (frontend):** resolver landed on the buyer dashboard. New
`OverviewResolverView` (dispute stats) and `OverviewGuardView` (oversight stats); dispatch
updated; «حل اختلاف» nav item now visible to resolver.
4. **Mini App chat (frontend):** was SWR-only. Thread view joins its conversation socket room,
list joins the user room — messages now appear in real-time.
**Touched (backend):** `src/services/chat/chatController.ts`, `src/services/telegram/botService.ts`,
`src/services/notification/NotificationService.ts`
**Touched (frontend):** `src/sections/overview/app/view/*` (2 new views + dispatch),
`src/layouts/nav-config-dashboard.tsx`, `src/sections/telegram/hooks/use-telegram-chat-thread.ts`,
`use-telegram-conversations.ts`, `telegram-chat-view.tsx`
**Verification:** backend tsc clean + 28 tests green; frontend tsc clean, eslint clean (pre-existing
no-img-element rule-config errors in untouched files). Admin verifies after deploy: resolver
dashboard, Mini App live chat, Telegram bot messages on new offers, chat edit/delete.
**Known remaining (documented, not yet built):** Mini App notifications tab; web chat
"new conversation" button uses a placeholder id; Drizzle chat participant population.
---
<!-- Add new entries above this line. Newest at top. --> <!-- Add new entries above this line. Newest at top. -->