Skip to content

Releases: jasper-note/jasper

v2026.7.14 — Fix editor reset during autosave / 修复自动保存重置编辑

Choose a tag to compare

@xVanTuring xVanTuring released this 14 Jul 09:16

🐛 Bug fix — editing is no longer reset mid-typing

When you paused and kept typing while an autosave request was still in flight, the note's own change echo (SSE) could overwrite your editor buffer with the server's slightly older version — resetting both the text and the cursor. Autosave now snapshots exactly what it sends and never marks the buffer "clean" if you edited during the request, so in-progress edits and the cursor are always preserved.

  • Save coordination (dirty / in-flight / snapshot recheck / external-apply gating) extracted into a pure Autosave module.
  • External echoes (SSE / another client) are rejected while you have unsaved input or a save is in flight.
  • Programmatic buffer replacement no longer triggers a spurious save.
  • Added unit tests plus a deterministic e2e that holds the first save in-flight to reproduce the race (it fails on the old code).

No data-format or API changes. Frontend-only fix; the server version is bumped to 2026.7.14 so the Docker image ships it.


🐛 问题修复 — 在线编辑不再被自动保存打断重置

此前当你打字停顿、在一次自动保存请求还在途时继续输入,笔记自身的变更回声(SSE)可能用服务端稍旧的版本覆盖编辑缓冲,把正文和光标一起重置。现在自动保存会对发出的内容做快照,保存期间只要你又有输入,就绝不把缓冲当作「已保存」,输入与光标全程保留。

  • 自动保存时序(脏标记 / 在途 / 快照复核 / 外部回显门控)抽成纯逻辑 Autosave 模块。
  • 有未保存输入或正在保存时,一律拒绝外部(SSE / 别的客户端)回显。
  • 程序化替换缓冲不再触发多余的保存。
  • 新增单元测试,以及一个稳定复现竞态的 e2e(把首次保存扣在途中,旧代码上会失败)。

数据格式与 API 无变化;纯前端修复,服务端版本随之升到 2026.7.14,Docker 镜像即带此修复。


Docker: ghcr.io/jasper-note/jasper:v2026.7.14-1 · ghcr.io/jasper-note/jasper:latest

Full changelog: v2026.7.10-2...v2026.7.14-1