Skip to content

Releases: SamLaio/ruru-reader-tw

modify_v3

Choose a tag to compare

@SamLaio SamLaio released this 24 May 07:27

modify_v3

modify_v2

Choose a tag to compare

@SamLaio SamLaio released this 24 May 06:52

本次改版內容

修復

  • 修正 Windows / PlatformIO 執行字型子集產生流程時,fontconvert.py 因 Python 輸出編碼不是 UTF-8 而觸發 UnicodeDecodeError 的問題。
  • 修正本機 Python 缺少 freetype-py 時,字型子集產生流程會直接失敗的問題;若 repo 內既有產好的字型 header,現在會沿用既有檔案並跳過重產。
  • 修正 Xtc::getmaxchapter() 在 parser 尚未建立時可能沒有回傳值的靜態檢查錯誤。
  • 修正 XtcReaderActivity::isRenderUpperHalf 未初始化的靜態檢查警告。
  • 修正 XtcParser::getChapterTitleByIndex() 中 return 後方仍有 log 的 unreachable code。

改善

  • 字型產生器現在會在缺少 freetype-py 時印出可直接使用的安裝指令:
    python -m pip install -r lib/EpdFont/scripts/requirements.txt
  • fontconvert.py 產出的字型 header 不再寫入本機絕對路徑,只保留穩定的檔名參數,避免不同開發機重產字型時造成無意義 diff。
  • 三個 Source Han Sans TC 內建字型 header 已重新產生穩定的 Command used 註解;字型資料本身未做功能性調整。

驗證

  • 已執行 python scripts/generate_ui_font_subset.py,三個字型 header 產生成功:
    • source_han_sans_tc_12_regular.h
    • source_han_sans_tc_10_regular.h
    • source_han_sans_tc_17_regular.h
  • 已執行 git diff --check,未發現 whitespace/error。
  • 本次未執行 PlatformIO build。

已知狀況

  • RELEASE_NOTES.md 依專案設定維持在 .gitignore 中,不會提交進 Git。
  • RESTART_ANALYSIS.md 仍為本機未追蹤檔,這次未納入提交。

modify_v1

Choose a tag to compare

@SamLaio SamLaio released this 24 May 05:25

本次改版內容

對應 commit:3d25f67 (Stabilize reader rendering and WSL build)

修復

  • 修復 EPUB 閱讀或背景渲染時間較長時,ESP32-C3 可能因 watchdog 逾時而重啟的問題。
  • 修復進入休眠、等待按鍵放開、啟動序列埠等待等流程中,長時間等待可能觸發 watchdog 的問題。
  • 修復 EPUB 頁面快取讀取失敗後會遞迴重新渲染的問題,避免極端情況下造成堆疊持續增長。
  • 修復 EPUB 閱讀器背景渲染 log 的 Serial.printf 參數錯誤,避免讀取到不正確的堆疊資料。
  • 修復書庫或搜尋結果為空時,按鍵導覽可能發生除以零的問題。
  • 修復檔案列表分頁計算可能產生無效頁面大小的問題。
  • 修復 EPUB 章節選擇頁翻頁時,可能產生負數選取索引的問題。
  • 修復檔案管理器頂部選單可選項目數量不正確,導致可能選到未啟用項目的問題。

改善

  • 在 EPUB 內容解析、頁面渲染、灰階輸出、閱讀器桌布載入/儲存、封面產生、最近閱讀清單載入、檔案搜尋與檔案複製等耗時流程中加入 watchdog reset。
  • 最近閱讀封面產生進度改為先計算安全的進度步進值,避免重複運算並降低空集合風險。
  • 檔案列表翻頁邏輯改為夾限與邊界檢查,讓空資料、短頁面與頁尾操作更穩定。

WSL / Linux 編譯相容性

  • 修正 HardwareSerial.h 標頭大小寫,解決 Linux/WSL 檔案系統大小寫敏感造成的編譯失敗。
  • 新增 .gitattributes,固定 shell script 使用 LF 換行,避免 WSL bash 執行測試腳本時受 CRLF 影響。
  • RELEASE_NOTES.md 已加入 .gitignore,這份本地發行說明不會被提交到 Git。

驗證結果

  • WSL pio run:default 通過。
  • WSL pio run:gh_release、gh_release_rc、slim 通過。
  • WSL hyphenation 評估通過:
    • English: 99.1023%
    • French: 100%
    • German: 97.7289%
    • Russian: 97.2167%
    • Spanish: 99.0236%
  • pio check 完成,PlatformIO 狀態為 PASSED。

已知狀況

  • pio check 仍會列出既有的 XTC 與第三方函式庫 cppcheck 提示,這次改版未處理該範圍。
  • pio test 目前沒有 PlatformIO 格式的測試套件可執行;本次使用專案既有的 WSL hyphenation 評估腳本作為完整測試的一部分。