| fix: appload quirk workaround (#15475) AppLoad's quirk of removing framebuffer when nothing's holding framebuffer even though app is running prevented crash handling and restarting KOReader to fail, so introduce a keep-alive process (which was LLM assisted, and it's very cursed, but it works!) to work around this issue. It wasn't a problem for shimmed version since shim loaded even for sh handling shell script too, which acted as keep-alive. | 1 个月前 |
| ci: bump docker image (#15536) | 18 天前 |
| ci/macos: add workflow dispatch (#15346) | 1 个月前 |
| Drop remains of non-functional Ubuntu Touch target (#15442) In favor of the standard Linux build with koreader/koreader-base#2373. Close #4960. | 1 个月前 |
| NetworkMgr: re-DHCP after Wi-Fi network switch on Kobo (#14790) (#15618) On Kobo, isConnected is aliased to ifHasAnAddress, which returns true as long as the interface holds any IP — including a stale lease from a previous network. The early-return gate in turnOnWifiAndWaitForConnection short-circuits before obtainIP() ever runs, so after switching networks KOReader reports "Connected" while every request times out on the old subnet's gateway. Track the SSID a lease was obtained for (lease_ssid) and add hasLeaseForCurrentNetwork(), which compares it against wpa_supplicant's reported association. Guard the fast-path gates in turnOnWifiAndWaitForConnection and doNothingAndWaitForConnection with it: on a stale lease, release the old IP and fall through to the normal reconnect path. lease_ssid is set in reconnectOrShowNetworkMenu (sync connect) and connectivityCheck (async restore), and cleared when Wi-Fi goes down or a connection is aborted. When the backend cannot report an SSID (non-wpa_supplicant platforms), hasLeaseForCurrentNetwork() returns true so connections are never churned on uncertainty, preserving existing behaviour everywhere but Kobo. Refs #14790, #14478, #14716 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjgwQjZY2xoZPSuSXBJqv8 | 21 小时前 |
| [reMarkable] fix: native QTFB OTA update (#15538) | 18 天前 |
| update metadata translations | 4 个月前 |
| kindle: Fix launch script path detection issues on older firmwares (#15625) Fixes #15622 | 1 天前 |
| Move kosync plugin settings into a separate file (#15591) | 6 天前 |
| Fix KOReader spelling in the code (#12670) | 1 年前 |
| NetworkMgr: re-DHCP after Wi-Fi network switch on Kobo (#14790) (#15618) On Kobo, isConnected is aliased to ifHasAnAddress, which returns true as long as the interface holds any IP — including a stale lease from a previous network. The early-return gate in turnOnWifiAndWaitForConnection short-circuits before obtainIP() ever runs, so after switching networks KOReader reports "Connected" while every request times out on the old subnet's gateway. Track the SSID a lease was obtained for (lease_ssid) and add hasLeaseForCurrentNetwork(), which compares it against wpa_supplicant's reported association. Guard the fast-path gates in turnOnWifiAndWaitForConnection and doNothingAndWaitForConnection with it: on a stale lease, release the old IP and fall through to the normal reconnect path. lease_ssid is set in reconnectOrShowNetworkMenu (sync connect) and connectivityCheck (async restore), and cleared when Wi-Fi goes down or a connection is aborted. When the backend cannot report an SSID (non-wpa_supplicant platforms), hasLeaseForCurrentNetwork() returns true so connections are never churned on uncertainty, preserving existing behaviour everywhere but Kobo. Refs #14790, #14478, #14716 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GjgwQjZY2xoZPSuSXBJqv8 | 21 小时前 |
| tools/mkrelease: tweak TAR.XZ output for new OTA mechanism Create one XZ block per TAR entry. | 1 个月前 |
| bump base (#15617) - turbo: fix and trim the fat (koreader/koreader-base#2399) - ffi/posix_h: fix regression on older glibc (koreader/koreader-base#2418) - certifi: update to 2026.6.17 (koreader/koreader-base#2419) - djvulibre: update to 3.5.30-1 (koreader/koreader-base#2420) - dkjson: update to 2.10 (koreader/koreader-base#2421) - libarchive: update to 3.8.8 (koreader/koreader-base#2422) - luajit: update to 2.1.1782381659 (koreader/koreader-base#2423) - sqlite: update to 3.53.3 (koreader/koreader-base#2424) - luajit: update to 2.1.1782726002 (koreader/koreader-base#2425) - tree-sitter: update to 0.26.10 (koreader/koreader-base#2426) | 2 天前 |
| Update translations for v2026.03 (#15090) | 3 个月前 |
| tests: speedup testsuite Bump test resources submodule: updated sample.pdf test file for faster processing by the testsuite. | 1 年前 |
| [CI] Add .codecov.yml (#4695) This should hopefully make it stop saying commits "fail" for not reaching 70 % coverage. | 7 年前 |
| experimental port to Mac OSX Currently it can open cre-based docs and Djvu docs It still has some problems with PDF docs and the touch input. | 10 年前 |
| Improve EmmyLua config (#15362) | 1 个月前 |
| git: ignore debian packages (#15118) | 3 个月前 |
| Drop remains of non-functional Ubuntu Touch target (#15442) In favor of the standard Linux build with koreader/koreader-base#2373. Close #4960. | 1 个月前 |
| luacheck: minor configuration cleanups - drop < 0.24.0 (2020) setting - explain all disabled warnings | 1 个月前 |
| tests: use new runner | 1 年前 |
| Add a config file for the Lua LSP (#10611) | 2 年前 |
| [CI] Add curly braces check (#5809) Update shellcheck and shfmt to the latest version. Fixes <https://github.com/koreader/koreader/issues/5152>. Btw, you can apply shellcheck suggestions with a command like: ``` shellcheck --include=SC2250 -f diff *.sh | git apply ``` | 6 年前 |
| switch license to AGPLv3 | 12 年前 |
| drop `appimage` target in favor of `linux` Cf. koreader/kobase#2298. The `linux` update target now build an AppImage too. Other miscellaneous changes: - AppImage: * better icons * update filename to conform to spec (`ApplicationName-$VERSION-$ARCH.AppImage`) * running from extracted contents will behave like the Linux distribution (multi-user mode) - Debian package: * better icons * update version to include git commit * drop fakeroot requirement for building * fix dependencies (based on our targeted Ubuntu LTS: 22.04, AKA Jammy) - Linux distribution: * better icons * improved start-up script (can be symlinked to) | 3 个月前 |
| Remove bountysource from README (#11385) Closes #11384. | 2 年前 |
| Disable external plugins and user-patches (#15593) | 6 天前 |
| feat: saturation control (#15381) | 1 个月前 |
| make: change android targets to `android-xxx` (#15351) Cf. koreader/koreader-base#2357. | 1 个月前 |
| Ensure device_id (#15151) | 3 个月前 |
| add provider module (#12641) * implements a Provider singleton, to be used by thirdparty plugins * exporter: support for thirdparty providers * splits plugin loading into two steps: discovery and load 1. get a list of all candidate plugins to load for the different paths 2. sort providers before on the rest of them and try to load them | 1 年前 |