Commit Graph
832 Commits
Author SHA1 Message Date
jpirnay 02edfbb418 Merge branch 'feat-dirshow' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 16:34:39 +01:00
jpirnay e52d0d3fb3 Merge branch 'fix-logging' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 16:34:28 +01:00
jpirnay 996ae89d62 And nitpick, too 2026-03-08 16:33:01 +01:00
jpirnay ed1a21fb7b Add magic value 2026-03-08 16:26:52 +01:00
jpirnay 5b1ccb8b6d Dont add brackets around directory for themes that have icon support 2026-03-08 16:20:21 +01:00
jpirnay a3a50c8c40 Clear log if invalid 2026-03-08 16:05:08 +01:00
jpirnay c464bdede8 Add and expose sanitizing logic 2026-03-08 15:51:05 +01:00
jpirnay eaee1e3a83 Merge branch 'fix-logging' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 15:41:53 +01:00
jpirnay 98fb3d65c9 And even more... 2026-03-08 12:45:14 +01:00
jpirnay 9182a05670 And more... 2026-03-08 12:14:18 +01:00
jpirnay 42a01446ef More review changes 2026-03-08 11:27:52 +01:00
jpirnay b9b60d31ba Further guards according to review 2026-03-08 11:19:56 +01:00
jpirnay 2010b33e5d Review amendments 2026-03-08 11:03:50 +01:00
jpirnay 35897d33ae Fix bootloop logging crash 2026-03-08 10:57:49 +01:00
jpirnay 7ab6d5ac4b Proper fix 2026-03-08 10:13:36 +01:00
jpirnay 47257fe4b4 Add include 2026-03-08 10:12:16 +01:00
jpirnay 69f893840a Add getmODIFYdATEtIME 2026-03-08 10:08:38 +01:00
jpirnay b9eefc5e70 Fix fast path 2026-03-08 10:06:08 +01:00
jpirnay d76581e7ff Merge branch 'perf-uifonts2' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 10:01:38 +01:00
jpirnay ec79f7b2ef Merge branch 'perf-fillrect' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 10:01:17 +01:00
jpirnay 378c1613ee Merge branch 'fix-key' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 10:00:48 +01:00
jpirnay ed0302571e Merge branch 'feat-koysnc-xpath' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 09:58:54 +01:00
jpirnay c63659311e Merge branch 'feat-overlay' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 09:58:14 +01:00
jpirnay 8688139a71 Merge branch 'feat-hiddenfiles' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 09:56:47 +01:00
jpirnay f82cc27d09 Merge branch 'feat-cache-koreader-hash' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 09:55:42 +01:00
jpirnay ea36d2c787 Merge branch 'fix-jpegcleanup' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 09:55:24 +01:00
jpirnay 786fbfa7c1 Merge branch 'feat-page-overlay' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 09:55:09 +01:00
jpirnay bfc86eabf9 Merge branch 'fix-hyphen_apostrophe' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 09:54:39 +01:00
jpirnay ca94f89fba Merge branch 'feat-dirshow' of https://github.com/jpirnay/crosspoint-reader into mybuild 2026-03-08 09:54:29 +01:00
jpirnay 2abcf9bc68 Review fixes 2026-03-07 19:33:02 +01:00
jpirnay a6f61fb0d0 Proper series detection 2026-03-07 19:06:53 +01:00
jpirnay 95f1d14f3f Revert version bump 2026-03-07 18:53:39 +01:00
jpirnay 2d6741e9df Remap buttons 2026-03-07 18:52:46 +01:00
jpirnay 5dab5b3cf1 Add error information 2026-03-07 18:52:27 +01:00
jpirnay 907aa43caf No accidental confirmation 2026-03-07 18:51:55 +01:00
jpirnay 56ed445c71 Smaller font size 2026-03-07 18:17:06 +01:00
jpirnay 10e0680f6e Add bookinfo 2026-03-07 18:07:49 +01:00
jpirnay 3ed96a7e49 Use and populate metadata 2026-03-07 18:02:21 +01:00
jpirnay 87e5cc4fe1 Extend metadata 2026-03-07 18:01:18 +01:00
jpirnay 7183b75a3c Make directories stand out more 2026-03-07 11:21:21 +01:00
jpirnay c083079898 deduping by byteOffset alone for clarity. 2026-03-07 10:59:48 +01:00
jpirnay 579d140ee9 Some fixes according to review 2026-03-07 10:52:31 +01:00
jpirnay 9ca0f30b16 Sync to master 2026-03-07 10:29:41 +01:00
jpirnay 34a96d717d Merge branch 'master' of https://github.com/crosspoint-reader/crosspoint-reader into feat-page-overlay 2026-03-07 10:22:18 +01:00
jpirnay 520ae07ad5 Pick up assert recommendation 2026-03-07 10:20:11 +01:00
jpirnay e31e5fd1f5 Show name of next section to appear 2026-03-07 10:17:07 +01:00
jpirnay ae19e975fa Implement znelson recommendation 2026-03-07 10:11:54 +01:00
Jonasz Potoniec 65e6caea57 chore: Polish localization for STR_DELETE (#1323) 2026-03-06 21:22:52 -05:00
Xuan-Son Nguyenandcoderabbitai[bot] a59af01583 fix: dump crash log without usb plugged, bump release log to INFO (#1332)
## Summary

Follow-up
https://github.com/crosspoint-reader/crosspoint-reader/pull/1145

- Fix log not being record without USB connected
- Bump release log to INFO for more logging details

---

### 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**

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-03-06 22:05:23 +01:00
Uri Tauber 8fbb37b359 feat: footnote anchor navigation (#1245)
## Summary: Enable footnote anchor navigation in EPUB reader

This PR extracts the core anchor-to-page mapping mechanism from PR #1143
(TOC fragment navigation) to provide immediate footnote navigation
support. By merging this focused subset first, users get a complete
footnote experience now while simplifying the eventual review and merge
of the full #1143 PR.

  ---

## What this extracts from PR #1143

PR #1143 implements comprehensive TOC fragment navigation for EPUBs with
multi-chapter spine files. This PR takes only the anchor resolution
infrastructure:

- Anchor-to-page mapping in section cache: During page layout,
ChapterHtmlSlimParser records which page each HTML id attribute lands
on, serializing the map into the .bin cache file.
- Anchor resolution in `EpubReaderActivity`: When navigating to a
footnote link with a fragment (e.g., `chapter2.xhtml#note1`), the reader
resolves the anchor to a page number and jumps directly to it.
- Section file format change: Bumped to version 15, adds anchor map
offset in header.

  ---

## Simplified scope vs. PR #1143

To minimize conflicts and complexity, this PR differs from #1143 in key
ways:

* **Anchors tracked**
  * **Origin:** Only TOC anchors (passed via `std::set`)
  * **This branch:** All `id` attributes

* **Page breaks**
  * **Origin**: Forces new page at TOC chapter boundaries
  * **This branch:** None — natural flow

* **TOC integration**
  * **Origin**: `tocBoundaries`, `getTocIndexForPage()`, chapter skip
  * **This branch:** None — just footnote links

* **Bug fix**
  * **This branch:** Fixed anchor page off-by-1/2 bug


The anchor recording bug (recording page number before `makePages()`
flushes previous block) was identified and fixed during this extraction.
The fix uses a deferred `pendingAnchorId` pattern that records the
anchor after page completion.

  ---

## Positioning for future merge

Changes are structured to minimize conflicts when #1143 eventually
merges:

- `ChapterHtmlSlimParser.cpp` `startElement()`: Both branches rewrite
the same if `(!idAttr.empty())` block. The merged version will combine
both approaches (TOC anchors get page breaks + immediate recording;
footnote anchors get deferred recording).
- `EpubReaderActivity.cpp` `render()`: The `pendingAnchor` resolution
block is positioned at the exact same insertion point where #1143 places
its `pendingTocIndex` block (line 596, right after `nextPageNumber`
assignment). During merge, both blocks will sit side-by-side.
   
  ---

## Why merge separately?

1. Immediate user value: Footnote navigation works now without waiting
for the full TOC overhaul
   2. Easier review: ~100 lines vs. 500+ lines in #1143 
3. Bug fix included: The page recording bug is fixed here and will carry
into #1143
4. Minimal conflicts: Structured for clean merge — both PRs touch the
same files but in complementary ways
---

### AI Usage

Did you use AI tools to help write this code? _**< YES >**_ Done by
Claude Opus 4.6
2026-03-06 21:10:45 +03:00