Skip to content

fix: preserve Android translation drafts and saved-session actions - #326

Merged
yuxino merged 5 commits into
mainfrom
fix/android-functional-regressions
Oct 25, 2026
Merged

yuxino merged 5 commits into
mainfrom
fix/android-functional-regressions

Conversation

@yuxino

@yuxino yuxino commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Android could lose an explicit Custom translation preset on recreation, validate the previous route after a rapid selection, leave a newly opened history page at the bottom, or discard a returned export request during refresh. Preserve the RAM-only route draft, reconcile the current selection before Save/Check, reset only a changed page, and finish an accepted export on the existing worker even after its reader closes.

Shared DeepL/DeepLX diagnostics now distinguish 429 rate limits and 456 quota exhaustion. The eight desktop languages use service-appropriate guidance, and every Android locale keeps the development application identifiable as mimi Dev. Provider request formats, models and translation prompts are unchanged.

Validation:

  • Complete canonical checks passed for the shared/backend changes; the final multilingual frontend follow-up passed 1,801 focused tests. Final CI passed on macOS, Windows, Linux and Windows ARM64, together with the complete Android workflow (desktop CI, Android CI).
  • Android debug/release each passed 298 JVM tests including actual JNI contracts; both lint variants, test APK assembly and four-ABI release APK verification passed locally.
  • A fresh Android 15/API 35 arm64 emulator reproduced the draft, pagination and export failures before the fixes and passed the corresponding cases afterward. Additional native checks passed for profiles, three realtime modes, light/dark translation forms and setup actions, loopback connection feedback/cancellation, eight languages, help, waiting/recovery states, overlay drag/resize, provider badges, saved-overlay visibility and 41 preview comparisons.
  • Large German text, history paging, export during refresh, export followed by reader closure, and 1600×720 landscape at 2× font scale passed. The long-caption case uses actual touch gestures to enter full-text reading and resume following.
  • The final macOS application was installed locally after a complete signing-identity comparison and verified to open idle from its canonical path.

Screenshots of the Android preset lists are comment attachments only. Native tests use synthetic configuration, captions and archives, plus loopback responses. The export race uses a controlled document-result callback and local URI; process death, every DocumentsProvider, physical Android devices, real capture, real provider quality and long sessions remain unverified. No public release is part of this PR.

@yuxino

yuxino commented Oct 25, 2026

Copy link
Copy Markdown
Owner Author

Android 翻译预设列表实拍:浅色上/下段、深色上/下段。图标随 APK 本地打包;Index-Translate 使用 B 站官方发布者字标,未自行杜撰品牌标记。

环境:Android 15 / API 35 arm64 临时模拟器;生产实现 f51d3b4,最终截图夹具 37863a2。表单保存/取消、草稿恢复、预设引导与本地连接回归已通过。画面使用合成配置,无真实密钥、提供商请求或采音;实体机与真实服务效果另验。图片仅作为评论附件,不进入项目。
android-translation-preset-icons-light
android-translation-preset-icons-bottom-light
android-translation-preset-icons-dark
android-translation-preset-icons-bottom-dark

@yuxino yuxino changed the title fix: preserve Android settings and saved-session operations fix: preserve Android translation drafts and saved-session actions Oct 25, 2026
@yuxino
yuxino marked this pull request as ready for review October 25, 2026 17:40
@yuxino
yuxino merged commit 9500f47 into main Oct 25, 2026
16 checks passed
@yuxino
yuxino deleted the fix/android-functional-regressions branch October 25, 2026 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant