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,25 @@
// src/middleware/timeout/index.ts
import { HTTPException } from "../../http-exception.js";
var defaultTimeoutException = new HTTPException(504, {
message: "Gateway Timeout"
});
var timeout = (duration, exception = defaultTimeoutException) => {
return async function timeout2(context, next) {
let timer;
const timeoutPromise = new Promise((_, reject) => {
timer = setTimeout(() => {
reject(typeof exception === "function" ? exception(context) : exception);
}, duration);
});
try {
await Promise.race([next(), timeoutPromise]);
} finally {
if (timer !== void 0) {
clearTimeout(timer);
}
}
};
};
export {
timeout
};