jpirnay and Claude Sonnet 4.6
80722118a2
FontDecompressor: heap-allocate hot group buffer sized to active font
...
Replace the 50 KB static BSS _hotGroupBuf array with a heap pointer
allocated once per font (ensureHotGroupBuf). The buffer is sized to the
largest group in the active font — 6 KB for small fonts, ~50 KB for 18pt
— so no memory is wasted when rendering body text at typical sizes.
The buffer persists across pages (freed only in freeHotGroup/deinit),
so there is exactly one malloc per font session rather than one per page.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 08:14:04 +02:00
jpirnay and Claude Sonnet 4.6
e4170e2272
Font rendering performance improvements
...
- FontDecompressor: replace heap-allocated std::vector hot-group and glyph
scratch buffers with static BSS arrays, eliminating per-page malloc/free
and the heap fragmentation it causes during rendering
- FontDecompressor: add bounds checks on group/glyph buffer sizes; sort
prewarm group list by ascending index for sequential flash reads
- ParsedText: upgrade line-break cost function to Knuth-Plass cubic badness
(strongly penalises very loose lines, lenient on moderate looseness)
- ParsedText: exclude gaps before closing punctuation (. , ) » etc.) from
justification distribution so they stay at natural space width
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 07:33:39 +02:00
jpirnay
8c72efb3b9
Reset version info
2026-04-22 07:04:31 +02:00
jpirnay
192eeaddc5
Merge pull request #118 from jpirnay/fix-ota-updater
...
feat: Try to support CaptivePortals
2026-04-22 06:52:32 +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
jpirnay
4efbc035ba
Try resetting the version info
2026-04-21 21:47:30 +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
b7928a86e3
Add hotel Wifi connection
2026-04-21 17:15:56 +02:00
jpirnay
d4c475470b
Allow cancellation of download, dont block the device
2026-04-21 14:26:21 +02:00
jpirnay
9b27564931
Merge pull request #115 from jpirnay/fix-halclock
...
fix: Add additional time zones
2026-04-20 21:24:50 +02:00
jpirnay
425c1db132
Review comments
2026-04-20 21:16:31 +02:00
jpirnay
3a4923c8d5
yaclf
2026-04-20 21:00:20 +02:00
jpirnay
a00712a085
Adjust warnings for x3
2026-04-20 20:50:33 +02:00
jpirnay
a6aed8d30e
Add additional timezones
2026-04-20 20:40:38 +02:00
jpirnay
02ddce1301
Merge pull request #114 from jpirnay/refactor-utf8-kosync
...
refactor: embrace utf8-counting helpers
2026-04-20 20:32:04 +02:00
jpirnay
966ba71a90
Embrace utf8-counting helpers
2026-04-20 20:16:40 +02:00
jpirnay
930b38fbaa
Merge pull request #113 from jpirnay/fix-x3-boot
...
fix: x3 boot issue regression (#102 )
2026-04-20 18:19:13 +02:00
jpirnay
5b31d49036
One more safety net
2026-04-20 17:42:27 +02:00
jpirnay
14975379cd
Add wstring to test shims
2026-04-20 17:40:31 +02:00
jpirnay
9f95567212
Fix x3 boot issue
2026-04-20 17:33:46 +02:00
jpirnay
a7638bb7d3
Merge pull request #87 from jgoguen/opds-multi-format-select
...
feat(opds): Allow selecting the download format
2026-04-20 14:26:00 +02:00
jpirnay
83fe041a6b
Merge pull request #109 from jpirnay/kosync_extension
...
refactor: Picking up some itsthisjustin ideas for KOreader synchronisation
2026-04-20 14:21:31 +02:00
jpirnay
440d64e48e
Nitpick comments
2026-04-20 14:16:13 +02:00
jpirnay
6f52aec95d
Merge pull request #107 from jgoguen/fix-parser-not-freed
...
fix: free parser on error
2026-04-20 14:07:23 +02:00
jpirnay
3e2f80f8ca
Merge pull request #105 from jgoguen/fix-parser-use-after-free
...
fix: harden OPDS parser cleanup after errors
2026-04-20 14:06:54 +02:00
jpirnay
36931aaa25
Merge pull request #108 from jpirnay/feature-webui-update
...
feat: webui update (integrate some ideas from upstream #1715 by pablohc)
2026-04-20 14:05:43 +02:00
jpirnay
29284c85c9
Review comments
2026-04-20 13:28:56 +02:00
jpirnay
3fb9ac9e29
Finetuning 2
2026-04-20 13:15:05 +02:00
jpirnay
5e4f78f7be
Finetuning
2026-04-20 12:28:00 +02:00
jpirnay
fd72941cd4
Treat body[1] properly
2026-04-20 11:53:46 +02:00
jpirnay
38e90a818b
Make json field check more lenient
2026-04-20 11:39:21 +02:00
jpirnay
1eb23e6946
Merge pull request #111 from jpirnay/refactor-show-ntp-error
...
refactor: Display error reason on ntp time sync fail
2026-04-20 10:55:37 +02:00
jpirnay
ec90d46a02
Fix omission
2026-04-20 10:44:34 +02:00
jpirnay
bbafd4ce62
Display error reason on ntp time sync fail
2026-04-20 10:32:52 +02:00
jpirnay
ab9d47aac9
Review comments
2026-04-20 10:12:20 +02:00
jpirnay
8941ab9a1e
Always provide datetime
2026-04-20 10:11:14 +02:00
jpirnay
f018ad03dd
Merge pull request #100 from jgoguen/ci-run-tests
...
feat(ci): Run tests as part of CI
2026-04-20 09:58:13 +02:00
jpirnay
269ba96db8
Merge pull request #99 from jgoguen/update-url-utils
...
feat(UrlUtils): Resolve more URL formats
2026-04-20 09:57:37 +02:00
jpirnay
87b5776648
Wire clock to fil date times
2026-04-20 09:07:56 +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
jpirnay
cf32498fe5
Version bump
2026-04-19 22:49:03 +02:00
jpirnay
bc1b0499fd
Fix unnecessary X3 battery drain
2026-04-19 19:22:48 +02:00
jpirnay
d6292920d9
Picking up some itsthisjutin ideas
2026-04-19 19:03:43 +02:00
jpirnay
174a08831d
Merge pull request #97 from jpirnay/feat-x3clock
...
feat: support x3 RTC chip
2026-04-17 23:32:42 +02:00
jpirnay
f31159b430
Temperature sanity check
2026-04-17 23:32:26 +02:00
jpirnay
9492984850
Remove wire init
2026-04-17 23:27:38 +02:00
jpirnay
39bf72a7a3
Version bump
2026-04-17 23:22:03 +02:00
jpirnay
718ebaaed6
Revert
2026-04-17 23:21:27 +02:00
jpirnay
134527de5f
Dont hammer the bus
2026-04-17 23:21:03 +02:00
jpirnay
f68fbc39e4
Dont write guesstimates into RTC
2026-04-17 23:19:42 +02:00
jpirnay
141ec02746
Fix comments
2026-04-17 23:17:42 +02:00
jpirnay
b6c3774de9
Proper timezone conversion
2026-04-17 23:14:40 +02:00
jpirnay
3f54f2355a
Merge pull request #92 from jgoguen/clangd-remove-args
...
fix(clangd): Remove gcc args not valid in clang
2026-04-17 23:02:59 +02:00
jpirnay
45dbd2f54a
Version bump
2026-04-17 23:01:52 +02:00
jpirnay
4d0af7331c
X4 quick exit
2026-04-17 22:57:56 +02:00
jpirnay
f7d970fe44
implement DS3231 clock support
2026-04-17 22:47:08 +02:00
jpirnay
0a4dabef45
Add debug info
2026-04-17 21:44:36 +02:00
jpirnay
d9400e269a
Merge pull request #96 from jpirnay/examine-memory-regression-master
...
refactor: fix memory regression due to Activity push
2026-04-17 21:20:06 +02:00
jpirnay
3e28b45888
Fix according to comment
2026-04-17 21:05:30 +02:00
jpirnay
e74e52b23a
Review comments
2026-04-17 20:59:49 +02:00
jpirnay
d39246ee70
yaclf
2026-04-17 20:54:49 +02:00
jpirnay
6ca8de8329
Reduce debug logging
2026-04-17 20:43:36 +02:00
jpirnay
b4881e1563
Refactor ActivityManager calls
2026-04-17 20:23:42 +02:00
jpirnay
ef088db789
Add more logging
2026-04-17 19:09:16 +02:00
jpirnay
bf7869dfce
More logging points
2026-04-17 18:44:50 +02:00
jpirnay
e5cd758380
Add logs
2026-04-17 18:17:35 +02:00
jpirnay
fbde017d88
Fix usage
2026-04-17 18:00:30 +02:00
jpirnay
de314182f7
mitigating fragmented heap
2026-04-17 17:02:50 +02:00
jpirnay
33c8b9d654
Merge pull request #94 from jpirnay/refactor-mem
...
refactor: Change settings layout and fix heap corruption
2026-04-17 16:54:14 +02:00
jpirnay
4bada707b3
Fix getter
2026-04-17 16:46:48 +02:00
jpirnay
efbe8adf43
cppcheck finding
2026-04-17 16:41:24 +02:00
jpirnay
17cf447a82
Merge pull request #95 from jpirnay/reafactor-chunksize
...
refactor: Make chunk size variable depending on available heap size
2026-04-17 16:39:44 +02:00
jpirnay
e3145439fc
Make chunk size variable depending on available heap size
2026-04-17 16:34:33 +02:00
jpirnay
8b6db63788
Add guard
2026-04-17 16:33:15 +02:00
jpirnay
e0fb3e0160
More comments
2026-04-17 16:25:29 +02:00
jpirnay
feda048dfa
Fix missing X3 serial output
2026-04-17 16:20:40 +02:00
jpirnay
a8816b2964
Remove outdated static variant
2026-04-17 16:16:27 +02:00
jpirnay
af018af03a
style fixes
2026-04-17 15:59:58 +02:00
jpirnay
87b9d333f7
Review changes
2026-04-17 15:54:08 +02:00
jpirnay
106e9d31e6
Reduce heap pressure
2026-04-17 15:53:57 +02:00
jpirnay
2b17872c16
Refactor spaghetti code
2026-04-17 15:39:02 +02:00
jpirnay
3b8b389408
Refactor Settings usage
2026-04-17 15:38:37 +02:00
jpirnay
f0fb6c20aa
Better recommendation which state to apply
2026-04-17 11:06:09 +02:00
jpirnay
9f290a3d17
Remove 'Reading ruler' from feature list for now
2026-04-17 08:10:15 +02:00
jpirnay
052bd016a0
Change Labels for Webui
2026-04-16 16:53:18 +02:00
jpirnay
2d6898362b
Update Turkish
2026-04-16 14:59:36 +02:00
jpirnay
a491ae02c4
Merge pull request #90 from jpirnay/refactor-activities
...
refactor: Refactor activities to consistently use helpers
2026-04-16 14:51:54 +02:00
jpirnay
241f966b7e
Update languages
2026-04-16 14:45:05 +02:00
jpirnay
47b46a24b9
Use common activity pattern
2026-04-16 14:20:35 +02:00
jpirnay
f999a4c6b5
Merge branch 'master' of https://github.com/jpirnay/crosspoint-reader
2026-04-16 13:30:20 +02:00
jpirnay
4d28b3adad
Use getContentRect for consistency
2026-04-16 13:30:17 +02:00
jpirnay
7bc76f6d53
Merge pull request #89 from jpirnay/refactor-sysinfo-ui
...
refactor: Structure visual appearance of SystemInformation
2026-04-16 13:29:26 +02:00
jpirnay
3f1b9d0964
Refactor visual appearance of SystemInformation
2026-04-16 11:57:40 +02:00
jpirnay
4f1ad01c7e
Merge pull request #88 from jpirnay/feat-battery_smooth
...
feat: Incorporate and fix upstream PR 1635
2026-04-16 11:43:12 +02:00
jpirnay
18b7e30f57
Incorporate and fix upstream PR 1635
2026-04-16 11:01:06 +02:00
jpirnay
0a472d9dbb
Merge pull request #85 from jpirnay/rebase-keyboardpr1644
...
feat: Take new keyboard features on board (upstream 1644 by pablohc)
2026-04-15 19:52:30 +02:00
jpirnay
8145bb8ed5
Fixing some states
2026-04-15 19:41:25 +02:00