Upstream Changes (1.5.0.4–1.5.0.5) 🔄
SD Card File Timestamps
- SD card files now carry accurate creation and modification timestamps, written from the RTC or system clock so that file timestamps on storage reflect real dates — no more "January 1, 1970" dates for imported files 📅
EPUB Reopen Position Parity (not ported — see below)
- Upstream fixed a page-jump bug in their progressive cache reader. Steroids does not need this fix because it uses a synchronous section-based reader that already preserves the exact saved page position reliably. Porting it would add unnecessary complexity.
New Utility Files Added
src/util/SdFatDateTime.cpp+TimeUtils.*— helpers for writing proper FAT timestamps to SD filessrc/activities/reader/ReaderPosition.h— reader position helper (self-contained, no behavior changes)- Unit tests added under
test/reader_position/for future use 🧪
README & Changelog Sync
- Version and change log updated to reflect the 1.5.0.4 / 1.5.0.5 merge 📝
Power Button Handling Fix 🔘
Short Press Now Responds to Settings Again
Previously, a brief press of the power button always put the device to deep sleep — even if, for example, you had selected "refresh screen" or "toggle status bar" to happen on a short press. Short press now correctly follows the chosen action from Settings → Control → Short Power Button Click:
- Refresh screen 🔄 — screen refreshes instantly
- Toggle status bar 📊 — status bar shows/hides
- Turn page 📖 — turns the page
- Ignore ⏸️ — does nothing
- Sleep 😴 — device sleeps as before
Long Press Still Sleeps (or Starts Screensaver)
Holding the power button for more than ~400 ms still triggers deep sleep. If the replacement screen saver is configured and you're reading, the long press starts the screen saver instead of deep sleeping — so you can review your last page before sleeping 🌙
Screen saver Dismissal Clean
When the screen saver is active and you briefly press the power button to dismiss it, the device no longer accidentally fires a screen refresh or page turn right after. The screen saver now cleanly handles the wake button event 🖼️➡️📖