UI polish: 公共组件、高频流程与次级页面打磨 - #22
Merged
gkeyes merged 11 commits intoSep 22, 2026
Merged
Conversation
Apply Emil-inspired design polish to the existing Compose components: - Measure toolbar controls before laying out titles, including RTL and large text. - Keep search geometry stable and expose focused state without hidden controls. - Defer navigation animation reads to placement and drawing, preserving hit targets. - Clarify settings rows and make disclosure feedback interruptible. - Add parameterized Android behavior regressions for six appearance variants. Preserve public component APIs, existing materials, runtime behavior and dependencies. Android compilation and behavior verification are delegated to the existing PR CI.
Settle initial content before freezing the clock, advance a frame after each click before checking semantics, and restore clock state in finally. Preserve all theme cases and rapid retargeting assertions; additionally verify that all three click events are delivered and the final state holds. Fixes the six disclosure test failures in Android CI run 35676762827.
…nagement lists Prioritize favorites, compact catalog sorting and empty states, display verified manifest descriptions through the existing icon cache, open the actual imported tool, share confirmation content without replacing dialog hosts, and emit management rows as keyed lazy items. Preserve the branch-only Android UI test waiver, original signing workflows, app identity, permissions, package validation, and runtime behavior. Add JVM import-target state regressions; no emulator tests added.
…aries Clarify group selection and unsaved edits, streamline appearance settings with a live token preview, show per-tool host grant summaries, prioritize backup actions and restore counts, and make browser address actions directly accessible. Keep original permission defaults and mutation paths, backup consent and rollback, browser security controls, app identity, dependency graph and branch-only emulator waiver. Add JVM regressions for draft changes, restore summaries and permission counts.
Preserve existing secondary-page changes and wire the cached tool name into loading and exit feedback without a new catalog subscription. Keep runtime readiness, WebView lifetime, navigation timing and confirmation behavior unchanged. Use indeterminate feedback rather than a fabricated percentage. Keep short errors and startup warnings visible, while long runtime diagnostics retain their first reason and full selectable details. Preserve old composable signatures and add six JVM presentation regressions. No changes to dependencies, permissions, database, package identity, version, signing or emulator-test policy.
Owner
Author
原签名 Release APK 已交付(包含第一、第二批优化)更新此前“尚未签名/构建进行中”的状态:
实际 APK 校验
包含 不在本地编译或签名,不导出私钥,不合并 PR,不修改默认分支,不发布新的 GitHub Release。Android 模拟器 UI 测试仍为 NOT RUN,真机视觉/性能仍未实测;签名和编译成功不等于完成 UI 验收。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
范围与边界
在
codex/ui-polish-emil-20260922上继续开发,目标默认分支codex/refactor-lightweight-v2。保持草稿,不合并、不修改默认分支、不发布 Release。参考
emilkowalski/skills的稳定布局、即时反馈、克制动效和清晰层级,沿用 Jetpack Compose、Miuix / LiquidGlass 与现有公共组件;不新增依赖、不替换导航框架。第二批:次级页面打磨
基于第一批
a4b65a3ccfc58dbe50b6f9363d969ad33bd9dcfa,保留并整合以下三个提交:1be52264e3ff05f88ded5c7a2c16cbd478853489:设置、外观、分组、权限摘要、备份与浏览器优化。347360b66c3d8464efe9268eab374cb9d4e0b6ae:关闭请求被草稿确认或保存状态拦截时,面板拖动位置仍复原。b818122dec51e9b028f049a2fcf40bf6db63cd42:补齐工具加载、退出和长错误展示;基于上一个提交追加,未覆盖已有第二批改动。相对第一批合计 12 个生产文件、4 个 JVM 单元测试文件。应用包名、版本号、数据库、工具包协议、依赖及构建/签名工作流未变。最后一笔补充仅修改 3 个生产文件和 1 个 JVM 测试文件,导航文件仅增加展示名称传递。
验证与当前构建
最新 Android CI 35707164552,HEAD
b818122dec51e9b028f049a2fcf40bf6db63cd42。本说明更新时:接口、内嵌 SDK、安全入口、Wasm 打包和发布证据检查已通过;
Build APKs (Android UI tests disabled)正在运行,JVM 检查和产物上传尚未取得结果。不能将前一提交的构建结果当作当前 HEAD 的结果。已回读提交和差异,并用非强制 fast-forward 更新原优化分支,保留全部第一批及已有第二批提交。所有 Android 编译只通过 GitHub Actions;未进行本地编译、模拟器或真机操作。
第二批新增 16 个 JVM 回归用例:
GroupDraftPresentationTest3 个:未修改、名称/成员/顺序变化、新建空分组。BackupPresentationTest3 个:跳过冲突不计覆盖、空清单、全部跳过。ToolPermissionSummaryTest4 个:显式关闭优先、原默认策略、其他工具/未声明授权不计入、无声明状态。RuntimePresentationTest6 个:已知/缺失工具名、退出保存提醒、短错误原样、长错误首行与完整详情、多行错误、单行长度边界。上述是提交的用例范围;最终执行结果以最新 CI 为准。Android UI 测试继续 NOT RUN,未重新启用,不将跳过作为通过。
第一批高频页面修改(保留)
功能提交
2f6aae3bd6e9c4e1b88cf37ef7b74f190d1306e2,字段修复a4b65a3ccfc58dbe50b6f9363d969ad33bd9dcfa。收藏前置、空区域压缩、真实工具描述与版本降级、列表排序与数量整合、清除空搜索、导入后打开真实工具、专用导入页结果不被首页计时清除、确认弹窗内容规范,以及权限/后台任务逐项懒加载。
第一批 Android CI 35702544764 的 Debug/Release 编译、JVM、接口与资源检查及 APK 上传已通过。缺失 description 映射的编译错误已修复,未绕过清单验证器。
更早的公共组件优化(保留)
顶部标题避让实际按钮;搜索清空按钮固定槽位与聚焦反馈;玻璃导航视觉内容轻缩至 97%,逐帧值在布局/绘制阶段读取;过滤空说明、纯信息项不显示进入箭头,可反向折叠动效。
模拟器测试与发布边界
仅本仓库 PR #22/本优化分支手动运行跳过 UI 测试 APK 编译和模拟器执行,保留普通 APK 编译、JVM、接口及资源检查,范围为
build_and_unit_only。默认分支、其他 PR 与正式签名任务原规则未改。此前新增折叠测试时钟问题已修复,随后模拟器桌面 ANR 抢占焦点,用户要求停用本分支模拟器测试;没有声称每个历史失败均已逐一证明为环境问题。
签名与待验收事项
此前提供的原签名 APK 只包含更早的公共组件批次,不包含第一/第二批页面改动。独立签名任务仍绑定旧成功产物,本轮没有修改它;普通 PR Debug/未签名 Release 不能当作原签名覆盖安装包。
真机视觉、键盘与大字体、实际拖动/返回行为及帧时间尚未实测;不宣称全部卡顿或 UI 回归已解决。