Closed Bug 1775376 Opened 2 years ago Closed 1 year ago

Languages not correctly restored when draft is edited

Categories

(Thunderbird :: Message Compose Window, defect)

Thunderbird 102
defect

Tracking

(thunderbird_esr102 affected)

RESOLVED DUPLICATE of bug 1790746
Tracking Status
thunderbird_esr102 --- affected

People

(Reporter: rachel, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: ux-mode-error)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0

Steps to reproduce:

Set composition to be spell checked in en, de, es in the preferences.
Start a new composition, you get en, de, es.
Switch off German in the compose window.
Save the draft, close the compose window, check the draft and see:
Content-Language: en-GB, es-ES
Edit draft.

Actual results:

In the spelling button and the status bar, en and es are restored.
However, right click in the message body, Languages, de is also selected.
There a variations on this, see below.

Expected results:

The chosen languages should be restored everywhere consistently.

Variation for TB 102: Set settings to single language en, in new composition select de, es, deselect en. Save draft, close window, edit draft. In the body, the language shows as en, elsewhere as de, es.

Blocks: tb102found

xref bug 1678812. Not sure how useful it is to set Content-Language to more than one language only because those dictionaries were enabled.

Actually, nothing is restored, the menus look OK, but the language(s) they display aren't the one(s) which is uses for spell checking.
Hacky solution here:
https://github.com/Betterbird/thunderbird-patches/blob/main/102/bugs/1775376-fix-dict-edit-draft.patch

Summary: Languages not correctly restored in message body when draft is edited → Languages not correctly restored when draft is edited

(In reply to Magnus Melin [:mkmelin] from comment #1)

xref bug 1678812. Not sure how useful it is to set Content-Language to more than one language only because those dictionaries were enabled.

Sadly Content-Language is our way to store active dictionaries. Sending that out in the final message is a separate debate.

Actually, nothing is restored, the menus look OK, but the language(s) they display aren't the one(s) which is uses for spell checking.

I remember initialization being extremely sensitive when I implemented multi dictionary support. The timings of when the spell checkers are ready seem to be the hard part to get right. I also think the one-language case will be more reliable, since we can use the lang attribute on the document there to chose the default language the spellcheckers should use on init, however for multiple languages we have to rely on the spellchecker actually remembering the selection.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Severity: -- → S3
Keywords: ux-mode-error

(In reply to Martin Giger [:freaktechnik] from comment #3)

I remember initialization being extremely sensitive when I implemented multi dictionary support.

Sadly, establishing multiple dictionaries in composition (bug 1766604) also doesn't work 100%. When it doesn't work, the UI looks OK, but spell checking uses a different dictionary. It becomes good when focusing a different window and then returning to the composition. Saving the draft also helps.

Turned out that new dictionaries cannot be set while the spell check is still checking with the initial dictionary. Patch from comment #2 updated.

Status: NEW → RESOLVED
Closed: 1 year ago
Duplicate of bug: 1790746
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.