Remend partial markdown can sometimes have FOUM
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5.6k
- Forks
- 302
- Avg merge
- 3d 19h
- Merged PRs (30d)
- 14
Description
Bug Description
When streaming, markdown can arrive in chunks remend can't be sure how to complete. Currently there is no way to handle that and the result is small flashes of un-styled markdown.
Two examples:
my name is **- will return literal ** but the next char that will arrive will make it bold thus a flashing **.- item\n -will return the same text and a - will be shown until the next character that will make it a list
I think there should be a way to identify those cases (optional?) and maybe even buffer until the parser can be sure if incomplete or not.
There are also tougher cases like tables (might need to wait longer to be sure if a table or not). Maybe provide built in handlers for those cases?
Steps to Reproduce
Call remend with the above text
Expected Behavior
Either buffer (drop the incomplete text until sure) or at least inform somehow there is ambiguous incomplete markdown.
Can be another option or some other way.
Actual Behavior
Completes only when 100% sure but does nothing when ambiguous
Code Sample
Streamdown Version
remend 1.3.0
React Version
Node.js Version
22.22.3
Browser(s)
Chrome
Operating System
Windows
Additional Context
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files or tests; start by reproducing the remend 1.3.0 behavior with the bold-marker and list examples while tracing the relevant parser entry point. Done means ambiguous partial Markdown can be identified or buffered without flashes, with coverage for the reported streaming cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100