• dev-259 90616b15bf

    Ghost released this 2026-07-27 00:42:29 +03:00 | 1807 commits to dev since this release

    Pressing Enter with the cursor right after an emoji moves the emoji
    down with the tail, instead of leaving it on the line above. The split
    lands one emoji to the left of the cursor.

    richOffsetForFieldOffset() converts the field cursor into an offset in
    the article text through a list of replacements, and that list is only
    ever filled from formulas — see MarkedTextLeafSourceSignature's caller
    in iv_editor_text_entities.cpp. An emoji changes length between the two
    coordinate systems exactly the same way a formula does: one character in
    the field document, two UTF-16 units in the text. Nothing compensates
    for it.

    The direction fits, the magnitude does not yet: four emoji precede the
    cursor in the reported case, so the shortfall should be four units, but
    the split moved by two. Rather than guess again, log both offsets, the
    text length, the replacement count and what sits on either side of the
    landing point.

    Temporary diagnostics, capped at 60 lines per run.

    Co-Authored-By: Claude Opus 5 noreply@anthropic.com

    Downloads