Skip to content

Releases: rephlex00/sn-reader

2026.07.9

Choose a tag to compare

@rephlex00 rephlex00 released this 31 Jul 17:04

A small one, all of it in the row of controls across the top of a book.

The toolbar

  • The order is now the ribbon, Contents, then Aa. The ribbon and Contents are both about the
    book — where you have been, and where you are going. Aa is about the page, so it follows them
    rather than sitting between them.
  • They are an even distance apart. Measured on the panel, the gap in front of Aa was 44dp where
    every other gap in the row was 28dp. It is 28dp now, in portrait and in landscape, and Aa still
    ends on the same margin the begins on at the other end of the row.

Nothing else changed. This replaces 2026.07.8, whose build never produced an APK — a
test that only ever loses its race on the build machine, since fixed. If you are already on
2026.07.7 there is no reason to hurry.

2026.07.7

Choose a tag to compare

@rephlex00 rephlex00 released this 31 Jul 15:45

The largest release so far: Kindle books open, and every surface in the app has been redrawn.

Kindle books

.mobi, .azw and .prc files now open, and once open there is nothing to tell you which format
you are reading. They sit in the same library grid, with the same cover and progress badge, and the
same chapters, marks, notes and typography controls as an EPUB.

  • Chapters come from the book's own table of contents, and from its page breaks when it has no
    contents page. A book with neither is still readable as one long chapter.
  • Covers and titles are taken from the file's own metadata, so a shelf of Kindle books looks
    like a shelf of books rather than a list of filenames.
  • A DRM-protected book is refused by name — Reader says the book is encrypted, in those words,
    rather than failing silently or blaming the file. Reader does not remove DRM.
  • AZW3 (KF8) files are not read yet, and say so. Many .azw3 files carry an older copy of the
    book inside them; Reader would rather tell you it cannot read the good one than quietly show you
    the worse one.

The app, redrawn

One typeface, five greys, and one shape for every choice you make. Every value is a level this
particular panel can actually hold, so nothing on screen is dithered into a smear.

  • The shelf holds twelve boards to a page and gets out of the way — search, filter and sort are
    hidden until you ask for them, and it holds still while you type instead of reshuffling under
    your hand.
  • The reading chrome is one row of marks with the book's title beside the way out, and a
    running head below it carrying the chapter where a printed page puts it. In landscape that second
    row folds away and the chapter moves up, giving the page its height back.
  • Typography is a sheet over the live page, in three tabs, so choosing a face or a size shows
    you the result on the words you were reading instead of after you close the panel.
  • Chapters, marks and notes are one surface. They all answer "where am I in this book", and in
    print they are all back matter.
  • A mark now carries its page's opening words, so a list of marks reads as a list of places
    rather than a list of numbers.
  • Comics got the book's chrome, in the same shape, plus the ribbon — so learning one reader
    teaches you the other.

Things that were quietly wrong

  • The chrome no longer slices a line of text in half. Opening it used to leave a strip of
    half-glyphs against the bar's rule; now the bar meets blank paper.
  • The page steps back while the chrome is over it — one panel level, the smallest this display
    can hold flat — so the white bars read as the thing you are touching rather than as more page.
    The words themselves are untouched.
  • The controls at the edges of the screen can be hit. The and sat in boxes with 32dp of
    dead glass beside them, which is the exact strip a thumb lands on when you aim at a corner. They
    now reach the edge, without any mark moving.
  • Book titles read as words, not as the filename someone happened to save.
  • Portrait and landscape keep their own type settings. Set the size you like reading sideways
    and it stops fighting the size you like reading upright. Until you change something in an
    orientation, it follows the other one.

Also

A new launcher icon, and the shelf's two pictograms drawn in the app's own hand rather than
borrowed.


Two limits worth knowing. Comics are still portrait only and still have no zoom. And a
genuine RAR archive still does not open — a .cbr that is really a zip, which most are, does.

Your library, reading positions, marks, highlights and notes are all kept. A one-time database
upgrade runs on first launch, and page previews are rebuilt per book as you open them, since where
the pages fall has moved.

2026.07.6

Choose a tag to compare

@rephlex00 rephlex00 released this 27 Jul 18:40

Pictures. A book that drew a small illustration at the head of each chapter was drawing it twice,
and both copies too small.

Fixed

  • Chapter illustrations appeared twice, at two different sizes. Books converted for the Kindle
    routinely carry two copies of the same picture — one for each of Amazon's two formats — and hide
    the spare one. Reader was not reading the instruction to hide it, so it drew both. This also
    stops Reader reading the things those books hide on purpose, like print-edition page numbers and
    a second, redundant table of contents, as though they were part of the story.
  • Every picture in a book was drawn at roughly half the size it was meant to be. Book
    illustrations are sized for an ordinary screen, and Reader was taking those sizes literally on a
    much finer one — so a chapter ornament covered a fifth of the page instead of a third. Pictures
    are now drawn at their intended size, still centered, and still shrunk to fit when they are
    larger than the page. A full-page illustration looks exactly as it did; it is the small ones
    that were wrong.

Page previews are rebuilt once per book after this update, since where the pages fall has moved.
Your library, positions, bookmarks and highlights are untouched.

2026.07.5

Choose a tag to compare

@rephlex00 rephlex00 released this 27 Jul 03:53

Mostly a repair release, from an audit of the whole app: a library that could forget your books, a
handful of readable books that refused to open, footnote markers set wrong, and a good deal of work
the reader was doing when it should have been sitting still.

Comics get the reader's chrome

A comic now carries the same reading furniture as a book — a timeline you can drag with a floating
preview of the page you would land on, to jump back after a scrub or a bookmark, and the
reader's own bookmarks panel. A comic has no chapters, so the track is one plain run rather than a
ticked one, and previews are decoded as you drag. The page still never repaints mid-drag.

Fixed

  • A folder Reader could not read made it forget every book underneath it, along with their
    bookmarks and highlights. A scan that cannot be completed is now treated as incomplete rather
    than as empty, and nothing is removed on the strength of it. This is the most serious thing in
    this release.
  • Footnote markers were set as ordinary text — a sentence ending in one read as people.2.
    Superscripts and subscripts are now raised and set smaller, as in print. A second fault sat under
    that one: in a book carrying print-edition page anchors, one marker after every anchor was
    quietly losing its superscript before it ever reached the page.
  • A bookmark Reader could not place crashed the book on open, every time, with no way back in.
  • Books that refused to open as DRM-protected when their encryption file declared nothing at
    all. Those open now; anything genuinely encrypted is still refused.
  • Text that decoded as garbage when a chapter was stored as UTF-16 or carried a byte-order mark.
  • Cancelling a scrub left you on the wrong page.
  • The chapter-end tick going missing when you turned the progress bar on, hanging indents clipping
    at the left margin, a stray separator after an empty block, old highlights surviving a replaced
    book file, #fragment and root-relative links, and case in a comic's ComicInfo.xml.

Smaller and quieter

  • The APK is about a quarter of the size — 9.9 MB down to 2.1 MB.
  • Page previews are reused instead of rebuilt, preview decoding and strip eviction moved off the
    reading thread, the scrubber stopped recomputing its geometry every frame, and a cover that has
    already failed to decode is not retried on every scroll past it.

Full notes in CHANGELOG.md.
Install with adb install -r sn-reader-2026.07.5.apk — your library, positions, bookmarks and
highlights are kept.

2026.07.4

Choose a tag to compare

@rephlex00 rephlex00 released this 26 Jul 01:54
be89800

Comics

Comic archives now open alongside your books. A comic shows one page per screen, fit to the
display, turned with the same taps as a page of text — and it sits in the same library grid, with
its first page as the cover and the same progress badge in the corner.

  • CBZ, and CBR files that are really zips — which most are. Reader decides by looking inside the
    file rather than trusting its extension, so a comic named .cbr that a tool actually wrote as a
    zip opens without complaint.
  • A genuine RAR archive does not open yet. Reader says so in the library, in those words, rather
    than failing silently or blaming the file. Adding RAR later changes nothing else.
  • Reading direction comes from the archive's ComicInfo.xml, and there is a control in the
    reader to flip it per book — so a manga reads right-to-left and the tap zones follow.
  • Your place is kept, per comic, the same way it is for a book, and bookmarks work by page.
  • Reader reads ComicInfo.xml for the series, number, title and author when it is there, and falls
    back to the filename when it is not.

Two limits worth knowing up front. Comics are portrait only — turning the tablet sideways will
not give you a two-page spread the way a book does. And pages are shown fit to the screen with no
zoom
, which suits manga and line art well; dense colour lettering can be marginal at that size.

2026.07.3

Choose a tag to compare

@rephlex00 rephlex00 released this 24 Jul 17:17

Reading progress moves onto the cover

In the library, a book's reading percentage now sits as a small badge in the corner of its cover,
instead of a line of text under the title. That line is freed up for readable books; only a book
that cannot be opened still uses it, to say why.

The progress bar marks where the chapter ends

The thin progress bar at the foot of a page now carries a short tick at the point the current
chapter ends, alongside the mark for how far you are through the whole book. Glance at it and you
can tell how much of the chapter is left, not just how far into the book you are.

A contents page, set like a printed one

Contents now reads like the contents page of a printed book rather than a plain list: the book's
own serif face (Literata), a letterspaced "Contents" heading over a rule, and leader dots running
from each entry across to its place in the book. The current chapter is bold; nested entries are
italic.

That place is shown as a percentage rather than a page number, on purpose — a real page number
would mean paginating the whole book every time you open Contents, which Reader avoids.

Menus repaint faster

Menus and panels — Contents, Bookmarks, Highlights, the Aa sheet — now open in a fast e-ink refresh
mode, so scrolling and tapping in them repaints quickly. The book page itself still gets the crisp,
full-quality refresh, and it is cleaned up the moment you close a panel.

A chapter scrubber

A slider now runs along the bottom of the reading chrome, raised clear of the very edge so it is
easier to catch with a thumb, with a tick for every chapter. Drag it to move through the whole
book.

  • Dragging near a chapter boundary snaps to it, like a detent on the slider, so landing exactly on
    a chapter start doesn't mean hunting for the pixel. Releasing on a snapped chapter now opens that
    chapter's first page — it used to occasionally land on the tail end of the chapter before it.
  • Wherever you've placed a bookmark, a small glyph marks its spot on the track.
  • A floating window above your finger shows a preview of the page you'd land on. The first time you
    open a book, Reader renders a strip of sampled page thumbnails once in the background — a few
    seconds, invisible while you keep reading, a few megabytes on disk — and every drag after that
    shows the preview instantly, with no wait. The track itself is visible now, and while that strip
    is being built each chapter's stretch draws as a run of fine dots until its thumbnails are ready,
    then turns solid — open the scrubber early in a fresh book and you can watch it fill in.
  • The whole timeline has been redrawn for the panel it lives on: everything is weight rather than
    color — four grays, a rounded track, chapter ticks that thin out while pending, crowded chapter
    marks merging into a single cluster mark instead of smearing together, and a thumb that grows
    under your finger and shows a firm detent line when it snaps to a chapter. The readout above it
    is set in Literata with tabular figures, so the percentage doesn't shiver as it counts.
  • The page itself still never repaints while you drag — only the preview window and a readout
    update. The full page is drawn once, when you lift your finger, keeping a long scrub to a single
    clean refresh instead of a flurry of them.
  • The scrubber no longer turns the page while your finger is still resting on it. The Nomad's touch
    panel sometimes reports a light, resting finger as lifted — so Reader now obeys a release only
    when the gesture made its intent plain: a crisp tap, or a drag with normal finger pressure. Any
    other release just holds: the thumb and preview stay where you left them, touching the track
    carries on scrubbing, and a tap on the preview window (or the track) turns the page. The one
    trade, stated plainly: a very light drag no longer jumps the moment you let go — the preview
    waits for that confirming tap instead.
  • appears after a jump — a scrub, a Contents tap, a bookmark or highlight jump — to return to
    exactly where you were, and it's a bit bigger now, easier to catch with a thumb.
  • Page previews can be turned off from the Aa sheet, for anyone who'd rather skip the background
    generation entirely — the track goes solid and the window stops appearing. A live count while a
    strip is being built shows how many chapters are done, and a book's previews can be deleted to
    reclaim the disk space without touching the toggle.

2026.07.2

Choose a tag to compare

@rephlex00 rephlex00 released this 21 Jul 16:54

Landscape reading, in two columns

Turning the tablet sideways now splits the page into two columns with a gutter between them,
instead of running one column the full width of the screen. A single column across a landscape
panel reaches roughly a hundred characters a line, well past what is comfortable to read, and the
shortened screen leaves few lines on it. Two columns put the measure back where it belongs and give
you a spread, like an open book.

  • A tap turns the whole spread — both pages at once.
  • The running foot names both pages, pages 3–4 of 12.
  • A spread never runs across a chapter boundary, so a chapter with an odd number of pages ends with
    a blank right-hand column, as a printed book does.
  • Rotating keeps your place: the text you were reading stays on screen, which is not the same as
    staying on the same page number, since the page numbers themselves change when the text reflows.
  • Rotating does not reopen the book. It costs one clean refresh, not a reload.
  • Lock rotation in the Aa panel pins the reader to whichever way it is currently facing, for
    reading on your side. The shelf and settings screens stay upright either way.

Fixed

  • The running foot was drawing at raw pixels, so the chapter name and page count sat at roughly a
    third of their intended size on a Nomad. They are now legible. The same fault was silently
    shrinking the highlight caret and the switch outlines in the Aa panel, and those are fixed too.
  • Scene breaks were invisible. A break between scenes now prints a centered * * * rather than
    blank space, which was indistinguishable from an ordinary paragraph gap — and vanished entirely
    when it happened to fall at the foot of a page. Every publisher's way of writing one (***,
    ---, a row of dashes, and others) is normalised to the same mark.
  • Text no longer runs underneath the progress bar at the narrow margin setting. The space the bar and
    running foot need is now reserved out of the page, so how large that text is and how wide your
    margins are no longer fight each other.

Install with adb install -r sn-reader-2026.07.2.apk. Your library, positions, bookmarks and highlights are kept across an update.

2026.07.1

Choose a tag to compare

@github-actions github-actions released this 20 Jul 20:00