[Bug] Received reply displays quoted previous message instead of the actual new message body
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 68/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript
- Domain
- frontend
Research direction
Start by importing the linked anonymized .eml and comparing how Nextcloud Mail renders its text/plain and text/html alternatives with Thunderbird. Trace the message-body rendering entry point and MIME quoted-content handling; done means the new reply is displayed while the older quoted message remains excluded.
Written by the indexing model from the issue text.
Description
Steps to reproduce
- Send a message to a system that includes the original message when replying. In this case the reply was generated by Stripe/Salesforce.
- Receive the reply.
- Open it in Nextcloud Mail.
- Nextcloud displays the body of the quoted previous message instead of the new reply.
- Use «View source» or download the .eml.
- The raw message contains the correct new reply before the quoted previous message.
- Open the same IMAP message in Thunderbird.
- Thunderbird displays the new reply correctly.
Expected behavior
Nextcloud Mail should display the new, non-quoted portion of the received message as the message body.
Actual behavior
Nextcloud Mail displays content from the quoted previous message and hides the actual newly received reply.
Mail app version
5.11.5
Nextcloud version
33.0.8 / Nextcloud AIO v13.6.0
Mailserver or service
No response
Operating system
No response
PHP engine version
None
Nextcloud memory caching
No response
Web server
None
Database
None
Additional info
A newly received reply is displayed with the body of the previous message instead of the actual new reply.
The message itself was synchronized correctly. The raw message source in Nextcloud Mail contains the correct new reply, followed by the quoted previous message.
Thunderbird displays the exact same IMAP message correctly.
In Nextcloud Mail:
sender, recipient, timestamp and subject belong to the newly received message
the displayed body is taken from the previous quoted message
the actual new body is not shown
The downloaded .eml confirms that the new body is present and occurs before the quoted previous message in both the text/plain and text/html MIME alternatives.
MIME structure:
multipart/mixed
└── multipart/alternative
├── text/plain
│ ├── actual new reply
│ └── quoted previous message
└── text/html
├── actual new reply
└── quoted previous message
I was able to create an anonymized standalone reproducer based on the affected message.
The anonymized .eml preserves the relevant MIME structure and contains an explicit new reply followed by an older quoted message.
Expected visible body:
This is the actual NEW content of the received reply.
The quoted section later in the message contains:
This is the OLD, quoted message text.
I imported this anonymized .eml into a normal IMAP folder and opened it in Nextcloud Mail. Nextcloud Mail reproducibly displays the OLD quoted message as the visible body instead of the new reply.
Thunderbird displays the same anonymized .eml correctly.
This reproduces independently of the original Stripe message and independently of the original mailbox state.
One possibly relevant detail is that the HTML part of the quoted previous message contains another complete ... document.
nextcloud-mail-anonymized-repro.eml
This therefore does not appear to be an IMAP synchronization or UID issue. The correct raw message is available to Nextcloud Mail, but the wrong part of its content is rendered as the visible body.
This may be related to #12811.
I also have #13590 open for a separate IMAP UID/cache issue, but based on the raw source this appears to be a different problem.
- Dominant language
- JavaScript
- Stars
- 1k
- Forks
- 364
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 100
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nextcloud/mail
-
1. to develop enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
nextcloud/mail#13841 · 3 comments ·
Maintainers usually reply within 1 day
-
1. to develop enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
nextcloud/mail#13828 · 1 comment ·
Maintainers usually reply within 1 day
-
Show email next to name in Search dropdownPossibly taken @vansh-nagar claimed this 19 days ago. Open1. to develop enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
nextcloud/mail#13703 · 1 comment ·
Maintainers usually reply within 1 day
-
ISO-2022-JP emails are garbled in Mail 5.10.12 [Minimal fix available]Possibly taken @neconohitomi claimed this 40 days ago. Open1. to develop bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
nextcloud/mail#13472 · 1 comment ·
Maintainers usually reply within 1 day
-
1. to develop technical debt
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
Similar issues
-
area:install bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
yetone/magpie#2406 · 1 comment ·
Maintainers usually reply within 1 day
-
[BUG]: Prompt compressor crashes with TypeError when a past chat has a non-string response.textPossibly taken @ManojDevarajulu claimed this today. Openpossible bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Mintplex-Labs/anything-llm#6737 ·
Maintainers usually reply within 1 day
-
check:passed feeds:add
Difficulty 2/5 Under an hour Newbie friendliness 62/100
-
Remove the dead tree 'loadfail' handler in browser.js, which calls a non-existent tree.isSelected()OpenHousekeeping
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
pgadmin-org/pgadmin4#10601 ·
Maintainers usually reply within 1 day