Skip to content

All-digit filenames (e.g. 1968.epub) cannot be opened #900

Closed as not planned

Description

@pillarsdotnet

Summary

An EPUB whose filename stem is entirely digits (e.g. 1968.epub) cannot be opened. The book fails to load even though the file is a perfectly valid EPUB. Renaming it so the name contains at least one letter makes it open normally.

Steps to reproduce

  1. Put a valid EPUB on the device named with digits only, e.g. 1968.epub.
  2. Try to open it from the library/file list.

Expected

The book opens like any other EPUB.

Actual

The book will not open.

Scope — it is specifically an all-digit stem

Filenames that merely start with a digit open fine. On the same device, in the same folder, all of these work:

  • 0. Unlocked.epub
  • 1. Old Man's War.epub
  • 7. System Collapse.epub

Only a stem with no letters at all fails. This points at the name being parsed as a number somewhere rather than treated as a string.

The file itself is valid

The failing 1968.epub was checked independently and is a well-formed EPUB 2.0, structurally identical to sibling books that open without trouble:

  • unzip -t reports no errors; mimetype is the first entry, stored (uncompressed), and contains application/epub+zip.
  • No DRM / no META-INF/encryption.xml.
  • The OPF manifest and spine are internally consistent — every manifest href exists in the archive, every spine idref resolves to a manifest item, and the cover meta resolves.

So this is a filename-handling issue, not a bad book.

Workaround

Give the file any name containing a letter, e.g. 1968 - Joe Haldeman.epub. It then opens normally.

Environment

  • Xteink e-ink reader running CrossInk firmware. (Exact firmware version not recorded; happy to add it if it helps.)

Activity

  1. pillarsdotnet commented on Oct 28, 2026

    @pillarsdotnet
    Author

    Closing as not reproducible after controlled retesting.

    Minimal test case: two byte-identical minimal EPUBs, differing only in name — 1.epub (all-digit stem) and a.epub — were placed in the same folder on the SD card. CrossInk opened both without trouble.

    Original file retested: the originally failing book was renamed back to 1968.epub and now opens normally as well.

    One confounder worth noting for anyone who hits something similar: the rename round-trip (1968.epub → 1968 - Joe Haldeman.epub → 1968.epub) changes the book's path, and the EPUB layout cache under .crosspoint/epub_<hash>/ is keyed by a hash of the path. The retest therefore ran against a fresh cache. The original failure was most likely an ephemeral or stale-cache condition tied to that specific file at that moment, not an all-digit-filename parsing bug — the minimal 1.epub test rules out the filename itself as the cause.

    If an all-digit filename fails again, please capture serial logs during the failed open and note whether clearing the matching .crosspoint/epub_<hash>/ folder fixes it; that would localize the real cause.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions