The split/edit preview debounce invokes render_markdown asynchronously, then writes its result without confirming that the active tab and raw content still match the request. A delayed render can replace a newer edit or a different active tab.\n\nGive each preview render request a revision, cancel pending timers in the effect cleanup, and discard stale completions.
The split/edit preview debounce invokes render_markdown asynchronously, then writes its result without confirming that the active tab and raw content still match the request. A delayed render can replace a newer edit or a different active tab.\n\nGive each preview render request a revision, cancel pending timers in the effect cleanup, and discard stale completions.