ulysses/static
mist 0b0be3c339
Email: recognize forwarded message dividers
`_ORIG_RE` (and its JS mirror `_TALON_ORIG_RE`) already recognised the
Japanese forward marker `転送` alongside the "Original Message" delimiters,
but not the English "Forwarded message" one. So Gmail-style forwards —
including the ones Odysseus itself emits (`---------- Forwarded message
----------`, static/js/emailInbox.js) — were not treated as a quote
boundary:

  - with a following Outlook From:/Date: header block, the divider line
    leaked into the level-0 reply bubble as noise;
  - with only the divider marking the forward (no header block), the body
    was not split into turns at all.

Add `Forwarded\s+message` to the same `[-_=]{3,}`-delimited alternation in
both the server-side parser and the JS mirror, so forward dividers are
consumed as an attribution boundary like "----- Original Message -----".
Locale variants of "Forwarded message" can follow the existing pattern.

Tests cover both manifestations plus a negative control (the bare words
"forwarded message" without `[-_=]{3,}` delimiters must not split).

Checks: python -m pytest tests/test_forwarded_message_divider.py (3 passed),
python -m py_compile src/email_thread_parser.py, node --check
static/js/emailLibrary/utils.js, git diff --check.
2026-06-02 20:32:56 +09:00
..
fonts Odysseus v1.0 2026-05-31 23:58:26 +09:00
js Email: recognize forwarded message dividers 2026-06-02 20:32:56 +09:00
lib Odysseus v1.0 2026-05-31 23:58:26 +09:00
app.js Fix drag-and-drop files landing behind the panes in Compare (#818) 2026-06-02 11:14:59 +09:00
index.html Add custom web search result count 2026-06-02 12:55:15 +09:00
landing.html feat: Add mobile hamburger navigation menu and toggle functionality 2026-06-01 15:57:01 +04:00
login.html Improve accessibility across core flows (#86) 2026-06-01 22:04:00 +02:00
manifest.json Odysseus v1.0 2026-05-31 23:58:26 +09:00
style.css Model picker: group models by provider 2026-06-02 13:14:22 +09:00
sw.js Odysseus v1.0 2026-05-31 23:58:26 +09:00