Commit Graph
953 Commits
Author SHA1 Message Date
jpirnayandCopilot ebb80bf4d9 Make SdCardFont explicitly non-copyable and non-movable
Co-authored-by: Copilot <copilot@github.com>
2026-04-28 18:41:48 +02:00
jpirnay 1f10e91c23 Preserve continuation boundaries when building SD prewarm text 2026-04-28 18:40:37 +02:00
jpirnay 2694081af9 Use bitmap.pitch instead of assuming tightly packed rows 2026-04-28 18:14:58 +02:00
jpirnay ad2e3765ba Some environment cleaning 2026-04-28 18:09:36 +02:00
jpirnayandCopilot fd35b50ff9 Some minor fixes
Co-authored-by: Copilot <copilot@github.com>
2026-04-28 18:06:56 +02:00
jpirnayandCopilot c84b971455 Fix signature
Co-authored-by: Copilot <copilot@github.com>
2026-04-28 17:46:37 +02:00
jpirnay 639a9f350c Address hyphen review comment 2026-04-28 16:18:53 +02:00
jpirnay 6e26fd7e14 And one more 2026-04-28 16:16:18 +02:00
jpirnay 2c9a6d7d31 One more 2026-04-28 16:09:59 +02:00
jpirnay 8a2bc9f425 Some review comments 2026-04-28 15:47:51 +02:00
jpirnay 4c8517cf67 Improve pre warm caching 2026-04-28 15:12:11 +02:00
jpirnay aa9fae16d9 Integrate upstream #1392 by adriancaruana 2026-04-28 10:00:22 +02:00
pablohc 53ca4f30d5 fix: keyboard feedback #1644 (#1697)
Addresses reviewer feedback from #1644:
- **Localize keyboard hint strings** — 13 hardcoded English strings
replaced with \`tr()\` macro (\`STR_KB_HINT_*\`), making them
translatable across all 22 languages (fallback to English when not yet
translated)
- **Deduplicate \`Lyra3CoversMetrics\`** — now derives from
\`LyraMetrics\` via lambda copy, overriding only \`homeCoverTileHeight\`
and \`homeRecentBooksCount\` (eliminates ~30 duplicated metric fields)
- **Unify keyboard drawing in \`BaseTheme\`** — \`drawTextField\` and
\`drawKeyboardKey\` overrides removed from \`LyraTheme\`; variability
controlled via \`keyboardKeyCornerRadius\` metric (0=Base, 6=Lyra).
Unified text field padding to 6, adopted Lyra's secondary label draw
order (main first, then secondary)
- **Add URL-optimized keyboard layout** — \`urlLayout\` with \`:\` and
\`/\` replacing \`=\` and \`,\` for easier URL input without switching
to SYM mode
---

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 **_
2026-04-27 21:28:36 +02:00
jpirnayandCopilot aed297b2b1 First attempt
Co-authored-by: Copilot <copilot@github.com>
2026-04-27 15:30:43 +02:00
jpirnay 54e7aaef82 Updating vietnamese weekdays 2026-04-27 11:39:08 +02:00
jpirnay 5439b120c3 Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader into feat-vietnam 2026-04-27 11:38:31 +02:00
jpirnay ad7789f53d Introduce toc caching 2026-04-27 11:19:42 +02:00
jpirnay 7bca342d0c Propert utf8 encoding 2026-04-26 22:59:02 +02:00
jpirnay 088710378b Add vietnamese (extend UI fonts) 2026-04-26 22:42:50 +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
jpirnay a1d0ddec49 Introduce extended button handler 2026-04-26 12:26:29 +02:00
jpirnay 539c66efb3 Language updates 2026-04-25 12:38:53 +02:00
jpirnay dbd2ce8541 Merge pull request #131 from jpirnay/fix-css-text-indent
feat: Honor css defined paragraph intent (and clamp it if necessary)
2026-04-25 11:28:40 +02:00
jpirnay 81a784985e yaclf 2026-04-25 11:19:39 +02:00
jpirnayandCopilot 12372aaafc Clamp indent to page dimensions
Co-authored-by: Copilot <copilot@github.com>
2026-04-25 11:19:04 +02:00
jpirnay c8a2332ed3 Add recommendation 2026-04-25 11:14:21 +02:00
jpirnay 6060607bda Eliminate tmp file creation 2026-04-25 10:54:32 +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 17ea700538 Honor css defined paragraph intent 2026-04-25 09:17:26 +02:00
jpirnay 37395f8e0f Final review 2026-04-24 19:42:18 +02:00
jpirnay a73836c594 cppcheck complains 2026-04-24 18:08:37 +02:00
jpirnay 73eee418e0 Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader into feat-rendering-perf 2026-04-24 17:22:10 +02:00
jpirnay 646001a672 Add benchmark 2026-04-24 17:08:53 +02:00
jpirnay 6f31202332 Minor adjustment 2026-04-24 16:37:39 +02:00
jpirnay 7291ccacc8 Further code review 2026-04-24 16:23:14 +02:00
jpirnay c4498cd535 Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader into feat-rendering-perf 2026-04-24 15:47:47 +02:00
jpirnay 7c15c8aa85 Reestablish 1.37 upload behaviour 2026-04-24 15:35:56 +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 1bf0278eec Autorefresh after image pages to get rid of ghosting artifacts (#116) 2026-04-24 10:30:07 +02:00
jpirnayandCopilot e968a54e77 Improve nested lists
Co-authored-by: Copilot <copilot@github.com>
2026-04-23 22:04:19 +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 e299318851 Merge pull request #122 from jpirnay/integrate-pr-1209
feat: multiple opds server support (upstream 1209 by osteotek)
2026-04-23 19:51:34 +02:00
jpirnay e0e3bd4251 Fix reindexing on toc-page-break 2026-04-23 13:15:30 +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 7c6e4728f4 Add swedish keyboard translations (#1726) 2026-04-23 09:42:01 +02:00
jpirnay 700d7b442b fix: Erroneous navigation with long filenames in footnote links (#1723) 2026-04-23 09:39:58 +02:00