Fixes and Turkish from public ihasmail (#29–#36) #41

Merged
jcoffey-dev merged 8 commits from sync/ihasmail-2026-10-05 into main 2026-10-05 17:43:09 +00:00
Owner

Picks everything app-facing that public ihasmail has merged since #25, one commit per ihasmail PR, each with its cherry picked from line:

ihasmail Change
#29 Settings load finishes when the tree remounts mid-load
#30 An open message stays unread after Mark as unread
#31 Mail wider than the pane scrolls sideways
#33 Resize images in the composer
#32, #34 Turkish, contributed by Hakan Arslan
#36 Labels stay inside the row in the two-line list, at every density (coffey-labs/ihasmail#35). #36 is not merged yet; this is its commit as is.

Not picked:

  • ihasmail #28: issue-template links for ihasmail's own repository.
  • ihasmail's CI and docs PRs: this repo already has its own versions.

Conflicts resolved:

  • #32:
    • languages.ts keeps this fork's rule that no language is marked Beta, and adds tr the same way.
    • FEATURES/KNOWN-ISSUES/ROADMAP stay deleted here.
    • The README keeps this fork's text, with "Eleven interface languages".
  • #30: the mark-read effect keeps this fork's readOnly guard (AL-6, locked accounts) and adds the fix's readWhileOpen exclusion. A follow-up commit restores the indentation the resolution lost.

Translations:

  • Turkish covers 1611 of 1699 strings (95%). 88 fall back to English: the 29 inbuxa-only strings every language still lacks (DLP and the like), plus 59 more that exist only here. 22 Turkish entries are stale (ihasmail strings this fork changed or dropped).
  • Not machine-translated: the Turkish came from a person, so the missing 59 should too.
  • The other nine languages gain the three image-resize strings from #33, already translated.
  • i18n:check fails on main too (the 29 strings), and this doesn't change that for the existing languages.

Tests: typecheck passes; web 1492/1492, server 271/271.

Picks everything app-facing that public ihasmail has merged since #25, one commit per ihasmail PR, each with its `cherry picked from` line: | ihasmail | Change | |---|---| | #29 | Settings load finishes when the tree remounts mid-load | | #30 | An open message stays unread after Mark as unread | | #31 | Mail wider than the pane scrolls sideways | | #33 | Resize images in the composer | | #32, #34 | Turkish, contributed by Hakan Arslan | | #36 | Labels stay inside the row in the two-line list, at every density (coffey-labs/ihasmail#35). **#36 is not merged yet**; this is its commit as is. | **Not picked:** - ihasmail #28: issue-template links for ihasmail's own repository. - ihasmail's CI and docs PRs: this repo already has its own versions. **Conflicts resolved:** - **#32:** - `languages.ts` keeps this fork's rule that no language is marked Beta, and adds `tr` the same way. - FEATURES/KNOWN-ISSUES/ROADMAP stay deleted here. - The README keeps this fork's text, with "Eleven interface languages". - **#30:** the mark-read effect keeps this fork's `readOnly` guard (AL-6, locked accounts) and adds the fix's `readWhileOpen` exclusion. A follow-up commit restores the indentation the resolution lost. **Translations:** - **Turkish** covers 1611 of 1699 strings (95%). 88 fall back to English: the 29 inbuxa-only strings every language still lacks (DLP and the like), plus 59 more that exist only here. 22 Turkish entries are stale (ihasmail strings this fork changed or dropped). - **Not machine-translated:** the Turkish came from a person, so the missing 59 should too. - **The other nine languages** gain the three image-resize strings from #33, already translated. - `i18n:check` fails on main too (the 29 strings), and this doesn't change that for the existing languages. **Tests:** typecheck passes; web 1492/1492, server 271/271.
jcoffey-dev added 8 commits 2026-10-05 17:35:50 +00:00
(cherry picked from commit 5ec06f40125cc320fba64edaa4ee1a1fb23d22d2)
(cherry picked from commit 017b1b5eb812ba18c3577ff79c544a25f7f91aaa)
(cherry picked from commit f17bdc9fff1455a734e19fdd8004fcd6b7970825)
(cherry picked from commit 4a6bf677cbed9ecd23d02c0788c927e0dc9e941a)
(cherry picked from commit 14680d0e1b2cc966aa840a45e73b238322ed5e17)
(cherry picked from commit 5987f9c815d13df133841c4873b2aa9c394bc433)
Lost while resolving the conflict in the #30 pick.
Keep a narrow list's labels inside the row, on the sender's line (ihasmail #36)
ci / node (pull_request) Skipped
ci / version (pull_request) Skipped
ci / docker-build (pull_request) Skipped
ci / publish (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 2m25s
ci / announce (pull_request) Skipped
64b5db01f3
On a phone or a narrow list, rows are two lines, and labels went on a third
line of their own. A row is a fixed height at each density, and that third
line fit it only at Comfortable: at Cozy, the default, the labels were cut
off at the bottom, and at Compact they sat outside the row.

They now sit on the sender's line, after the name, which has room to spare,
so the row's height is unchanged at every density. When the line runs short
the name gives way first, then each label truncates; the date stays.

Reported in coffey-labs/ihasmail#35.

(cherry picked from commit 22490d8fe0190d85d8039a977435245b0d7da3cc)
jcoffey-dev merged commit 3434a5ed39 into main 2026-10-05 17:43:09 +00:00
jcoffey-dev deleted branch sync/ihasmail-2026-10-05 2026-10-05 17:43:09 +00:00
Sign in to join this conversation.