-
Notifications
You must be signed in to change notification settings - Fork 10.2k
feat: Implement Outlook Calendar Cache with Microsoft Graph Change No… #22120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…tifications - Added caching support to Office365CalendarService - Created MicrosoftGraphSubscriptionService for webhook management - Added webhook endpoint for Microsoft Graph notifications - Updated schema to support Microsoft Graph subscriptions - Added tests for the implementation Fixes calcom#21050
@harshith-eth is attempting to deploy a commit to the cal Team on Vercel. A member of the Team first needs to authorize it. |
|
Graphite Automations"Add consumer team as reviewer" took an action on this PR • (06/28/25)1 reviewer was added to this PR based on Keith Williams's automation. "Add community label" took an action on this PR • (06/28/25)1 label was added to this PR based on Keith Williams's automation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cubic found 2 issues across 6 files. Review them in cubic.dev
React with 👍 or 👎 to teach cubic. Tag @cubic-dev-ai
to give specific feedback.
credentialId: true, | ||
externalId: true, | ||
integration: true, | ||
eventTypeId: true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
eventTypeId is selected from the database but never used later, resulting in unnecessary data transfer.
const validationToken = query.validationToken; | ||
|
||
if (validationToken) { | ||
log.debug("Responding to Microsoft Graph validation", { validationToken }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rule violated: Avoid Logging Sensitive Information
Logs the Microsoft Graph `validationToken`, which is an authentication token and should not be written to logs per "Avoid Logging Sensitive Information" rule.
log.debug("Responding to Microsoft Graph validation", { validationToken }); | |
log.debug("Responding to Microsoft Graph validation"); |
- Remove unused eventTypeId field from selectedCalendar query - Remove sensitive validationToken from debug logs - Fix TypeScript any type warning
Type checks and tests seem to be failing. Can you pls address them? |
This PR is being marked as stale due to inactivity. |
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
…tifications
Fixes #21050
What does this PR do?
Visual Demo (For contributors especially)
A visual demonstration is strongly recommended, for both the original and new change (video / image - any one).
Mandatory Tasks (DO NOT REMOVE)
How should this be tested?
Checklist
Summary by cubic
Added caching for Outlook/Office 365 calendar availability and real-time updates using Microsoft Graph change notifications. This reduces API calls and keeps calendar data fresh.