microsoftgraph / microsoftgraph/msgraph-sdk-python

Move email with static graph ID for email results in duplication of emails

Open
#1,042 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: API Support priority:p1
Dominant language
Python
Stars
630
Forks
96
Avg merge
15h 20m
Merged PRs (30d)
3

Description

Describe the bug

Using the move mail endpoint with immutable graph ids for mail creates duplicate mails

    headers = HeadersCollection()
    headers.add("Prefer", 'IdType="ImmutableId"')

was used to get the immutable graph id

  1. Place email in test inbox ("Invoice processor test inbox"):
    image

  2. Move email manually in OWA to another folder ("Invoice processor test cannot process")
    image

  3. Call the move email endpoint to move email to ("Invoice processor test done"):
    Email is moved out of inbox ("Invoice processor test inbox"):
    image
    Test emails moves to target folder ("Invoice processor test done")
    image
    Test email unexpectedly also stays in ("Invoice processor test cannot process")
    image

I now have a duplicate of the email. This should not happen if you call move on a email right? Is this intended behavior because of the use of immutable graph IDs or is this a bug?

Expected behavior

Email should be moved not duplicated

How to reproduce

See bug description

SDK Version

1.12.0

Latest version known to work for scenario above?

No response

Known Workarounds

Use non static graph ID

Debug output

No response

Configuration

Ubuntu 22.04

Other information

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the move mail endpoint and the immutable Graph ID request shown in the report. Reproduce the sequence using SDK 1.12.0, then compare it with the documented non-static ID workaround to determine whether duplication originates in the SDK or the Graph service. Done means identifying the cause and documenting or testing a fix for moving without duplication.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.