nextcloud / nextcloud/mail

Improve responsiveness composing mails with large inline attachments

Open
#13,535 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement feature:composer performance 🚀
Dominant language
JavaScript
Stars
1k
Forks
348
Avg merge
12h 28m
Merged PRs (30d)
91

Description

Is your feature request related to a problem? Please describe.

When pasting an image in to a mail we store it in the <img> src attribute as a data URL.

`<img src="data:image/png;base64,iVBO...`

This causes the browser to struggle with staying response. The larger the file size the inline image is the more apparent it becomes.

Describe the solution you'd like

Use blob URLs instead.

Describe alternatives you've considered

Uploading the inline images directly to the server and the using the ULRs to the uploaded files.

Using uploaded images is a good solution once the composed data was save as draft.
Until first save as draft blob URL work without requiring a server to upload the images.

Additional context

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 by locating the compose editor code that handles pasted images and converts them into data URLs. Check how draft saving and image cleanup work, then verify that large inline images keep the composer responsive and remain usable before the first draft save without requiring a server upload.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.