Description
Bug Report
Prerequisites
- Can you reproduce the problem?
- Are you running the latest version?
- Are you reporting to the correct repository?
- Did you perform a cursory search?
For more information, see the CONTRIBUTING
guide.
Description
Batch api/@microsoft/microsoft-graph-client throws an error even when you have 2 different strings
In my outlook inbox there were 2 different emails with message ids: AQMkADI1NjdjOTA3LTA2MDctNDljNS1iM2JjLWI0YzFmOGVjYjEzMABGAAADaFuLVZilDkGMRMEras84mwcAJoSf1ZrISEGDUfN0NvJ3fgAAAgEMAAAAJoSf1ZrISEGDUfN0NvJ3fgACvV-2EAAAAA==
& AQMkADI1NjdjOTA3LTA2MDctNDljNS1iM2JjLWI0YzFmOGVjYjEzMABGAAADaFuLVZilDkGMRMEras84mwcAJoSf1ZrISEGDUfN0NvJ3fgAAAgEMAAAAJoSf1ZrISEGDUfN0NvJ3fgACvV-2eAAAAA==
the only discernible difference between these 2 strings is the eAAA
and EAAA
but they are different nonetheless
Console Errors: [Is there any console error]
Batch err GraphError: Request Id AQMkADI1NjdjOTA3LTA2MDctNDljNS1iM2JjLWI0YzFmOGVjYjEzMABGAAADaFuLVZilDkGMRMEras84mwcAJoSf1ZrISEGDUfN0NvJ3fgAAAgEMAAAAJoSf1ZrISEGDUfN0NvJ3fgACvV-2EAAAAA== has to be unique in a batch.
Steps to Reproduce (roughly)
It seems like a message which is undeliverable sometimes produces a message id which is similar to the undelivered email
- Have an email in the inbox
- Reply to that email with imaginary recipients
- You should now receive an undelivered email message in the same email thread
- Extract the message ids on this thread
- Batch them into an array with a structure like so
[ {
id: '<Msg_id1>',
url: '/me/messages/<MSG id 1/$value',
method: 'GET'
},
{
id: '<Msg id 2>',
url: '/me/messages/<MSG id 2/$value',
method: 'GET'
}
]
- Pass this as a
POST
request to graph's$batch
endpoint via the@microsoft/microsoft-graph-client
npm library
Expected behavior: The batch request should be executed
Actual behavior: Library throws a message id should be unique error
Additional Context
Add any other context about the problem here..
Usage Information
Request ID - 9ecfb982-93c9-4f64-9d2e-331ffdefd6fe
SDK Version - 3.0.7
- [x ] Node (Check, if using Node version of SDK)
Node Version - [The version of Node you are using]
- Browser (Check, if using Browser version of SDK)
Browser Name - [The name of Browser that you are using for SDK]
Version - [The version of the browser you are using]