feat: capture caret/scroll in editor autosave
This commit is contained in:
parent
6a0532592e
commit
6db41de485
2 changed files with 6 additions and 2 deletions
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
## 2. Caret persistence in the side panel
|
## 2. Caret persistence in the side panel
|
||||||
|
|
||||||
- [ ] 2.1 In `sidepanel/sidepanel.js`, pass current caret (`selectionStart`/`selectionEnd`) and `scrollTop` to `saveNote` in the existing autosave (`doSave`)
|
- [x] 2.1 In `sidepanel/sidepanel.js`, pass current caret (`selectionStart`/`selectionEnd`) and `scrollTop` to `saveNote` in the existing autosave (`doSave`)
|
||||||
- [ ] 2.2 Track caret-only movement via `document` `selectionchange` (filtered to the editor) and editor `scroll`; debounce ~800ms into a caret-only save that calls `saveNote` without broadcasting; skip it while a content autosave is pending
|
- [ ] 2.2 Track caret-only movement via `document` `selectionchange` (filtered to the editor) and editor `scroll`; debounce ~800ms into a caret-only save that calls `saveNote` without broadcasting; skip it while a content autosave is pending
|
||||||
- [ ] 2.3 Flush any pending caret-only save on editor `blur` and on `visibilitychange` → hidden
|
- [ ] 2.3 Flush any pending caret-only save on editor `blur` and on `visibilitychange` → hidden
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,11 @@ async function doSave() {
|
||||||
favIconUrl: tab.favIconUrl || '',
|
favIconUrl: tab.favIconUrl || '',
|
||||||
};
|
};
|
||||||
|
|
||||||
const saved = await saveNote(currentKey, editor.value, pageMeta);
|
const saved = await saveNote(currentKey, editor.value, pageMeta, {
|
||||||
|
caretStart: editor.selectionStart,
|
||||||
|
caretEnd: editor.selectionEnd,
|
||||||
|
scrollTop: editor.scrollTop,
|
||||||
|
});
|
||||||
currentNote = saved;
|
currentNote = saved;
|
||||||
updateStatus('Saved');
|
updateStatus('Saved');
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue