summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0684b9b..72d7731 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,30 @@
+## 1.0.1 — 2026-11-09
+
+A review that drove the page in Chromium found that the 1.0.0 file **did not run at all**. Every fix
+below was reproduced before it was made.
+
+- **P0: the console showed `SyntaxError: Identifier 'config' has already been declared`** — a
+ duplicated `const config = loadConfig()` inside `fetchModels`, so no handler was ever bound: no
+ extraction, no translation, no config. Both inline scripts are now syntax-checked at packaging time.
+- **The API key was written to `localStorage`**, on an origin shared with the rest of the site, and the
+ **whole extracted document was stored** on every action. The key now lives in `sessionStorage`
+ (per tab, gone when the tab closes), old copies are scrubbed on load, and the document is never
+ persisted.
+- Extraction joins pages with `hasEOL` instead of spaces, so paragraphs survive.
+- Chunks split on word boundaries (they used to cut mid-word); the size is clamped to 500–5000.
+- A 200 response that is not JSON, or a reply without a `response` field, now reports the real error
+ instead of writing the literal text `undefined` into the editor and logging success.
+- Translate re-enables its button and hides the banner in a `finally`; `stopRequested` resets, so a
+ second run after Stop actually runs; a failed workflow step stops the workflow (the `break` used to
+ break only the `switch`).
+- A PDF with no text layer says so, disables Download/Translate and keeps the previous text.
+- `.PDF` (uppercase) is recognised as a PDF; the page count is shown after parsing.
+- Mobile: the `@media (max-width: 600px)` block was unterminated and held no rules — fixed and filled
+ in; the Fullscreen button no longer overlaps the first line of the editor.
+- Accessibility: the drop zone is a real `role="button"` with `tabindex="0"` and Enter/Space opens the
+ file picker; the file input stays in the accessibility tree; every visible label is associated and
+ the icon-only buttons carry `aria-label`s (39 controls, 0 unnamed).
+
## [1.0.0] - 2026-11-09
First packaged release: single-file browser app plus local PDF.js vendor assets.