From 285b6711dab785fe3d5b70bf5bb9448da78ba4c5 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Sat, 18 Apr 2026 22:34:10 -0400 Subject: [PATCH] Fix keyboard 0 not resetting zoom in fixed-layout books When pressing 0 to reset zoom, the code was calling removeAttribute('zoom') on the renderer, which removed the DOM attribute but left the internal zoom/transform state stale. This meant subsequent zoom operations would compound on the old hidden state. Replace with the new resetZoom() method that properly clears the numeric zoom and triggers a clean re-render. --- reader.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reader.js b/reader.js index a9f9a2a..3c11452 100644 --- a/reader.js +++ b/reader.js @@ -209,7 +209,7 @@ class Reader { renderer instanceof FixedLayout, ); if (renderer instanceof FixedLayout) { - renderer.removeAttribute("zoom"); + renderer.resetZoom(); renderer.dragOffset = { x: 0, y: 0 }; $("#zoom-reset").textContent = "100%"; console.log("[Reader Debug] ✅ Zoom reset"); @@ -346,7 +346,7 @@ class Reader { console.log("[Reader Debug] 🔄 Reset zoom via keyboard"); const renderer = this.view.renderer; if (renderer instanceof FixedLayout) { - renderer.removeAttribute("zoom"); + renderer.resetZoom(); renderer.dragOffset = { x: 0, y: 0 }; $("#zoom-reset").textContent = "100%"; console.log("[Reader Debug] ✅ Keyboard zoom reset");