fix: Add debounced Undo/Redo system to avoid character-by-character history

- Add debounced state updates for title and content (500ms delay)
- Immediate UI updates with delayed history saving
- Prevent one-letter-per-undo issue
- Add cleanup for debounce timers on unmount
This commit is contained in:
2026-01-04 14:28:11 +01:00
parent 355ffb59bb
commit 8d95f34fcc
4106 changed files with 630392 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
// src/adapter/service-worker/handler.ts
var handle = (app, opts = {
// To use `fetch` on a Service Worker correctly, bind it to `globalThis`.
fetch: globalThis.fetch.bind(globalThis)
}) => {
return (evt) => {
evt.respondWith(
(async () => {
const res = await app.fetch(evt.request, {}, evt);
if (opts.fetch && res.status === 404) {
return await opts.fetch(evt.request);
}
return res;
})()
);
};
};
export {
handle
};

View File

@@ -0,0 +1,11 @@
// src/adapter/service-worker/index.ts
import { handle } from "./handler.js";
var fire = (app, options = {
fetch: void 0
}) => {
addEventListener("fetch", handle(app, options));
};
export {
fire,
handle
};

View File