Repository navigation
fix(microsoft): validate Microsoft integrations, return dropped fields and expose missing params - #9949
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
[High impact] The reviewed changes appear safe to merge. SummaryThis PR adds missing Microsoft inputs and outputs, fixes request shapes, and bounds large downloads and query results.
Reviews (7) · Last reviewed commit: "fix(microsoft): shared toStringOrNull in..." · Reviewed by Greptile |
There was a problem hiding this comment.
All reported issues were addressed across 187 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 187 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
7c02efd to
d52752b
Compare
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 187 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
1 issue found across 187 files
Confidence score: 4/5
- In
get_message.ts,metadata.messages[0].sendercan showUnknownfor bot messages even when the top-levelsenderresolves the bot’s name. Align the metadata sender lookup with the top-level resolution.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/sim/tools/microsoft_teams/get_message.ts">
<violation number="1" location="apps/sim/tools/microsoft_teams/get_message.ts:196">
P3: `metadata.messages[0].sender` still resolves only the user display name and falls back to `'Unknown'` for bot messages. The new top-level `sender` resolves application and device names too, so the same message reports two different senders. Reuse one resolved sender value in both places.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 187 files
Requires human review: Auto-approval blocked because this review re-detected 1 unresolved issue already reported by Cubic.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 187 files
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
No issues found across 187 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.
Turn on auto-fix | Re-trigger cubic
…s and expose missing params Sweeps Outlook, Teams, OneDrive, Word, SharePoint, Excel, Planner, Intune, Entra ID, Power BI, Dataverse, Dynamics 365, Azure DevOps, and Azure Data Explorer against the Microsoft API references. Outlook read/search and the Outlook trigger now return Bcc, Reply-To, internetMessageId, flags, and categories. All changes are additive: no param, subBlock, operation, tool id, or output is removed or retyped.
…ilter guard, opt-in Entra manager
…ding, offboarding roles, SharePoint hidden filters
…ify SharePoint site search scope
…ck ids, restored legacy outputs and caps
…look attachments, tighten SharePoint upload path
…when unexpanded, per-file SharePoint name errors
9a360b9 to
49a9cf0
Compare
…and Microsoft sweeps Final staging-to-main review of #9947, #9954 and #9949. The executor merges raw subBlock values under the block mapper's output, so a value stored for another operation (or an empty default the serializer fills in) reached tools whenever the mapper skipped that key. - Outlook: reply, reply-all and forward always set cc/bcc, so a Send cc never reaches them; send and draft always set importance; the new Importance dropdown defaults to unset - Google Groups Update Settings assigns every setting, so unchanged settings are never sent as '' - Google Tasks List assigns its tri-state filters and the tool skips empty values - OneDrive "If File Exists" defaults to unset so opening an old upload block sends nothing new - Google Sheets clears a Batch Get major dimension for every other operation - Azure DevOps: List Pipelines and Get Comments keep main's Max Results fallback, each paged operation has its own continuation token, and multi-item reads omit the raw field bag - SharePoint upload drops "." folder segments as before and still rejects ".." - Entra transitive and includeManager use one strict flag check; Dataverse treats a cleared page size as unset - Behaviour-neutral cleanups: shared header lookup (Gmail), settings mapper (Groups), identity and metadata outputs (Word), isSet (Dataverse), graphPathSegment (SharePoint), typed identity reads (Azure DevOps), Teams fallback payload nulls
…and Microsoft sweeps (#9960) * fix(integrations): close stale and empty value leaks from the Google and Microsoft sweeps Final staging-to-main review of #9947, #9954 and #9949. The executor merges raw subBlock values under the block mapper's output, so a value stored for another operation (or an empty default the serializer fills in) reached tools whenever the mapper skipped that key. - Outlook: reply, reply-all and forward always set cc/bcc, so a Send cc never reaches them; send and draft always set importance; the new Importance dropdown defaults to unset - Google Groups Update Settings assigns every setting, so unchanged settings are never sent as '' - Google Tasks List assigns its tri-state filters and the tool skips empty values - OneDrive "If File Exists" defaults to unset so opening an old upload block sends nothing new - Google Sheets clears a Batch Get major dimension for every other operation - Azure DevOps: List Pipelines and Get Comments keep main's Max Results fallback, each paged operation has its own continuation token, and multi-item reads omit the raw field bag - SharePoint upload drops "." folder segments as before and still rejects ".." - Entra transitive and includeManager use one strict flag check; Dataverse treats a cleared page size as unset - Behaviour-neutral cleanups: shared header lookup (Gmail), settings mapper (Groups), identity and metadata outputs (Word), isSet (Dataverse), graphPathSegment (SharePoint), typed identity reads (Azure DevOps), Teams fallback payload nulls * fix(integrations): render Azure DevOps list outputs in docs, clear stale Outlook importance on replies
Summary
bccRecipients,replyTo,internetMessageId,conversationId,categories,flag,isDraftandwebLink. The trigger$selectnow requests them.replyToandimportance. Reply and Forward gain Cc/Bcc; Reply All gains Bcc.{ message }only. It sentcommentandmessage.bodytogether, which Graph rejects with 400.$valuedownload with a shared byte budget. They previously inlined base64 for every attachment.messageId,chatId,url,sender, …) are now emitted at the top level as well as undermetadata. The top-level copies were always undefined.replyToId,subject,importance,webUrl, mentions, reactions and edit times.top/pageTokenpaging, and Read Channel getsincludeReplies.contentType(default stays text).createdBy,lastModifiedBy,parentReference,folder.childCountandeTag.orderBy. Share links gainexpirationDateTime.conflictBehavioris now reachable.folderPath/fileName.filter,topandselectFields, and List Sites gainssearchQuery.valuesOnly(default unchanged).deviceActionResults.odataType.microsoft_ad_list_user_memberships, direct or transitive).includeManager.userPrincipalName.format,isOwnedByMe,appIdandoriginalReportId.pageSizeand same-originnextLinkpaging.returnRecord.top/skipas numbers and surfaces search errors.issues.additionalResults).safeUrlPathSegment. Valid Graph ids (ABC!123, base64 ids with=,19:…@thread.v2,host,guid,guid) encode as before.queryTop,pipelinesTop,commentsTop,updateIterationPathand SharePointitemSelectFields), so a stale value from another operation never starts flowing into a saved workflow.{ message }only; the oldcomment+message.bodybody always returned 400.items: []instead oflists: [].nextPageUrlfrom a different collection is rejected../..file names.truncated: true) instead of failing at the 10 MB tool response cap.Type of Change
Testing
vitestover every Microsoft tool, block, internal operation and webhook test file, plusblocks/blocks.test.ts: 428 passedcheck-block-registry.ts origin/staging,check:tool-metadata,check:docs,check:integration-catalog,check:explicit-any,check:utils,check:test-patterns,check:unused-exports, and biome on the changed files. Type-check and the fullcheck:auditsrun in CI.Checklist
test-auditauthoring gate)