Reduce network usage composing mails with large inline attachments

Aperta
#13,536 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript
Ambito
full-stack

Direzione di ricerca

Inizia tracciando il flusso di salvataggio delle bozze per il compositore di posta e individua la gestione esistente del ciclo di vita degli allegati normali. Esamina l’issue #13535 insieme a questa issue, quindi verifica che il primo salvataggio della bozza carichi le data URL inline e che i salvataggi successivi utilizzino gli URL degli allegati senza lasciare upload orfani.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

1. to develop enhancement feature:composer feature:drafts performance 🚀
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...`
  • Given:
    • Composing HTML mail with large inline attachment
  • When
    • Editing the mail
  • Then
    • A draft is saved continuously (with some denounce)
      - The send draft text is large because data URL is part of the HTML
Describe the solution you'd like

When saving the draft for the first time, upload the inline attachments to the server and replace references to data URLs to the attachment URLs.
And from then on only use the attachment ULRs in the HTML source.

Describe alternatives you've considered

Keeping as is if handling life cycle of separately uploaded inline attachments is not to complicated.
But I assume we already have similar handling for regular attachments there this would only reuse the mechanism we already have in place.

Additional context

Relates with #13535 and might be worth tackling together (or at least with each other in mind), because the implementations would be touch the same code.

Lingua principale
JavaScript
Stelle
1.1k
Fork
373
Merge medio
1g 4h
PR unite (30g)
99

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nextcloud/mail

Tutte le issue di nextcloud/mail

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.