feat(zoom): add KB connector for cloud recording transcripts, fix refresh token rotation#4735
feat(zoom): add KB connector for cloud recording transcripts, fix refresh token rotation#4735waleedlatif1 wants to merge 2 commits into
Conversation
…resh token rotation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview The connector lists the authenticated user’s recordings in 30-day windows (with cursor pagination), prefers TRANSCRIPT VTT files over CC, defers full text until Separately, Zoom OAuth is corrected so Reviewed by Cursor Bugbot for commit 1b72668. Configure here. |
Greptile SummaryThis PR adds a Zoom knowledge-base connector that syncs cloud meeting transcripts (VTT) via OAuth, and fixes a refresh-token rotation bug that was forcing Zoom users to re-authenticate after every token refresh.
Confidence Score: 5/5Safe to merge — the connector is well-structured, the maxRecordings cap fix from a prior review is already in place, and the refresh-token rotation correction unblocks Zoom OAuth users without touching any other provider. The connector follows established patterns, window-based pagination and incremental sync are sound, and the VTT parser edge case from a prior review is already resolved. The two suggestions are hardening-only and do not affect correctness under normal Zoom API responses. No files require special attention. The oauth.ts change is a single targeted line. Important Files Changed
Reviews (2): Last reviewed commit: "fix(zoom): trim maxRecordings within pag..." | Re-trigger Greptile |
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1b72668. Configure here.
|
|
||
| const sinceLastSync = Math.ceil((Date.now() - lastSyncAt.getTime()) / MS_PER_DAY) | ||
| const incremental = Math.max(sinceLastSync + INCREMENTAL_OVERLAP_DAYS, INCREMENTAL_OVERLAP_DAYS) | ||
| return Math.min(incremental, baseline) |
There was a problem hiding this comment.
Incremental sync misses late transcripts
Medium Severity
With incremental sync, computeLookbackDays shrinks the recordings query to roughly days since lastSyncAt plus seven. Meetings outside that window are never listed again, so recordings that had no completed transcript on an earlier pass but later get one can be skipped permanently unless the user runs a full sync.
Reviewed by Cursor Bugbot for commit 1b72668. Configure here.


Summary
supportsRefreshTokenRotationfor Zoom (wasfalse) — Zoom rotates refresh tokens every refresh, so the old setting would force users to re-auth after first token refreshType of Change
Testing
Tested manually — type-check, lint, and connector test suite (86 tests) all pass. Live Zoom OAuth flow not exercised; needs sanity check with a real account that has cloud recordings.
Checklist