Xteink-X4-crosspoint-reader/src
Logan Garbarini d399afb53d
feat: invalidate cache on web uploads and opds downloads and add Clear Cache action (#393)
## Summary

When uploading or downloading an updated ebook from SD/WebUI/OPDS with
same the filename the `.crosspoint` cache is not cleared. This can lead
to issues with the Table of Contents and hangs when switching between
chapters.

I encountered this issue in two places:
- When I need to do further ePub cleaning using Calibre after I load an
ePub and find that some of its formatting should be cleaned up. When I
reprocess the same book and want to place it back in the same location I
need a way to invalidate the cache.
- When syncing RSS feed generated epubs. I generate news ePubs with
filenames like `news-outlet.epub` and so every day when I fetch new news
the crosspoint cache needs to be cleared to load that file.

This change offers the following features:
- On web uploads, if the file already exists, the cache for that file is
cleared
- On OPDS downloads, if the file already exists, the cache for that file
is cleared
- There's now an action for `Clear Cache` in the Settings page which can
clear the cache for all books


Addresses
https://github.com/crosspoint-reader/crosspoint-reader/issues/281

---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? PARTIALLY

---------

Co-authored-by: Dave Allie <dave@daveallie.com>
2026-01-22 00:06:07 +11:00
..
activities feat: invalidate cache on web uploads and opds downloads and add Clear Cache action (#393) 2026-01-22 00:06:07 +11:00
images Move to SDK EInkDisplay and enable anti-aliased 2-bit text (#5) 2025-12-08 19:48:49 +11:00
network feat: invalidate cache on web uploads and opds downloads and add Clear Cache action (#393) 2026-01-22 00:06:07 +11:00
util feat: invalidate cache on web uploads and opds downloads and add Clear Cache action (#393) 2026-01-22 00:06:07 +11:00
Battery.h Public release 2025-12-03 22:06:45 +11:00
CrossPointSettings.cpp feat: dict based Hyphenation (#305) 2026-01-19 12:56:26 +00:00
CrossPointSettings.h feat: dict based Hyphenation (#305) 2026-01-19 12:56:26 +00:00
CrossPointState.cpp Ensure new custom sleep image every time (#300) 2026-01-14 21:05:08 +11:00
CrossPointState.h Ensure new custom sleep image every time (#300) 2026-01-14 21:05:08 +11:00
fontIds.h feat: Include superscripts and subscripts in fonts (#463) 2026-01-21 22:42:41 +11:00
main.cpp fix: hard reset via RTS pin after flashing firmware (#437) 2026-01-21 23:35:23 +11:00
MappedInputManager.cpp Add button mapping for Left, Back, Confirm, Right (#173) 2025-12-31 02:46:35 +11:00
MappedInputManager.h Add exFAT support (#150) 2025-12-30 16:09:30 +11:00
RecentBooksStore.cpp My Library: Tab bar w/ Recent Books + File Browser (#250) 2026-01-21 11:38:38 +00:00
RecentBooksStore.h My Library: Tab bar w/ Recent Books + File Browser (#250) 2026-01-21 11:38:38 +00:00
ScreenComponents.cpp My Library: Tab bar w/ Recent Books + File Browser (#250) 2026-01-21 11:38:38 +00:00
ScreenComponents.h My Library: Tab bar w/ Recent Books + File Browser (#250) 2026-01-21 11:38:38 +00:00
WifiCredentialStore.cpp Add exFAT support (#150) 2025-12-30 16:09:30 +11:00
WifiCredentialStore.h Add connect to Wifi and File Manager Webserver (#41) 2025-12-20 01:05:43 +11:00