Commit Graph
7498 Commits
Author SHA1 Message Date
HapeLee ce22b9f20e fix: 高亮规则 fontPath 排版测量与绘制字体不一致导致行首行尾标点错位
排版阶段始终用默认字体测宽和断行,但绘制阶段才切换高亮规则字体,
导致不同字体的标点 advance 差异引起首尾符号错位。

- TextLine.addColumn(): 把 fontPath.isNotEmpty() 纳入 onlyTextColumn 判断,
  防止仅改字体的规则被 fastDrawTextLine 跳过
- TextColumn: 新增 internal getTypeface() 让排版阶段复用 typeface 缓存
- TextChapterLayout: 在 applyHighlightRules 后用 remeasureWithHighlightFonts()
  按字符/cluster 使用对应 fontPath 的 TextPaint 重新测宽,
  确保 ZhLayout 断行、desiredWidth、TextColumn.start/end 全部基于正确字体度量
2026-06-11 01:36:05 +08:00
HapeLee 8af29b969b fix: 关闭悬浮底栏时LiquidGlass回退导致卡死
将LiquidGlass→Haze回退逻辑从SystemMenuPage的双Intent分发移至
ViewModel的FloatingBottomBar处理器中,确保readMenuFloatingBottomBar
和readMenuBottomBarBlurMode在同一_uiState.update中原子更新,
避免渲染管线看到floating=false+blurMode=LiquidGlass的非法中间状态。
2026-06-11 01:36:05 +08:00
HapeLee 1eca67f133 revert: 撤回 mostRecentlyReadBook 查询 2026-06-11 01:36:05 +08:00
HapeLee 408db6145f fix: defaultToRead 时打开特定书籍被忽略
当 intent 指定了具体路由(如从书架打开某本书)时,
defaultToRead 不应覆盖,只在 intent 为默认首页时才自动跳转最近阅读。
2026-06-10 23:38:18 +08:00
HapeLee 2788d5e9d8 fix: defaultToRead 始终跳转同一本书
lastReadBook 查询有过滤 type & BookType.text > 0,
漫画等非文本类型书籍不会被返回,导致始终跳转到很久以前读过的文本类书。

新增 mostRecentlyReadBook 查询(不限类型),initData / initReadBookConfig
改用它获取最近阅读的书籍。
2026-06-10 21:34:27 +08:00
HapeLee 3a8c4af968 fix: 朗读问题 2026-06-10 21:17:03 +08:00
HapeLee b1f4b207cc fix: 阅读返回行为 2026-06-10 03:05:48 +08:00
HapeLee 62875c54d9 fix: 书签问题与高亮规则代码优化 2026-06-10 02:44:07 +08:00
HapeLee 6749faf6eb fix: 主页面卡顿问题 2026-06-10 01:45:32 +08:00
HapeLee 43d5f6d5e2 fix: 漫画偏好设置问题 2026-06-10 01:45:32 +08:00
HapeLee 7bf9dfa09b fix: 自动跳转最近阅读 2026-06-10 01:45:32 +08:00
HapeLee eef1f58f26 fix: 高亮规则增加更多配置 2026-06-10 01:45:32 +08:00
HapeLee b27f068525 fix: 电量显示 2026-06-10 01:01:15 +08:00
HapeLee 38bbe6f3ff fix: 阅读时换源与并发数量 2026-06-10 00:42:01 +08:00
HapeLee 7b9a5dca16 fix: 章节点击事件 2026-06-10 00:42:00 +08:00
HapeLee 1c3ea16043 fix: 探索页网格数量不保存问题 2026-06-10 00:42:00 +08:00
HapeLee 1d47e29a18 fix: 朗读引擎长按事件与选择事件 2026-06-10 00:42:00 +08:00
HapeLee 92614c2ca6 fix: View与Compose亮暗色主题冷启动不一致 2026-06-09 13:26:52 +08:00
HapeLee 88dd01e0be fix: 阅读界面屏幕方向设置无效 2026-06-09 13:08:05 +08:00
HapeLee b731d201c1 fix: 阅读界面电量显示 2026-06-09 13:08:05 +08:00
HapeLee 0adb3a1484 fix: WebDAV配置来源统一 2026-06-09 13:08:05 +08:00
HapeLee 264f93389a fix: 封面设置来源统一 2026-06-09 13:07:55 +08:00
HapeLee 18dd340de1 fix: 喵喵喵 2026-06-09 02:52:18 +08:00
fansan 92af15e560 fix: ReadStyleContent切换Tab时高度跳变问题 (#1322)
* fix: ReadStyleContent切换Tab时高度跳变问题

* chore:移除调试代码
2026-06-09 02:48:55 +08:00
HapeLee e28be0301b fix: 朗读相关 2026-06-09 02:48:12 +08:00
HapeLee f00da95724 fix: 点击区域样式 2026-06-09 02:13:27 +08:00
HapeLee 295a219760 fix: 阅读菜单书源名称点击事件 2026-06-09 01:45:45 +08:00
HapeLee 25f6eeaf48 fix: 翻页开关 2026-06-09 01:17:10 +08:00
HapeLee f9fb720ae3 fix: 底栏显隐开关 2026-06-09 01:02:14 +08:00
HapeLee 9a53f9eaf4 fix: 电量显示卡住及阅读记录丢失 2026-06-09 00:45:14 +08:00
HapeLee d0be59f607 fix: 阅读背景问题 2026-06-09 00:16:36 +08:00
HapeLee 43fc1e8614 fix: prefDelegate 直接读DataStore值 2026-06-08 22:22:10 +08:00
HapeLee 8d12e03113 fix: 配置无响应问题 2026-06-08 13:51:30 +08:00
HapeLee 5db49a101c fix: 阅读界面日夜选项 2026-06-08 13:51:30 +08:00
HapeLee 51d5efbc2b fix: dataStore逻辑 2026-06-08 13:51:18 +08:00
HapeLee 99b6635f04 fix: dataStore逻辑 2026-06-08 13:51:12 +08:00
HapeLee dced1d364d refactor: AppConfig.themeMode 改为直接读取 ThemeConfig.themeMode
删除 AppConfig.themeMode 缓存变量,isNightTheme 和 JsExtensions
统一从 ThemeConfig.themeMode(prefDelegate / MutableState)读取,
消除 SP listener 异步同步的时序问题。
2026-06-08 13:51:12 +08:00
HapeLee 2ba5f98db9 fix: dataStore逻辑 2026-06-08 13:51:12 +08:00
HapeLee bdc0424073 fix: 阅读界面切换亮暗色后 View 层立即生效
toggleDayNight() 设置 ThemeConfig.themeMode 后,同步更新
AppConfig.themeMode 缓存变量,避免 View 层通过 ReadStyleResolver
读取时因 SP listener 异步回调而拿到旧值。
2026-06-08 13:51:12 +08:00
HapeLee 26d9c8ae84 fix: dataStore逻辑 2026-06-08 13:51:12 +08:00
HapeLee e5c6643da8 fix: 修复阅读界面切换亮暗色主题无效的问题 2026-06-08 13:51:12 +08:00
HapeLee 9189b3dcfc fix: dataStore逻辑 2026-06-08 13:51:11 +08:00
HapeLee b0cb83fcce feat: 更新readme与群组 2026-06-08 02:37:59 +08:00
HapeLee 02569c9b4e feat: 更新readme与群组 2026-06-08 02:18:30 +08:00
HapeLee 2d4372f968 refactor: SP/DS 统一迁移 — PrefDelegate 双写 + DS 观察者 + 备份从 DS 读取
Phase 1: PrefDelegate.setValue 写入 SP 后异步同步到 DataStore (DsSync)
Phase 2: PrefDelegate.init 启动 DS 观察者,以 DS 为读取权威源,含类型回退
Phase 3: SettingsRepository 移除 syncToSharedPrefs,DS 为唯一写入源
Phase 4: Backup.kt 从 DataStore 读取配置(替代 defaultSharedPreferences)

修复:
- postMigrationSync 读取 DS String key 时 ClassCastException (runCatching)
- DS 观察者类型回退: typed key 读不到时从 stringPreferencesKey 转换
- DS 观察者安全读取: runCatching 避免类型不匹配崩溃
2026-06-08 01:21:50 +08:00
fansangg d43cf79274 fix:页面背景及类型更改时更新状态栏颜色 2026-06-08 01:21:50 +08:00
HapeLee 3647ee7979 fix: 朗读配置面板无法标识当前引擎及切换引擎后状态不一致 2026-06-08 01:19:47 +08:00
HapeLee 40cb04dfab fix: 修复 BgTextConfigSheet 中 Color.parseColor 崩溃问题
当 bgStr/bgStrNight 为空字符串或非法颜色值时,toColorInt() 会抛出
IllegalArgumentException: Unknown color。使用 runCatching 包裹并提供
合理的默认值(日间 #EEEEEE,夜间 #000000)。
2026-06-08 00:28:23 +08:00
HapeLee 4cc04b20d5 fix: DataStore迁移后主题配置丢失导致composeEngine重置
postMigrationSync()在App启动时校验SP中的主题key,若缺失则从DataStore补回。
解决进入ReadBookScreen触发首次DS访问后,composeEngine等配置被重置的问题。
2026-06-08 00:21:46 +08:00
fansan 5897304274 fix:修复菜单打开及切换配置时状态栏颜色未同步更新的问题 (#1310)
* fix:修复菜单打开及切换配置时状态栏颜色未同步更新的问题

* fix:ReadStyleContent底部tab不跟手,settledPage改成currentPage
2026-06-08 00:20:32 +08:00