From 8e71f629d4c1aee0c866dec0318e9f88045e67fd Mon Sep 17 00:00:00 2001 From: moojttaba Date: Wed, 3 Jun 2026 02:03:45 +0330 Subject: [PATCH] =?UTF-8?q?docs:=20sync=20from=20backend=208b8c1ae=20/=20f?= =?UTF-8?q?rontend=20583d55a=20=E2=80=94=20guard=20role=20+=20Mini=20App?= =?UTF-8?q?=20tab=20fix=20(v2.8.54)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 09 - Audits/Activity Log.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/09 - Audits/Activity Log.md b/09 - Audits/Activity Log.md index f68a226..98fd561 100644 --- a/09 - Audits/Activity Log.md +++ b/09 - Audits/Activity Log.md @@ -566,4 +566,25 @@ the buyer/seller room. --- +### 2026-06-03 — backend@8b8c1ae, frontend@583d55a — 'guard' role + Mini App tab fix (v2.8.54) + +**Commits:** `8b8c1ae` (backend), `583d55a` (frontend) +**Touched (backend):** User model, drizzle users schema + migration `0017_user_role_guard.sql`, +postgresAuthSchema (enum + ALTER TYPE for existing DBs), shared types, IUserRepo, +authStore/authService role types, userRoutes role validation +**Touched (frontend):** role types/permissions/display-names, user forms, useRole hook, +_roles mock, user-table-row (central role labels), telegram-mini-app-view (tab dispatch) +**Why:** +1. New admin-assignable role «نگهبان» (guard), registered across every role definition site — + modeled on resolver. No special endpoint permissions yet; grant via authorizeRoles() later. + Side fix: the admin role-change endpoint previously rejected 'resolver' (validation list only + had buyer/seller/admin) — both resolver and guard now pass. +2. Mini App: tapping a bottom tab while a request-detail/chat/new-request overlay was open did + nothing (overlay kept rendering over the new tab). Tab selection now dismisses overlays. +**Verification:** Backend tsc clean, 12 tests green. Frontend tsc + eslint clean. Admin verifies +after deploy: role dropdown shows نگهبان; Mini App tabs always respond. +**Linked docs updated:** `03 - API Reference/User API.md` (role enum), pending. + +--- +