Releases: CryptoJones/ClarkReader
Release list
v1.2.5: clean lint, hardware and platform notes
Changes
-
The bundled Mozilla Readability no longer assigns
innerHTMLanywhere. Its two lint warnings are gone andweb-ext lintis clean. Extraction output is unchanged, verified against the unpatched file. See #12. -
The README has a new Hardware and platforms section: the server uses a CUDA GPU when PyTorch can see one and the CPU otherwise, with measured synthesis times for both. A CPU is enough.
-
The store text and the welcome page now say Linux is the only tested platform. macOS and Windows should work but have not been tried.
-
Long words and URLs fit the word window (from 1.2.4).
-
Firefox: install from the store listing once reviewed, or open the signed
.xpifrom./sign.sh. -
Chrome: unzip the Chrome package and load it unpacked from
chrome://extensionswith Developer mode on.
The local server from this repository is required. See the README. 27 extension tests, 44 server tests.
Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/
v1.2.4: long words fit the word window
Fix
Long words and URLs ran past the edge of the word window. The red pivot letter is pinned to the centre of the box, so each half of a word only had half the width, and a long tail past the pivot was clipped. Each word is now measured and scaled to fit with the pivot still pinned; a token too long for that, such as a bare URL, is centred whole at a readable size. The word refits when the reader is maximized or the window is resized. See #11.
- Firefox: install from the store listing once reviewed, or open the signed
.xpifrom./sign.sh. - Chrome: unzip the Chrome package and load it unpacked from
chrome://extensionswith Developer mode on.
The local server from this repository is required. See the README. 27 extension tests, 44 server tests.
Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/
v1.2.3: Firefox store submission
Version bump for the first listed submission to addons.mozilla.org; no code change from 1.2.2.
- Firefox: once reviewed, install from the store listing. Until then, or for the unlisted build, open the signed
.xpifrom./sign.sh. - Chrome: unzip the Chrome package and load it unpacked from
chrome://extensionswith Developer mode on.
The local server from this repository is required. See the README.
Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/
v1.2.2: stale-background fix, store images
Fix
An unpacked extension whose files were updated in place could show a new popup talking to Chrome's old, cached background worker, so Read entire document answered "Nothing selected." The popup now detects a background older than the files on disk and reloads the extension itself. Open the popup once and it heals.
Store listing images
store/ in the repository holds the screenshots, promo tile and marquee for the Chrome Web Store and addons.mozilla.org listings.
The zips are the store packages. 26 extension tests, 44 server tests. See #6.
Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/
v1.2.1: EPUBs
Read EPUBs
Chrome cannot open an EPUB, so tools/read_epub.py turns one into pages it can:
tools/read_epub.py "Mona Lisa Overdrive.epub"It writes a contents page with cover and chapter list, adds Previous / Contents / Next links to each chapter, and builds book.html with the whole book in reading order for Read entire document and its bookmark. Standard library only. Chapter titles come from the EPUB's own table of contents, or its headings, or the first short line of each chapter for converted books whose TOC is empty.
Chrome needs one setting flipped once: chrome://extensions → ClarkReader → Details → Allow access to file URLs.
Extension
- Whole-document cap raised to a million characters so a novel is not cut off.
- The overlay no longer receives the sentence list it never used.
The zips are the store packages. 44 server tests, 25 extension tests. See #5.
Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/
v1.2.0: whole documents, resume, maximized reader, store-ready
Read entire documents, and pick up where you left off
- Read entire document:
Alt+Rwith nothing selected, Read entire document with Emma in the context menu, or the popup button reads the page's main content (Mozilla Readability, vendored). The title is spoken first and shown in the header. - Resume: a document you stop partway remembers its place per URL. Reading it again resumes there; the popup offers Resume reading document · n / N, and Read entire document starts over. Finishing clears the bookmark.
- Maximize: ⤢ in the header or
Alt+Mfills the tab with the word window;Escrestores. Remembered across reads.
Under the hood
- Server audio cache bounded per job (a whole document no longer costs hundreds of MB); a bad sentence is skipped instead of ending the read.
- Server answers cross-origin requests from extension origins only. Restart the server to get this:
systemctl --user restart clarkreaderor rerunserver/run.sh. - Store readiness: minimum Chrome 116, optional host permissions for a server on another machine (the Chromebook case), a setup guide on first install and from every "cannot reach the server" error, permission justifications and privacy policy in the README.
Install
The zips below are the store packages: unzip and load unpacked (Chrome: chrome://extensions with Developer mode; Firefox: about:debugging, temporary add-on). The server must be installed and running; the extension opens the guide on first install.
25 extension tests, 37 server tests. See #4.
v1.1.0: word window synced to the voice
Word window (RSVP) synced to the voice
The overlay now shows each word as it is spoken, one at a time at a fixed spot, Spritz-style: the optimal-recognition letter in red, guide lines with a tick at the pivot column, a progress bar across the selection and a live WPM readout. The pace is the voice's, not a dial. Kokoro's per-token timestamps are merged into words on the server and served from a new GET /words/<job>/<i>; the player passes them to the overlay with the playback position, and the overlay runs its own clock. Pause freezes on the current word.
- Servers without
/wordsand non-English voices fall back to length-weighted even spacing. - Switch the window off from the toolbar popup if you only want the audio.
Install
Unzip the build for your browser and load it unpacked (Chrome: chrome://extensions with Developer mode; Firefox: about:debugging as a temporary add-on). The server must be restarted to pick up the new endpoint: systemctl --user restart clarkreader or rerun server/run.sh.
Tests
11 extension tests, 26 server tests. See #3.