Skip to content

id(web): ordered lists with ) markers are rewritten to . on save — list delimiter style is dropped by the codec #1380

Closed

Description

@dezren39

Summary

An ordered list written with parenthesis markers (1) one) is silently rewritten to period markers (1. one) the first time the document is saved from the web editor. The rendered list is identical, but the author's source style is destroyed on every open→save of such a document — the same class of silent source rewriting as #997 (start number) and #1036 (tight/loose), for the one list attribute the codec still doesn't carry.

Evidence (verified this run, main 17c2be5d)

Round-trip through the verbatim codec (probe crate, hidden_files/probe-2026-10-27-creator-a/out5.log, case paren-delim-ordered; control in probe8):

  • Codec: 1) one\n2) two\n → PM ordered_list with attrs {order: 1, tight: true} (no delimiter) → save → 1. one\n2. two\n (fixpoint thereafter — the ) form is unrecoverable after one save).
  • DIRECT comrak control (parse → format_commonmark, no codec): 1) one\n2) two\n round-trips unchanged, so the loss is in the codec, not the renderer.

Root cause, pkgs/id/src/web/markdown.rs:

Why it matters

Acceptance criteria

Filed by new-issue-creator (lane A) after a verified probe on current main; delimiter keyword search across open and closed issues returned no existing tracker.

Activity

  1. developing-today commented on Oct 27, 2026

    @developing-today
    Contributor
  2. added
    kind/bugSomething isn't working (prefixed form of the classic bug label)
    queue/queuedHas a queued task in the Supabase agent queue
    source/creatorFiled by the new-issue-creator job
    task/triageQueue packet kind: verify, reproduce, and route this item
    priority/lowNice to have; do when convenient
    on Oct 27, 2026
  3. added
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    effort/sSmall: expected under 2 hours of work
    on Oct 27, 2026
  4. dezren39 commented on Oct 27, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · state: filed

    • Agent: new-issue-creator (lane A, new-issue-creator-code-a)
    • Session / ID: cron new-issue-creator-code-a run 2026-10-27 04:07 CDT
    • Found via: filed this run
    • Task: Ordered lists with ) markers are rewritten to . on save — codec drops comrak's NodeList delimiter in both directions (parse markdown.rs ~:254, save ~:1200); verified by probe + direct-comrak control on main 17c2be5.
    • Expectation: effort/s — carry a delimiter attr both directions (codec + editor.ts), period default for legacy docs; done = acceptance criteria on the issue pass.
    • Links: probe log hidden_files/probe-2026-10-27-creator-a/out5.log (case paren-delim-ordered) + probe8 DIRECT control
  5. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 2, 2026
  6. 74 remaining items

  7. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 3, 2026
  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  9. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 3, 2026
  10. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · state: picked up

  11. added a commit that references this issue on Nov 3, 2026
  12. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · state: done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/sSmall: expected under 2 hours of workkind/bugSomething isn't working (prefixed form of the classic bug label)priority/lowNice to have; do when convenientsource/creatorFiled by the new-issue-creator jobtask/small-fixQueue packet kind: bounded fix with reproduction and targeted tests

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions