chore(release): 1.1.0 Release Candidate#992
Conversation
|
Hey @daveallie I've been noticing a crash with current master when testing image rendering. |
|
🚀!!! Looking forward to feedback, and “keep in mind the feedback for this RC should not be feature requests or recommendations, they should only be bugs which would block this release from going to the public.” |
Thanks for the report @allgoewer, would you mind creating an issue and linking it here so we can track the blockers in the top of this PR. |
Here you go #993 |
|
I’m not sure if I like losing file extensions in the file browser. What do you all think? |
I had some similar concerns here and I'm still not sure. The more I think about, we should retain the file extension, at least until we include more detail like the future mocks. |
|
Pushed quick fix for big PNG images #995, but haven't thoroughly tested it |
From UI/UX perspective, it's fine for me. The reason why we may want to show file extension is when the device can support reading arbitrary extensions (i.e. via 3rd party apps), but that's not the case with crosspoint. Telling file type via icons is more intuitive overall. General feedback so far, the one-column home navigation really made it easier to use. For example, before, if I want to navigate to "recent books", I will either think if I need to press 5 times forward or 3 times backward. Now, it's obvious that I need to press 3 times forward. Haven't encountered any bugs so far |
This seem to be two issues in one, don't you think? The first issue being the PNG decode failing and the second one being the crash caused after the decode fails. |
|
Pushed quick fix #997. I’ve included all relevant details about both the issue and the implemented fix in the PR. |
|
Minor nitpick: When selecting a book from "Browse Files" or "Recent Books" is was previously able to go to the home sceen by long-pressing the back-button. This does no longer work. |
behavior was inverted in #726 |
…acters unsupported by bold/italic font variants (#997) ## Summary * **What is the goal of this PR?** I flashed the last revision before commit f1740db, and chapter indexing worked without any crashes. After applying f1740db, the same chapter consistently triggered a device reboot during indexing. The affected chapter contains inline equation images surrounded by styled (bold/italic) text that includes special math/symbol characters. ## Additional Context Prior to f1740db, both `getTextAdvanceX()` and `getSpaceWidth()` always measured text using `EpdFontFamily::REGULAR`, regardless of the actual style. Commit f1740db improved correctness by passing the active style so spacing is calculated using the actual bold/italic font variant. However, bold and italic variants have narrower Unicode coverage than the regular font. When a character exists in the regular font but not in the selected styled variant, `pdFont::getGlyph()` returns `nullptr`. The updated measurement functions did not check for this and immediately dereferenced the pointer: `width += font.getGlyph(cp, style)->advanceX; // nullptr->advanceX` Because `advanceX` is located at byte offset 2 within `EpdGlyph`, dereferencing a null pointer caused the CPU to attempt a load from address `0x00000002`, resulting in a RISC-V: Load access fault MCAUSE = 5 MTVAL = 2 ## Fix Added null-safety checks to both `getTextAdvanceX()` and `getSpaceWidth()`, following the same pattern used in the rendering path: If the glyph is missing in the selected style → fall back to the replacement glyph. If the replacement glyph is also unavailable → treat the character as zero-width. This preserves the improved style-correct spacing while preventing crashes. No behavioral changes occur for characters that are supported by the selected font variant. --- ### AI Usage Did you use AI tools to help write this code? _**< YES >**_ I encounter this bug while testing 1.1.0 RC. I pasted the serial log to Claude, which identify the bug and fixed it. I can confirm now the chapter in question is indexed and loaded correctly.
## Summary * Increased `PNG_MAX_BUFFERED_PIXELS` from 6402 to 16416 in `platformio.ini` to support up to 2048px wide RGBA images * adds a check to abort decoding and log an error if the required PNG scanline buffer exceeds the configured `PNG_MAX_BUFFERED_PIXELS`, preventing possible buffer overruns. * fixes #993 --- ### 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 >**_
|
@coderabbitai pause |
It's really starting to get on my nerves. |
|
Note Reviews pausedUse the following commands to manage reviews:
Use the checkboxes below for quick actions:
|
|
✅ Actions performedReviews paused. |
|
Just tested the new version and the epub that was crashing now is working just fine |
|
@daveallie Is it possible to add the fix #1002? It fixes the issue where if the width of an image is not defined inside the EPUB, it will figure out the width using the height and aspect ratio. |
|
There was an issue raised here scroll to the bottom. 6c3a615#commitcomment-177296177. Issue raised at #1011. I have a fix for at #957 (see screenshots from first link). Could be pulled into 1.1.0 but only reported so far on one particular epub so might not be blocking. |
|
Istill don't see the cover outline, from #907 |
|
Minor nitpick on Under I'll keep testing, but everything else looks good so far. EDIT: Thanks to @lukestein for opening #1035 |
|
Pushed small fix #1010. I’ve included all relevant details about both the issue and the fix in the PR. |
|
I am wondering whether you want to integrate the PR #978 - would add additional boost |
Thank you dude! All the credit goes to @yagofarias and @ruby, having professional designers on board makes all the difference |
|
I've been testing
This release is huge! Edit: I could reproduce the issue a second time with a different book:
Edit 2: It feels like some kind of racing condition to me, but I'm not sure. I could only reproduce it twice, both mentioned here. |
|
Another bug I found: when finishing a book and exiting when the screen shows the message |
|
Fixed in #1037 |
|
After the buffer size implementation I was able to open my epub that previously was making crosspoint instant rebooting. Now after a couple of minutes it enters sleep mode spontaneously preventing me to continue reading the epub (the epub has no image and 440 page long). Created a Issue here #1042 [edit] just cleared cache and it worked correctly |
Fixed in #1045 |
|
I know I should not ask for new things to be considered, but I would be grateful for some tests and possible adoption of #1055 - it makes the UI quite a bit snappier |
good tip ... it didn't downloaded as a zip for me but without file extension ... i changed it to .zip, extracted it and found the firmware.bin file in there ;) flashed successfully now. start testing :) |
|
Images aren't showing up in one of my epubs. I've run it through https://baseliner.radtke96.workers.dev with no luck. Another book is working correctly. I think the jpg file size may be too big. Is there a limit? I am fine with preprocessing if necessary. Is this behaving as expected? The epub size is ~10MB and there are 35 images. What are the requirements for images to display correctly? |
Here are the current limits, d247923 2048 x 1536. We are also planning to move to another jpeg library which supports progressive jpegs which could also be your issue. |
I noticed this too! Didn't submit an issue yet because I couldn't reproduce, but I will test more later today. Did you already submit an issue for it? |
Not yet, I was waiting for feedback from more people, as maybe it was a specific issue reproducible only with the couple of EPUB files I tested, feel free to submit it! 👍🏻 |
## Summary * **What is the goal of this PR?** * improve Spanish translations * **What changes are included?** - Fix typos and accents (Librería, conexión, etc.) - Translate untranslated strings (BOOTING, SLEEPING, etc.) - Improve consistency and conciseness - Fix question mark placement (¿...?) - Standardize terminology (Punto de Acceso, Suspensión, etc.) --- ### 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 >**_
## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) * The goal is to fix the title of books in the Home Screen. Before  After:  * **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? YES, Cursor
## Summary * This PR fixes decomposed diacritic handling end-to-end: - Hyphenation: normalize common Latin base+combining sequences to precomposed codepoints before Liang pattern matching, so decomposed words hyphenate correctly - Rendering: correct combining-mark placement logic so non-spacing marks are attached to the preceding base glyph in normal and rotated text rendering paths, with corresponding text-bounds consistency updates. - Hyphenation around non breaking space variants have been fixed (and extended) - Hyphenation of terms that already included of hyphens were fixed to include Liang pattern application (eg "US-Satellitensystem" was *exclusively* broken at the existing hyphen) ## Additional Context * Before <img width="800" height="480" alt="2" src="/deoxy?target=https%3A%2F%2Fgithub.com%2Fcrosspoint-reader%2Fcrosspoint-reader%2Fpull%2F%253Ca%2520href%3D"https://github.com/user-attachments/assets/b9c515c4-ab75-45cc-8b52-f4d86bce519d">https://github.com/user-attachments/assets/b9c515c4-ab75-45cc-8b52-f4d86bce519d" /> * After <img width="480" height="800" alt="fix1" src="/deoxy?target=https%3A%2F%2Fgithub.com%2Fcrosspoint-reader%2Fcrosspoint-reader%2Fpull%2F%253Ca%2520href%3D"https://github.com/user-attachments/assets/4999f6a8-f51c-4c0a-b144-f153f77ddb57">https://github.com/user-attachments/assets/4999f6a8-f51c-4c0a-b144-f153f77ddb57" /> <img width="800" height="480" alt="fix2" src="/deoxy?target=https%3A%2F%2Fgithub.com%2Fcrosspoint-reader%2Fcrosspoint-reader%2Fpull%2F%253Ca%2520href%3D"https://github.com/user-attachments/assets/7355126b-80c7-441f-b390-4e0897ee3fb6">https://github.com/user-attachments/assets/7355126b-80c7-441f-b390-4e0897ee3fb6" /> * Note 1: the hyphenation fix is not a 100% bullet proof implementation. It adds composition of *common* base+combining sequences (e.g. O + U+0308 -> Ö) during codepoint collection. A complete solution would require implementing proper Unicode normalization (at least NFC, possibly NFKC in specific cases) before hyphenation and rendering, instead of hand-mapping a few combining marks. That was beyond the scope of this fix. * Note 2: the render fix should be universal and not limited to the constraints outlined above: it properly x-centers the compund glyph over the previous one, and it uses at least 1pt of visual distance in y. Before: <img width="478" height="167" alt="Image" src="/deoxy?target=https%3A%2F%2Fgithub.com%2Fcrosspoint-reader%2Fcrosspoint-reader%2Fpull%2F%253Ca%2520href%3D"https://github.com/user-attachments/assets/f8db60d5-35b1-4477-96d0-5003b4e4a2a1">https://github.com/user-attachments/assets/f8db60d5-35b1-4477-96d0-5003b4e4a2a1" /> After: <img width="479" height="180" alt="Image" src="/deoxy?target=https%3A%2F%2Fgithub.com%2Fcrosspoint-reader%2Fcrosspoint-reader%2Fpull%2F%253Ca%2520href%3D"https://github.com/user-attachments/assets/1b48ef97-3a77-475a-8522-23f4aca8e904">https://github.com/user-attachments/assets/1b48ef97-3a77-475a-8522-23f4aca8e904" /> * This should resolve the issues described in #998 --- ### 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? _**PARTIALLY**_
|
I noticed that after #957 the images take a moment to appear, while before they appeared instantly. Is this change necessary? |
|
Yep, I can confirm that it was completely cooked for larger full screen images with large amounts of gray prior to that change. I was seeing in when testing with the full page section card images in Wind and Truth. |
I see! Maybe in 1.2.0 I can try and see if I can improve the user experience a bit with this one :) |
|
Planning to make the latest RC build which I just cut the last and release 1.1.0 as that RC stands. There are a few outstanding things mentioned, but I think they're acceptable/low risk concerns which can be bundled into next release (or a smaller release if they're addressed sooner).
Planning to release 1.1.0 in this state in about 20 hours from now. |
|
@daveallie I think I found the reason why this happened to me, but not the root cause of it. Sorry if I get too verbose, but maybe others find what follows useful. Before checking anything else, I installed the latest RC available (1.1.0-rc+c3093e3), gathered logs from the device while performing the same actions to reproduce the issue, but I should have checked first the partition status in my microSD card: As soon as I saw this, I realised I should have tested the RC versions clearing the cache and checking the SD card partition health before anything else. Both issues I reported earlier were related to this. 🙄 I deleted all After doing all this, I could no longer reproduce any of the issues I previously reported. However, moving forward, I'm not sure how to monitor the filesystem status to find out why it got corrupted, or by using which firmware version if it happens ever again. I'm using the microSD card included when I bought my X4; maybe I should consider getting a better one, just in case there's an issue with it. Sorry for the false alarm! I should have checked all this before testing and believing the issues could be related to the firmware. It might not be perfect yet, but it does feel like it. Shout out to @pablohc for improving and extending the Spanish translation; I went back to English, as I was having the same concerns and would have liked to contribute the same way, but you got there first, so thanks a lot! 😄 |
Hi @DestinySpeaker Currently, 2-bit images with active anti-aliasing show ghosting of the text from the previous page. The proposed solution was a manual trick until we can figure out the Custom LUT. With AA active, draw a white rectangle where the image is located to clean up the ghosting. Without AA, you will not see this applied since there is no gray layers. |
Totally fine, fillRect is frequently used in the UI, not in the reader. It will make a visible difference in all settings screens etc. |
|
#1088 linking this so we can track any problematic images in once place |





Current RC Download
1.1.0-rc+402e887 (old)1.1.0-rc+b8e743e (old)1.1.0-rc+8f33bee (old)CrossPoint Release Candidate
This is a CrossPoint Release Candidate. Given the speed of changes in this repo, and the volume of people using it, running a little pre-release testing is becoming necessary. This set of changes will make up the public release, any functional issues found in testing this branch over the next few days will be merged back in before the release is cut.
Is this for me?
Are you feeling a little adventurous? Do you feel comfortable running into a few last minute bugs? Then this might be for you. As mentioned below, this will only typically be relevant for a few days before these changes become generally available.
What do I need to do?
If you're willing to test out this build, just run it on your device over the next few days and report back any functional issues you find with the release. Keep in mind the feedback for this RC should not be feature requests or recommendations, they should only be bugs which would block this release from going to the public.
Where do I find the build?
The easiest way is to look at the most recent completed "Compile Release Candidate" action which should have an artifact on it containing the firmware.bin file (also linked at the top of this description). You can directly flash this file using https://xteink.dve.al.
When's it going to be generally available?
I'll typically leave a few days between creating a release candidate, and then cutting a public release in order to gather feedback.
What's Changed
v1.1 includes image support in books, a web interface for your settings, multi-language support, a handful of UI updates to the default theme Lyra, and a bunch of other QoL improvements.
More thorough release notes will be written for the full release, as an RC tester take a scan of the items below and keep them in mind as they are the most likely areas to encounter issues.
Features
Fixes
nbsp;character as non-breaking space by @jdk2pq in fix: Account fornbsp;character as non-breaking space #757Internal
clang-format-fixby @ThatCrispyToast in fix: add distro agnostic shebang and clang-format check toclang-format-fix#840New Contributors
Issues raised for RC:
Non-blocking
@coderabbitai ignore