7722 Commits
Author SHA1 Message Date
HapeLee decdc9709c chore: add AGENTS.md and .agents/ for Codex agent configuration 2026-06-01 00:33:27 +08:00
fjsuta 52f3bd6862 ci: 添加用户手动触发构建APK的工作流 2026-05-31 16:19:54 +00:00
fjsutaandtraeagent 3f84a74f7b feat: 检查WebDav备份无响应问题
Co-authored-by: traeagent <traeagent@users.noreply.github.com>
2026-05-31 16:13:24 +00:00
fjsutaandtraeagent d0e057e091 feat: 检查WebDav备份无响应问题
Co-authored-by: traeagent <traeagent@users.noreply.github.com>
2026-05-31 14:37:48 +00:00
HapeLee 6cc229d9b9 @
revert: 回退rhino版本至1.8.1,移除1.9.1适配代码

- rhino 1.9.1 → 1.8.1
- VMBridgeReflect: 移除Context/ContextFactory fallback,恢复VMBridge反射
- ReadOnlyJavaObject/NativeBaseSource: 移除TypeInfoFactory适配,恢复Class<*>?构造
@
2026-05-31 22:03:33 +08:00
IsilsolmeandClaude Opus 4.8 947dbbfff1 Sort imports in PrefDelegate.kt
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 20:52:05 +08:00
IsilsolmeandClaude Opus 4.8 6ebe36dec9 Refine: make synchronous pref writes opt-in via sync parameter
Only use commit() (sync disk write) for preferences that opt in with
sync=true. The language preference in OtherConfig is currently the only
one that needs this — it triggers an immediate process restart via
context.restart().

Other string preferences continue using apply() (async) to avoid
unnecessary main-thread blocking.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 19:51:35 +08:00
IsilsolmeandClaude Opus 4.8 59468d1bc2 Fix language preference not persisting after app restart
Use commit() instead of apply() for String preference writes to ensure
the value is written to disk synchronously before the process is killed
during restart().

Root cause: SharedPreferences.apply() writes to memory immediately but
commits to disk asynchronously. When context.restart() calls
Process.killProcess()+exitProcess(0) immediately after writing the
language preference, the async disk write may not complete, causing the
new process to read the old value.

Closes #862

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 19:45:11 +08:00
HapeLee c63cf8921d 备份问题 2026-05-31 01:25:28 +08:00
HapeLee f0fe3875ab 书籍管理界面不显示音频类 2026-05-31 01:25:26 +08:00
Duanhlandduanhl 978d6d2840 fix: 翻译功能的一些小优化和修复 (#1225)
1. llm温度是可调的,对于ds而言,翻译1.3最佳,默认值调整成该值
2. 翻译字典,最多允许从50增加到80,取头尾各一半,因为小说出场最早和最近的人最重要

Co-authored-by: duanhl <duanhl7749@gmail.com>
2026-05-30 03:50:34 +08:00
HapeLee f8f19f7379 备份问题 2026-05-30 01:16:23 +08:00
HapeLee b408ba580a fix: restore backup JobCancellationException on Activity relaunch
Move restore coroutine from rememberCoroutineScope() to viewModelScope
so it survives Activity recreation during config changes.
2026-05-29 22:53:57 +08:00
HapeLee 288ffc2137 默认主页增加首页 2026-05-29 01:33:38 +08:00
HapeLee a512ad0b4a 一些界面优化 2026-05-29 01:27:56 +08:00
HapeLee 562af402d9 书架管理返回问题 2026-05-29 01:10:04 +08:00
HapeLee afee7886b1 主题管理字体颜色问题 2026-05-29 01:06:29 +08:00
HapeLee d350f7fcb3 优化 2026-05-29 01:06:00 +08:00
HapeLee 4c0a2256c2 修复源变量会被首页模块变量覆盖的问题 2026-05-29 01:02:17 +08:00
HapeLee c641ce5d44 修复反射修改 mPreferencesDir 未恢复导致备份恢复后设置丢失的问题 2026-05-29 01:02:17 +08:00
HapeLee 7f8b2c205b 修复订阅规则的崩溃问题 2026-05-29 01:02:16 +08:00
HapeLee 9742171bf2 优化发现刷新逻辑 2026-05-28 22:26:32 +08:00
HapeLee 2896b47dc6 修复书架页筛选失效和图标错位问题 2026-05-28 19:04:27 +08:00
HapeLee d2f14b05f2 修复 ExploreShowScreen 加载时出现两个加载指示器的问题 2026-05-28 18:54:29 +08:00
HapeLee 68c16cbc5a 优化 2026-05-28 00:15:01 +08:00
HapeLee 02dca3edc1 优化 2026-05-27 23:52:27 +08:00
HapeLee 6278f26839 搜索页:精准搜索从SettingsSheet移至topbar,移除搜索类型列表水平padding 2026-05-27 21:23:58 +08:00
aoi a9b14e5b50 修复 阅读界面-边距 按钮点击之后的行为与其它按钮不一致的问题 (#1214) @woruteyqi 2026-05-27 19:34:28 +08:00
HapeLee d3d107a4f8 首页骨架屏:替换占位提示为EmptyMessage,模块加载骨架屏及状态切换动画 2026-05-27 19:30:47 +08:00
HapeLee 134118011a 修复 2026-05-27 02:00:23 +08:00
HapeLee dccee3b210 fix: add docs/package-lock.json for VitePress CI build
The root .gitignore had a blanket `package-lock.json` rule that prevented
the docs lock file from being committed. Change it to `/package-lock.json`
(root-only) and commit the generated lock file so `npm ci` and
setup-node cache work in the docs workflow.
2026-05-27 01:23:00 +08:00
HapeLee 4a9d655d20 文档 2026-05-27 01:15:34 +08:00
Kudomaga 9e4139059c Merge pull request #1207 from journey-ad/feature/private-group
新增隐私分组功能
2026-05-27 01:10:58 +08:00
HapeLee 6a6a0c837f Merge origin/main into feature/private-group
Resolve conflict in BookInfoSheets.kt: keep MediumPlainButton style from main
while preserving showAddGroup logic from PR for correct new group creation.
2026-05-27 01:10:06 +08:00
HapeLee 30fe70ffae 一些神必优化 2026-05-27 01:00:58 +08:00
HapeLee df2aaff0e2 增加搜素分源布局 2026-05-27 01:00:58 +08:00
HapeLee e95665b8a0 优化 2026-05-27 01:00:58 +08:00
HapeLee b7826b54a7 新增项目详情与开发文档网页 2026-05-27 01:00:58 +08:00
HapeLee 65d5c84b56 字典无法导出的问题 2026-05-27 01:00:58 +08:00
Jad 41902a0bb8 新增隐私分组功能 2026-05-26 14:16:13 +08:00
Kudomagaandduanhl db5b18ca3c feature/bookinfo-related-books (#1201)
* feature: add translation full content

* feature: add translation full content

* feature: add translation full content

* feature: add translation full content

* feature: add translation full content

* feature:use chunk files replace chunk cache db

* feature:use chunk files replace chunk cache db

* feature:use chunk files replace chunk cache db

* feature: add translation config navigation and refactor translation settings

* feature: 体验优化

* feature: fixed error prompt

* Fix Gson deserialization error for LLM translation classes under R8 obfuscation

* Fix PMD error

* feature: pre-translation

* feature: pre-translation

* 优化

* 优化

* 增加书籍详情页关联书籍推荐功能

* 修复关联书籍"更多"按钮URL模板变量未解析的问题

* 修复发现按钮部分不执行JS的问题

* 优化书籍详情封面长按逻辑

* 阅读界面自定义图标问题

* R8反混淆问题

* 主题保存时保存图片等资源

* 在首页、发现页等长按时,提供了一个查看简短书籍信息的界面与右上角书籍信息角标。现在书籍信息角标在封面设置中显示

* 现在可配置主页图标

* 主页模块配置被遮挡的问题

* 一些优化

* fix: address code review findings (null safety, error propagation, performance)

- TranslateChapterUseCase: wrap execute() in try-catch to prevent task
  stuck in Translating state; propagate actual translation error instead
  of generic "Translation incomplete"; defensive null check on pairs
- DictionaryRepositoryImpl: safe call on pairs for Gson null-bypass
- LlmTranslateRepositoryImpl: safe calls on json.sentences and
  json.choices to prevent NPE from unexpected API responses
- ContentChunker: normalize \r\n to \n before splitting paragraphs
  to handle Windows-formatted text files
- BookInfoViewModel: parallelize related books loading with async/awaitAll
- CoilBookCover: add finalPath as remember key to reset state on reuse
- ThemeImportExport: fallback to filesDir when getExternalFilesDir is null

---------

Co-authored-by: duanhl <duanhl7749@gmail.com>
2026-05-26 01:45:04 +08:00
aoi 8205498f16 修复封面保存在cache路径里导致意外被清理的bug (#1169) @woruteyqi
修复封面保存在cache路径里导致意外被清理的bug
2026-05-26 00:49:05 +08:00
aoi 2d6fc67ac7 修复“文字操作显示搜索”UI没有响应的bug (#1171) @woruteyqi
修复“文字操作显示搜索”的ui没有响应的bug
2026-05-26 00:48:32 +08:00
197039d25a 加入小说翻译功能 (#1094)
* feature: add translation full content

---------

Co-authored-by: duanhl <duanhl7749@gmail.com>
Co-authored-by: HapeLee <63206378+HapeLee@users.noreply.github.com>
2026-05-24 03:57:35 +08:00
HapeLee c6cf239d49 增加网格模式封面大小自定义 2026-05-24 02:42:13 +08:00
HapeLee 7b32cb732f 修复一些问题 2026-05-24 02:39:59 +08:00
HapeLee 5b59b5a743 修复发现页书源互相污染的问题 2026-05-24 01:16:08 +08:00
HapeLee d2853244be 优化 2026-05-23 15:39:49 +08:00
HapeLee be2041c7da 优化 2026-05-23 14:36:47 +08:00
Kudomaga 5fa4196521 触发一下自动构建 2026-05-23 04:53:24 +08:00