Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

### Fixed

- On the X4 Pro and Sticky, the Home screen no longer stalls waiting for the SD card while the Library indexes in the background.
- Small images that are scaled up, such as a short progressive JPEG, are now cached after the first draw instead of being decoded again on every screen refresh.
- The serial log no longer reports errors for normal events: a missing image, section or dictionary cache file on first open, an outdated section cache being rebuilt, and a device without a clock chip or motion sensor. Log lines that were missing a line break now end cleanly, and SD, display, TLS and frontlight messages use the standard log format.
- X4 Pro light-sleep firmware shows its real version (for example `1.6.0-x4-pro`) instead of "dev" in Settings, on the boot screen, and in the web and OTA version checks.
Expand Down
5 changes: 5 additions & 0 deletions src/activities/library/LibraryPrewarm.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ bool serviceBuild(void*) {
fullSpeed.emplace();
pausedMs += millis() - pausedAtMs;
}
// Dual-core: give up the card for a tick between entries. The storage mutex
// does not hand off to a waiter, so without this the walk on core 0 can
// retake it before a Home task waiting on core 1 wakes, starving it for a
// whole directory. Single-core runs at idle priority and needs no yield.
if (portNUM_PROCESSORS > 1) vTaskDelay(1);
return !cancelRequested.load(std::memory_order_acquire);
}

Expand Down
Loading