Commit Graph
100 Commits
Author SHA1 Message Date
jpirnay 360e04f61c Merge branch 'perf-htmlslim-parser' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-29 09:42:40 +02:00
jpirnay 9d0316d7f1 Review comment 2026-03-29 09:23:56 +02:00
jpirnay 834c7b7712 Merge branch 'perf-htmlslim-parser' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 20:54:14 +01:00
jpirnay 6daf3fd1bb Add css cache 2026-03-28 20:49:03 +01:00
jpirnay 1b0c5fec28 Integration hell 2026-03-28 18:21:53 +01:00
jpirnay a2aee4f4ae Merge branch 'fix-css-pre' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 18:16:11 +01:00
jpirnay 5a36060b8f Add a tesxt rendering example 2026-03-28 18:14:32 +01:00
jpirnay be430c781e Fix <pre> treatment 2026-03-28 17:44:10 +01:00
jpirnay 7f6933ab22 Recognize css pre elements 2026-03-28 16:47:55 +01:00
jpirnay ab03fe3ab7 Merge branch 'feat-koysnc-xpath' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 16:23:11 +01:00
jpirnay 0e3c3daa74 Auto close on upload success after 3sec 2026-03-28 16:19:21 +01:00
jpirnay 9d7aa4e5a8 Add method 2026-03-28 12:15:47 +01:00
jpirnay 229c7a8a29 Merge branch 'fixi-first-wifi' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 12:03:57 +01:00
jpirnay 38f836b19d Address review comment 2026-03-28 12:02:17 +01:00
jpirnay 13ff26d511 Merge branch 'fixi-first-wifi' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 11:10:44 +01:00
jpirnay ffbe4fed21 Fix failing very first wifi connection attempt 2026-03-28 11:10:19 +01:00
jpirnay 08f05b7a5b Fix br.0 indexing issue 2026-03-28 11:04:01 +01:00
jpirnay 420110b733 Fix index issue 2026-03-28 11:01:22 +01:00
jpirnay f0c8760a37 Merge branch 'feat-invalid-toc-fallback' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 10:41:24 +01:00
jpirnay 27ae5503c3 Merge branch 'refactor-remove-picojpeg' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 10:41:10 +01:00
jpirnay 348d00278d Merge branch 'fix-text-align' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-28 10:40:26 +01:00
jpirnay 69dbfa4b8a Fix discarded CSS text-align 2026-03-28 10:39:30 +01:00
jpirnay a403a8af39 Replace picojpeg by jpegdec 2026-03-27 22:05:42 +01:00
jpirnay 7f63ebbcf7 Use translated section string 2026-03-27 21:30:30 +01:00
jpirnay 6703973bac Merge branch 'chore-script' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-27 17:30:07 +01:00
jpirnay c71fb8c6af Merge branch 'feat-invalid-toc-fallback' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-27 17:29:45 +01:00
jpirnay 20d5cf96f7 Proper return code 2026-03-27 17:28:06 +01:00
jpirnay 5f6dc4ac4c Add .venv to list of path exclusions 2026-03-27 17:21:25 +01:00
jpirnay a51fd3953d Refactor to a more generic unobstrusive approach 2026-03-27 17:06:30 +01:00
jpirnay 3f8a87e907 Deal with invalid/incomplete toc.ncx files 2026-03-27 16:40:34 +01:00
jpirnay 1d3405318c Integrate PT 1455 2026-03-26 11:16:53 +01:00
jpirnay 33347d5b96 PR 1475 2026-03-26 11:06:34 +01:00
jpirnay 1af3f81336 PR 1507 2026-03-26 11:05:13 +01:00
jpirnay ac42d5ef36 Merge branch 'refactor-i18n_offset-table' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-26 11:02:18 +01:00
jpirnay f8374bb66b Merge branch 'chore-portugues' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-26 11:02:03 +01:00
jpirnay 86c935bfc9 Fix codes 2026-03-26 10:43:37 +01:00
jpirnay 5da520eb9e Clean up language codes 2026-03-26 10:42:15 +01:00
jpirnay 3f5a2663f6 Exit if non-unique identifiers found 2026-03-26 10:30:14 +01:00
jpirnay 64b8c71799 Fix non-unique ids 2026-03-26 09:22:21 +01:00
jpirnay 483da0af66 Merge branch 'chore-portugues' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-25 22:20:58 +01:00
jpirnay deb0199c86 Fix wrong language code for ptbr and introduced ptPt 2026-03-25 22:14:38 +01:00
jpirnay 5745e598e3 fix: migrate KOSync registerUser to esp_http_client 2026-03-25 20:22:01 +01:00
jpirnay 6be2627b59 Merge branch 'feat-remove-from-recents' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-25 19:55:39 +01:00
jpirnay 4abfc06380 Fix regression 2026-03-25 19:55:13 +01:00
jpirnay a5fa684d2b Merge branch 'perf-lut-cache' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-25 18:09:53 +01:00
jpirnay 36b471891d Merge branch 'fix-xtc-2gb' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-25 18:08:34 +01:00
jpirnay 96aaeec792 Merge branch 'fix-http-empty' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-25 18:08:16 +01:00
jpirnay 61e5b01eee Deal with zero byte downloads 2026-03-25 17:59:37 +01:00
jpirnay afe0b82228 Cover remaining seeks 2026-03-25 17:53:18 +01:00
jpirnay 7d43c876a4 Remove 2GB limit for XTC files 2026-03-25 17:35:19 +01:00
jpirnay 72b00e9e3f chore: Update German translation strings (#1495)
## Summary

* **What is the goal of this PR?** Updating German language file
* **What changes are included?**

## Additional Context

- None

---

### 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? _**< NO >**_
2026-03-25 11:34:53 -05:00
jpirnayandClaude Opus 4.6 7496bf95ce Merge branch 'master' of origin into perf-lut-cache
Resolved conflicts in Section.h and Section.cpp:
- Combined includes (vector for LUT cache + optional/string from master)
- Added imageRendering parameter to loadSectionFile declaration
- Kept non-const clearCache (needs to close file handle for LUT cache)
- Kept in-memory LUT cache in loadPageFromSectionFile (replaces master's
  per-page LUT seek)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-25 17:17:51 +01:00
jpirnay e30fa6eb3a Merge branch 'perf-ws-upload-speed' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-25 13:07:32 +01:00
jpirnay 4c478c73b7 Adjust progress bar 2026-03-25 13:03:10 +01:00
jpirnay e87f8035be Increase upload speed 2026-03-25 12:10:00 +01:00
jpirnay f80e2ecea3 Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-25 10:40:08 +01:00
jpirnay b48dffa38d feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" (#1339)
## Summary

* **What is the goal of this PR?** It's difficult to distinguish
directory names from normal file entries, so they are displayed now as
"[dir]" instead of "dir" for classic theme
* **What changes are included?**

## Additional Context

* Add any other information that might be helpful for the reviewer
(e.g., performance implications, potential risks,
  specific areas to focus on).

---

### 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? _**NO**_
2026-03-24 19:47:42 -05:00
jpirnay f87aec499e Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-24 09:15:47 +01:00
jpirnay ee1015173b chore: Add powershell script for clang-formatting (#1472)
## Summary

* **What is the goal of this PR?** Add a windows equivalent for the
linux clang-format-fix script
* **What changes are included?**

## Additional Context
```
.SYNOPSIS
    Runs clang-format -i on project *.cpp and *.h files.

.DESCRIPTION
    Formats all C/C++ source and header files in the repository, excluding
    generated, vendored, and build directories (open-x4-sdk, builtinFonts,
    hyphenation tries, uzlib, .pio, *.generated.h).

    The clang-format binary path is resolved once and cached in
    .local/clang-format-fix.local. On first run it checks a default path,
    then PATH, then common install locations. Edit the .local file to
    override manually.

.PARAMETER g
    Format only git-modified files (git diff --name-only HEAD) instead of
    the full tree.

.PARAMETER h
    Show this help text.
```
---

### 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? _**< YES >**_
2026-03-23 18:04:59 -05:00
jpirnay 2460a96132 flatten logic 2026-03-23 21:43:23 +01:00
jpirnay cc46225f22 Merge branch 'feat-remove-from-recents' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-23 21:43:06 +01:00
jpirnay 7ad9d6cf14 Hide buttons when empty 2026-03-23 21:37:49 +01:00
jpirnay dc6074225c Use proper term 2026-03-23 21:30:22 +01:00
jpirnay eec42c0dd3 Only on left 2026-03-23 21:28:21 +01:00
jpirnay d53f8caeb4 clangf 2026-03-23 21:22:27 +01:00
jpirnay 251c341c06 Merge branch 'feat-remove-from-recents' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-23 21:20:27 +01:00
jpirnay 5d8486ea07 Use previous button for removal of active entry in recent books 2026-03-23 21:16:49 +01:00
jpirnay eadcead501 fix: Fix img layout issue / support CSS display:none for elements and images (#1443)
## Summary
- Add CSS `display: none` support to the EPUB rendering pipeline (fixes
#1431)
- Parse `display` property in stylesheets and inline styles, with full
cascade resolution (element, class, element.class, inline)
- Skip hidden elements and all their descendants in
`ChapterHtmlSlimParser`
- Separate display:none check for `<img>` tags (image code path is
independent of the general element handler)
- Flush pending text blocks before placing images to fix layout ordering
(text preceding an image now correctly renders above it)
- Bump CSS cache version to 4 to invalidate stale caches
- Add test EPUB (`test_display_none.epub`) covering class selectors,
element selectors, combined selectors, inline styles, nested hidden
content, hidden images, style priority/override, and realistic use cases
2026-03-23 13:51:02 -05:00
jpirnay 2b1cdcd85e yaclf 2026-03-23 18:45:25 +01:00
jpirnay 3c4dd90bc1 Merge branch 'feat-kosync-onlongpress' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-23 13:31:19 +01:00
jpirnay b4dfd168ba Nitpick comments 2026-03-23 13:29:52 +01:00
jpirnay af76dbb02b yaclf 2026-03-23 13:26:48 +01:00
jpirnay e0ee59cbdf Merge branch 'feat-kosync-onlongpress' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-23 12:42:23 +01:00
jpirnay 75350b0a3e Incorporate koreader registration 2026-03-23 12:35:01 +01:00
jpirnay 68bf80e6b9 Suppress sync menu entry if no credentials are defined 2026-03-23 12:26:18 +01:00
jpirnay ad6036c162 regular menu action if no koreader credentials are defined 2026-03-23 12:23:21 +01:00
jpirnay a78cbf9bd1 fix 2026-03-23 12:09:48 +01:00
jpirnay 9d5d468d86 Merge branch 'feat-indexing-feedback' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-23 12:03:00 +01:00
jpirnay 84e3850d5d Merge branch 'feat-kosync-onlongpress' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-23 12:02:25 +01:00
jpirnay dad37ecf3c Call KoSyncActivity on long press of confirmation button 2026-03-23 12:02:03 +01:00
jpirnay 2d1f635f10 Provide visual progress feedback during indexing 2026-03-23 11:29:33 +01:00
jpirnay 485ff7e9f3 Language update 2026-03-22 14:13:11 +01:00
jpirnay 4b71ae3a8c Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-22 13:18:02 +01:00
jpirnayandClaude Opus 4.6 fd70b3a231 Add paragraph index LUT for accurate KOReader position sync
Store per-page paragraph indices in section cache to enable precise
XPath-to-page and page-to-XPath mapping without reparsing XHTML.

Forward path (upload): generates XPath directly from paragraph LUT
instead of byte-offset estimation, eliminating drift in chapters
with non-uniform content density.

Reverse path (download): resolves incoming KOReader XPath p[N] to
the exact page via paragraph LUT lookup.

Paragraph counter counts all <p> elements including display:none
to match ChapterXPathIndexer and crengine's standard XPath counting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 12:29:30 +01:00
jpirnayandClaude Opus 4.6 b625b8bd26 Add paragraph index LUT for accurate KOReader position sync
Store per-page paragraph indices in section cache to enable precise
XPath-to-page and page-to-XPath mapping without reparsing XHTML.

Forward path (upload): generates XPath directly from paragraph LUT
instead of byte-offset estimation, eliminating drift in chapters
with non-uniform content density.

Reverse path (download): resolves incoming KOReader XPath p[N] to
the exact page via paragraph LUT lookup.

Paragraph counter counts all <p> elements including display:none
to match ChapterXPathIndexer and crengine's standard XPath counting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 12:29:26 +01:00
jpirnay dccb82642d Merge branch 'feat-koysnc-xpath' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-21 20:10:23 +01:00
jpirnay 5b710e960f Fix OOM 2026-03-21 20:04:03 +01:00
jpirnay 959fe86216 Merge branch 'lightning-refactor' of https://github.com/znelson/crosspoint-reader into mybuild 2026-03-21 09:10:08 +01:00
jpirnay b08b576ddf Merge branch 'feat-koysnc-xpath' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-21 09:04:41 +01:00
jpirnay beeea38721 Remove cache - caused OOM in certain scenarios 2026-03-21 09:04:03 +01:00
jpirnay 70f53871f7 Fix 2 2026-03-20 18:44:30 +01:00
jpirnay 5f2aad2295 Fix 2026-03-20 18:42:27 +01:00
jpirnay b240ef1e21 Merge branch 'feat-localoverride' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-20 18:38:23 +01:00
jpirnay 484b998366 Merge branch 'fix-displaynone' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-20 18:37:04 +01:00
jpirnay fa836f3c60 Review fixes 2026-03-20 18:26:18 +01:00
jpirnay 09e65c30a3 Local overrides for css and img display 2026-03-20 18:17:34 +01:00
jpirnay 06839c11a8 Merge branch 'fix-displaynone' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-20 17:57:43 +01:00
jpirnay f8a5400a04 Fix crash 2026-03-20 17:24:57 +01:00
jpirnay 549e4e0d8d Testbook for display:none 2026-03-20 17:15:32 +01:00
jpirnay a068f76074 Fix img layout bug 2026-03-20 17:15:08 +01:00