authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-03-26 16:43:00-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-04-22 17:59:30-07:00
logbc47a60a1a70ca7d019bd60a1f6571c61de1e52a
tree31b468d705315f0cd1d96f36d76ab0bf6f038e05
parent790cb5e3084dbb0c8b5780899bd85b19dd021cd8
signaturebadge-check Signed by SSH key SHA256:cOKiuRFOeSRxne6EWgHtdQQSlBxjOXm2hOCFnCdLQbQ

fix: do not reset `reactNodes` on pipeline changes

this reduces rerenders but doesn't affect other features

3 files changed, 6 insertions(+), 2 deletions(-)

deno.json+1-1
......@@ -1,6 +1,6 @@
11{
22 "name": "@clo/react-markdown",
3 "version": "1.1.0",
3 "version": "1.1.1",
44 "exports": {
55 ".": "./src/Markdown.ts",
66 "./Predict": "./src/Predict.ts"
readme.changes.md+4
......@@ -1,5 +1,9 @@
11# notable changes in React Markdown
22
3## v1.1.1
4
5- Patch to the Memoizer to reduce React re-renders on pipeline changes
6
37## v1.1
48
59- Prediction improvements
src/Memoizer.ts+1-1
......@@ -73,8 +73,8 @@ export class Memoizer {
7373 this.#keys = [];
7474 this.#nextKey = 0;
7575 this.#renderStates = [];
76 this.#reactNodes = [];
7776 this.#predict = predict ? new Predict() : null;
77 // NOTE: do not reset reactNodes so that pipeline changes can preserve the react node state
7878 }
7979
8080 update(content: string): readonly ReactNode[] {