Commit Graph
125 Commits
Author SHA1 Message Date
jpirnay 5bb3980dc0 Add quick resume 2026-05-21 23:13:28 +02:00
jpirnay 1837b9ae92 Merge branch 'master' into feat-reading-stats 2026-05-21 11:38:59 +02:00
jpirnay c5b8c55c04 Some fixes 2026-05-20 20:56:03 +02:00
jpirnay 61e1f8b145 Refactor font download 2026-05-20 18:51:24 +02:00
jpirnay 02adb40f95 Add delay + logs 2026-05-20 14:35:41 +02:00
jpirnay b1e430f1ca Some font management improvements 2026-05-20 14:11:50 +02:00
jpirnay 375c73b03b Phase 6 - remaining time info 2026-05-20 09:55:49 +02:00
jpirnay 63e9dfe59a Phase 6 - web dashboard 2026-05-20 00:54:14 +02:00
jpirnay 5057345b2b Adapat PR 1947 / 1968 to fix JS optimizer 2026-05-17 16:33:40 +02:00
jpirnay f1b8b75002 stream WebDAV downloads in chunks to prevent client disconnects 2026-05-15 14:23:19 +02:00
jpirnay 3dfcdd002f Rearrange menus + fixes 2026-05-14 23:44:30 +02:00
jpirnay bd397b6de0 Fix oversight 2026-05-13 22:48:46 +02:00
jpirnay 776728d8e8 Consolidate cache directories 2026-05-13 22:10:13 +02:00
jpirnay d6fd744b3c Font Manager overhaul 2026-05-13 12:39:24 +02:00
jpirnay 2b1dbb6737 Add extended TiltModel 2026-05-11 16:29:40 +02:00
jpirnay 9cd732bfd8 Amend error code 2026-05-08 23:37:03 +02:00
Joel Goguen 3a612df4b5 feat: Allow OTA update to beta releases 2026-05-07 23:29:15 -04:00
jpirnay a0aee0ba1b SD-card firmware update + X3 bootloader compatibility (#1786) 2026-05-07 19:38:12 +02:00
jpirnay 444be74249 Review comments 2026-05-04 13:59:28 +02:00
jpirnay 4c936853b9 Fix webui font download 2026-05-04 13:17:02 +02:00
jpirnayandCopilot 3df8ce56de Font Manager Update
Co-authored-by: Copilot <copilot@github.com>
2026-05-04 00:34:17 +02:00
jpirnay 5617db3ad2 Fix font-location 2026-05-03 22:42:54 +02:00
jpirnay 5970f8b136 yaclf 2026-05-02 23:41:01 +02:00
jpirnay ab8e7ef108 Review induced changes 2026-05-02 23:14:35 +02:00
jpirnay e83c5ed80d Update 2026-05-02 23:10:57 +02:00
jpirnay 5b863cc794 yaclf 2026-05-02 23:00:41 +02:00
jpirnayandCopilot 40008799cf Add download feature to fonts page
Co-authored-by: Copilot <copilot@github.com>
2026-05-02 22:53:22 +02:00
jpirnayandCopilot cc9ff5bae9 More review changes
Co-authored-by: Copilot <copilot@github.com>
2026-05-02 18:42:45 +02:00
jpirnayandCopilot 06dfc6c50b Recover parts of the regression fiasco
Co-authored-by: Copilot <copilot@github.com>
2026-05-02 18:19:23 +02:00
jpirnayandCopilot a5469c0bb9 Review comments
Co-authored-by: Copilot <copilot@github.com>
2026-05-02 17:22:10 +02:00
jpirnay df94ccaa86 Recover from merge fiasco 2026-05-02 16:54:31 +02:00
jpirnay 6df7418e58 Merge pull request #151 from jgoguen/ota-boot-fix
fix(ota): Correctly select the partition to write to
2026-04-29 09:15:53 +02:00
Joel Goguen d148f7290d fix(ota): Correctly select the partition to write to
There was an off-by-one error selecting the new partition, meaning the OTA
update would write to the second partition but the boot would be set to the same
one we're currently in.

I believe this should fix jpirnay/crosspoint-reader#112
2026-04-28 21:26:52 -04:00
Joel Goguen af58db7314 refactor(network): Stream parse JSON response from GitHub
While working on enabling OTA for beta updates I kept running into memory issues with the JSON from GitHub. This improves the situation even for the stable OTA releases so I'm putting it up on its own.
2026-04-28 20:20:48 -04:00
jpirnay aa9fae16d9 Integrate upstream #1392 by adriancaruana 2026-04-28 10:00:22 +02:00
jpirnay c1e51ac8a2 edit wifi networks in webui (upstream #1743 by osteotek) 2026-04-25 12:10:38 +02:00
jpirnay 4346292340 Add additional file indicators 2026-04-23 22:21:43 +02:00
jpirnay 6053ef4756 Review comments 2026-04-23 17:08:08 +02:00
Arthur TazhitdinovandCopilot c867669560 feat: Support for multiple OPDS servers (#1209)
* Add support for configuring and using multiple OPDS servers, replacing
the previous single-server limitation. Closes
https://github.com/crosspoint-reader/crosspoint-reader/issues/1178
* New OpdsServerStore singleton (modeled after WifiCredentialStore) that
persists up to 8 OPDS servers to /.crosspoint/opds.json with MAC-based
password obfuscation.
* One-time migration from legacy single-server fields in
CrossPointSettings to the new store on first boot.
* New OpdsServerListActivity for the device UI — works in two modes: a
settings list (add/edit/delete servers) and a picker (select which
server to browse). When only one server is configured, the picker is
skipped automatically.
* Renamed CalibreSettingsActivity → OpdsSettingsActivity for clarity. It
now edits individual OpdsServer entries (name, URL, username, password,
delete).
* OpdsBookBrowserActivity now receives an OpdsServer at construction and
uses its credentials for all fetches/downloads, and shows the server
name in the header.
* HttpDownloader::fetchUrl and downloadToFile accept optional per-call
username/password parameters instead of reading from global settings.
* REST API endpoints on CrossPointWebServer: GET /api/opds, POST
/api/opds, POST /api/opds/delete — passwords are never exposed over the
API (only a hasPassword flag), and omitting the password field on update
preserves the existing one.
* Web UI (SettingsPage.html) with dynamic OPDS server management cards —
add, edit, save, and delete servers from the browser.
<img width="932" height="906" alt="SCR-20260416-stvu"
src="https://github.com/user-attachments/assets/a8f18d84-4204-46a0-bb31-b73d24b3255f"
/>

* The OpdsServerStore JSON format and obfuscation scheme are identical
to WifiCredentialStore, so the same JsonSettingsIO infrastructure
handles both.
* The web API uses POST /api/opds/delete instead of DELETE /api/opds
because the ESP32 WebServer doesn't support the DELETE method with a
request body.
* Existing single-server configurations are migrated automatically — no
user action required. After migration the legacy CrossPointSettings
fields are cleared so it only runs once.
* The HttpDownloader changes are backward-compatible: the credential
parameters default to empty strings, so existing callers are unaffected.

---

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? _**< YES >**_

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-23 11:14:50 +02:00
jpirnay 8ff8418441 pluralize folder/file counts correctly in file list summary (#1701) 2026-04-23 09:30:50 +02:00
jpirnay 4981086a1d Update html title strings according to #1703 2026-04-23 09:29:28 +02:00
jpirnay 7da8b335ab Review comments 2026-04-21 22:16:23 +02:00
jpirnay f6f18dcf15 Write directly 2026-04-21 18:27:59 +02:00
jpirnay df171560db Fix firmware download 2026-04-21 17:16:19 +02:00
jpirnay d4c475470b Allow cancellation of download, dont block the device 2026-04-21 14:26:21 +02:00
jpirnay 425c1db132 Review comments 2026-04-20 21:16:31 +02:00
jpirnay a6aed8d30e Add additional timezones 2026-04-20 20:40:38 +02:00
jpirnay ab9d47aac9 Review comments 2026-04-20 10:12:20 +02:00
jpirnay 26fb4d3b5a Cosmetic + sorting 2026-04-20 09:05:02 +02:00
jpirnay c8a02a8daa Folder move, multiple items move 2026-04-20 08:44:43 +02:00