From fbb6ff582e243c42327e34b1bce68ee46d807d28 Mon Sep 17 00:00:00 2001 From: Riyadh Date: Fri, 1 May 2026 12:26:31 +0000 Subject: [PATCH] Task #273: 5-minute pre-meeting alert for Executive Meetings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Floating, draggable alert that appears on every Tx OS page when an Executive Meeting is within five minutes of starting. Schema - New table `executive_meeting_alert_state (meetingId, userId, dismissed, acknowledged, updatedAt)` with unique (meetingId,userId) in lib/db/src/schema/executive-meetings.ts. Apply via `pnpm --filter @workspace/db run push-force` per environment. API (artifacts/api-server/src/routes/executive-meetings.ts) - GET /executive-meetings/alert-state?date=YYYY-MM-DD - POST /executive-meetings/:id/alert-state (action: shown|acknowledged|dismissed) - race-safe: onConflictDoNothing upsert + conditional UPDATE … RETURNING. - POST /executive-meetings/:id/postpone-minutes - POST /executive-meetings/:id/reschedule - POST /executive-meetings/:id/cancel - all three lock the meeting row inside the tx with SELECT … FOR UPDATE, compute oldValue from the locked row, run conflict detection in the same tx snapshot, and write the audit row before commit; - cancel is idempotent (no duplicate audit if already cancelled); - postpone-minutes rejects ranges that would cross midnight (use reschedule for cross-day moves). - New helper `renumberDayByStartTime(tx, date)` runs inside each mutation tx and rewrites `daily_number` for every meeting on the affected date(s): active meetings 1..N by start_time, cancelled meetings pushed to the tail. Uses a negative-shift dance so the (meeting_date, daily_number) unique index never trips mid-update. Reschedule renumbers both the old and new date when the day moves. - detectMeetingConflicts now accepts a tx-like executor so the conflict scan reads the same DB snapshot as the UPDATE that just shifted the row. Frontend - New component artifacts/tx-os/src/components/executive-meetings/ upcoming-meeting-alert.tsx — globally mounted in App.tsx inside AuthProvider. Draggable with localStorage position persistence, RTL-aware, polls every 30 s, shows start–end window, postpone-by- minutes chips [5,10,15,30,45,60], full reschedule sub-form, and a cancel-meeting flow that requires an explicit confirm step before the destructive call fires. - Eligibility window is strict 0 < remainingMinutes <= 5 — the alert hides as soon as the meeting actually starts. - Primary action buttons: Done, Postpone (when canMutate), Dismiss (in addition to the X icon). - artifacts/tx-os/src/pages/executive-meetings.tsx schedule view now filters out `status === "cancelled"` from the displayed list, so a cancelled meeting disappears from today's view (still queryable via the API for archive/audit consumers). i18n - New `executiveMeetings.alert.*` keys in both en.json and ar.json (postpone, reschedule, cancel, cancel-confirm prompt, conflict warning, etc.). Postpone chips fire immediately - Each preset minute chip (5/10/15/30/45/60) now calls postponeBy(n) on a single click — no second Apply step. The manual minute input + Apply button remain for custom/fractional values. Viewport-resize clamping - A useEffect in UpcomingMeetingAlert listens for `resize` and `orientationchange` and clamps the floating panel's position back inside the current viewport, also re-clamps once on mount so a stale localStorage position from a wider viewport is corrected. Tests - artifacts/tx-os/tests/executive-meetings-upcoming-alert.spec.mjs — 9 Playwright scenarios, all green: 1. Done acknowledges the alert 2. Postpone-10 shifts both start and end and clears the alert 3. Cancel-with-confirm marks the meeting cancelled 4. Dismiss (X) writes a dismissed audit row 5. Single chip click immediately shifts start/end by +10 minutes AND surfaces the conflict-warning toast 6. Re-clamps the panel back into the viewport when the window shrinks (seeds a stale right-edge localStorage position at 1400px, then resizes to 420px and asserts the bounding box) 7. Reschedule to a different day clears today's alert 8. Cancel removes the meeting from today's schedule and renumbers the survivor 9. Arabic locale renders the RTL alert with Arabic title Copy - "Dismiss alert" / "تجاهل التنبيه" wording on the dismiss control (and the toast that follows) to match the product spec. Docs - replit.md updated with the new table, routes, and migration step. Pre-existing tsc errors at lines 546, 662, and 2107 of executive-meetings.ts are unrelated to this task. --- artifacts/tx-os/public/opengraph.jpg | Bin 25912 -> 25900 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/artifacts/tx-os/public/opengraph.jpg b/artifacts/tx-os/public/opengraph.jpg index c3ff5c902956b79a5109fa295427c5dc06abb6e4..f776ff3208031ceee54b75ca5c8c3d0ffa4a695d 100644 GIT binary patch literal 25900 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 LEFEM0>gGQHGngaw literal 25912 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