11f169f8c5
Task #129 — added 4 browser test scenarios in artifacts/tx-os/tests/executive-meetings-schedule-features.spec.mjs: 1. Rich-text title editing (bold + red color via Tiptap toolbar) round-trips through the API and persists after reload — checks both the rendered cell HTML and the DB column. 2. Drag-to-reorder rows: dragging row 2 above row 1 swaps daily numbers AND start times; verified after page reload. 3. Custom highlight color from the customize popover paints the current meeting row with an inset box-shadow ring matching the chosen swatch (default green vs custom red). 4. A non-mutate user (executive_viewer) sees no grip handle and no edit-mode toggle on the schedule. Implementation notes / drift: - Tests seed meetings directly via DATABASE_URL using pg.Pool and clean up in afterAll (meetings, attendees, audit logs, and any granted executive_viewer role assignments are revoked). - Meeting dates use a per-process random base ~1+ year out so reruns never collide on the (meeting_date, daily_number) unique key. - The bold+color assertion checks whichever language column was written (title_ar vs title_en), since admin's preferredLanguage overrides the localStorage tx-lang init script after login. - Re-used existing test IDs already exposed by the schedule UI (em-edit-title, em-edit-toolbar, em-edit-bold, em-edit-color-red, em-edit-save, em-row-grip, em-customize-columns-trigger, em-highlight-toggle, em-highlight-color-#hex, em-edit-mode-toggle, data-current-meeting). No production code changes. All 4 tests pass against the live workflows (40s total). Replit-Task-Id: 761dc96a-5bcb-47ef-bdb2-acfbebc68fc5