feat(admin): bulk title-resync sweep reusing the extracted retry-sync reconcile - #564
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
… reconcile Extracts the Retry-sync route's body into services/syncOneMeeting.ts unchanged, and adds an admin-gated POST /api/admin/resync-titles that walks live meetings in paginated batches -- dry-run preview by default, mids-scoped or cursor-driven execution runs the same full reconcile per row, so pinned Zoom topics and unmanaged meetings keep their contracts.
f932688 to
506875b
Compare
@coderabbitai summary
Description
app/api/update/meeting/sync/route.tsis now a thin wrapper around it.{ dryRun: false }required to execute); paginated by mid cursor with a 25-row batch ceiling for Zoom rate limits, or scoped to explicitmids. Each executed row runs the same full reconcile as Retry sync, so pinnedzoomTopicrows keep their verbatim Zoom names (their Calendar titles do adopt the new format — GCal has no pin) and unmanaged meetings are never PATCHed. Dry-run rows flagwillProvisionZoomwhen executing would mint a Zoom meeting rather than just rename.Testing
cd frontend && yarn test:integration tests/integration/admin-resync-titles-route.test.ts tests/integration/update-meeting-sync-route.test.tsPOST /api/admin/resync-titles {"dryRun":true,"limit":25}as an admin, reviewresults[].newTitle, then re-run with"dryRun":false, walkingnextCursoruntil null.Area(s) Touched
Product areas
Integrations
Engineering
Pre-merge Checklist
yarn lint).