Notes editor: Markdown paste stays literal instead of creating blocks #1431

Closed
opened 2026-10-08 03:03:10 +00:00 by kayg · 3 comments
Owner

Severity: minor

Steps:

  1. Open a Note in the production Notes area.

  2. Copy this plain-text Markdown from a Markdown source:

    Paste check

    • Task check
    const pasted = true;
    
  3. Place the caret in a Note paragraph and paste.

Expected: The heading, task and code block become the matching Note blocks. The Note keeps the same Markdown structure after save and reload.

Actual: The production Notes editor inserts the full text into one paragraph. It shows no heading or task checkbox. The saved Note keeps the Markdown markers as paragraph text. A rich HTML paste from a Safari-style page in the same session did create headings, lists, tables, links and code.

Evidence: artifacts/bash3-notes/markdown-paste-raw-1440-light.png (local Chromium against the production build and real server, macOS platform emulation, 1× capture). The clipboard contents matched the Markdown input.

This behavior is not specified in DESIGN §9. For this report, I expect explicit multi-block Markdown syntax in a plain-text paste to become matching editor blocks, while ordinary plain text remains plain text. This is a minor usability defect; it does not lose the pasted bytes.

Severity: minor Steps: 1. Open a Note in the production Notes area. 2. Copy this plain-text Markdown from a Markdown source: ## Paste check - [ ] Task check ```js const pasted = true; ``` 3. Place the caret in a Note paragraph and paste. Expected: The heading, task and code block become the matching Note blocks. The Note keeps the same Markdown structure after save and reload. Actual: The production Notes editor inserts the full text into one paragraph. It shows no heading or task checkbox. The saved Note keeps the Markdown markers as paragraph text. A rich HTML paste from a Safari-style page in the same session did create headings, lists, tables, links and code. Evidence: `artifacts/bash3-notes/markdown-paste-raw-1440-light.png` (local Chromium against the production build and real server, macOS platform emulation, 1× capture). The clipboard contents matched the Markdown input. This behavior is not specified in DESIGN §9. For this report, I expect explicit multi-block Markdown syntax in a plain-text paste to become matching editor blocks, while ordinary plain text remains plain text. This is a minor usability defect; it does not lose the pasted bytes.
Author
Owner

Starting #1431 on job/mdpaste-1431, base 52e8dfbee

Starting #1431 on job/mdpaste-1431, base 52e8dfbee
Author
Owner

Finished #1431 on job/mdpaste-1431, head d0899ee3b. Plain-text multi-block Markdown paste becomes blocks (packages/editor/src/markdownPaste.ts). bun run check passes, web tests 297 files/2120 tests pass, editor 23 files/458 tests pass, e2e apps/web/e2e/markdown-paste-1431.mjs passes. Screenshots under artifacts/markdown-paste-1431 (worktree).

Finished #1431 on job/mdpaste-1431, head d0899ee3b. Plain-text multi-block Markdown paste becomes blocks (packages/editor/src/markdownPaste.ts). bun run check passes, web tests 297 files/2120 tests pass, editor 23 files/458 tests pass, e2e apps/web/e2e/markdown-paste-1431.mjs passes. Screenshots under artifacts/markdown-paste-1431 (worktree).
kayg referenced this issue from a commit 2026-10-08 19:43:32 +00:00
Author
Owner

Deployed to calternal.cloud in merge round 35b (build 9dc65437e, live 2026-10-09 ~11:07 IST). Closing.

Deployed to calternal.cloud in merge round 35b (build 9dc65437e, live 2026-10-09 ~11:07 IST). Closing.
kayg closed this issue 2026-10-09 05:37:03 +00:00
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-v0#1431
No description provided.