Commit Graph
882 Commits
Author SHA1 Message Date
jpirnay f627d0e24b Explicit close 2026-04-27 11:31:00 +02:00
jpirnay bb338db11a Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader into refactor-progress-theme 2026-04-27 11:29:24 +02:00
jpirnay 874373a167 Simplify 2026-04-27 10:42:39 +02:00
Joel Goguen 3814f10b1b refactor: Clean up cppcheck finding causing tests to fail 2026-04-26 18:58:00 -04:00
jpirnay 5b0a7743d1 Cache reader progress 2026-04-26 23:21:19 +02:00
jpirnay 7e9c953127 cppcheck complaint 2026-04-26 23:11:18 +02:00
jpirnay c32757e4a1 Merge pull request #138 from jpirnay/feat-button-handler
feat: extended button handler
2026-04-26 18:19:09 +02:00
jpirnay edf7ce1ae2 Review comments 2026-04-26 17:57:26 +02:00
jpirnay 812269057d X3 fixes 2026-04-26 17:20:16 +02:00
jpirnayandCopilot 3046a1a94a More cleaningup
Co-authored-by: Copilot <copilot@github.com>
2026-04-26 17:12:52 +02:00
jpirnayandCopilot f0fe02d77a Update logic to avoid collision
Co-authored-by: Copilot <copilot@github.com>
2026-04-26 16:46:22 +02:00
jpirnayandCopilot 6cd7d46d61 cppcheck complaint
Co-authored-by: Copilot <copilot@github.com>
2026-04-26 15:50:18 +02:00
jpirnay 415adce842 Wait longer for last network 2026-04-26 12:43:57 +02:00
jpirnay a1d0ddec49 Introduce extended button handler 2026-04-26 12:26:29 +02:00
jpirnay a0d71333aa Retry more networks on autoconnect 2026-04-26 10:05:16 +02:00
jpirnay c1e51ac8a2 edit wifi networks in webui (upstream #1743 by osteotek) 2026-04-25 12:10:38 +02:00
jpirnay be6b7fa0c6 Finer granularity of popup methods 2026-04-25 10:32:49 +02:00
jpirnay 920a9e035c Reduce popup progress frequency 2026-04-25 10:24:04 +02:00
jpirnay a73836c594 cppcheck complains 2026-04-24 18:08:37 +02:00
jpirnay 76bed0b381 Amend stats 2026-04-24 17:27:50 +02:00
jpirnay 646001a672 Add benchmark 2026-04-24 17:08:53 +02:00
jpirnay 4cfd031cab And even more 2026-04-24 14:48:12 +02:00
jpirnay 5068817549 review induced changes 2026-04-24 14:25:11 +02:00
jpirnay 9a72409826 Fixing submenus 2026-04-24 14:17:50 +02:00
jpirnay ec36670485 Show default values 2026-04-24 12:54:17 +02:00
jpirnay 751f523295 Cluster tools section 2026-04-24 12:50:47 +02:00
jpirnay 0c080f5600 Refactor submenu creation logic 2026-04-24 12:44:08 +02:00
jpirnayandCopilot 7533ed1a9c Add font foverrides to reader menu
Co-authored-by: Copilot <copilot@github.com>
2026-04-24 11:38:55 +02:00
jpirnay 0b1599a5eb Honor local image display setting 2026-04-24 10:40:29 +02:00
jpirnay 1bf0278eec Autorefresh after image pages to get rid of ghosting artifacts (#116) 2026-04-24 10:30:07 +02:00
jpirnay 2faeb550fa More fixes 2026-04-23 22:35:07 +02:00
jpirnay 4346292340 Add additional file indicators 2026-04-23 22:21:43 +02:00
jpirnayandCopilot c04153ec5a Address cppcheck
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 22:14:41 +02:00
jpirnayandCopilot e968a54e77 Improve nested lists
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 22:04:19 +02:00
jpirnayandCopilot e0c42278ad Stupid fix
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 21:51:22 +02:00
jpirnay c2d51d6772 clang 2026-04-23 21:39:27 +02:00
jpirnay cf376df34c Rename 2026-04-23 21:37:52 +02:00
jpirnayandCopilot 35735b5175 Add code style
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 21:36:31 +02:00
jpirnayandCopilot 01a9d7cb36 Add TOC support
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 21:27:14 +02:00
jpirnay a90290a596 add Markdown (.md) file reader with formatting support #1698 by dcherrera 2026-04-23 21:00:19 +02:00
jpirnay a2f31f06e7 adress cppcheck complaint 2026-04-23 19:45:38 +02:00
jpirnay 6053ef4756 Review comments 2026-04-23 17:08:08 +02:00
jpirnay 9621dc1181 Cleanup startup 2026-04-23 16:44:27 +02:00
jpirnay 42fa3a4ac8 clang 2026-04-23 12:19:55 +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 0d68162a07 show long branch names (#1727) 2026-04-23 09:33: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 157a19ff35 Address cppcheck issue 2026-04-21 22:04:07 +02:00