Repository navigation
Conversation
…/PhoneLinkCodec.kt (bytefolk#342 review)
…/PhoneViewModel.kt (bytefolk#342 review)
…/MainActivity.kt (bytefolk#342 review)
…/PhoneLinkCodecTest.kt (bytefolk#342 review)
…ext (bytefolk#339) Do not auto-select roles.first() on loadOrg. Reconnect waits 1/2/4/8/16s. Release HTTPS only; debug source set permits HTTP for 127.0.0.1. Add android-client.yml so gradle test actually runs.
|
这发生在 #362 |
…folk#339) Drop android-actions/setup-android. It still invokes sdkmanager tools (removed by Google) and multiline packages were parsed as one name. Use the runner cmdline-tools to install platform-tools, android-35, and build-tools only.
|
head e5f6c11 仍没跑到
packages: platform-tools 'platforms;android-35' 'build-tools;35.0.0'不要用 |
waterbro-8
left a comment
There was a problem hiding this comment.
Review — Approve
Head 5d65d0c8。先前三个 blocker 都在:
- Android CI 真跑了。 不再用
android-actions/setup-android(默认sdkmanager tools)。sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0"之后gradle test在本 head pass(约 1m54s)。 - 指数退避。
PhoneLinkCodec.reconnectDelayMs为 1s/2s/4s/8s/16s,单测覆盖。 - 不隐式选第一角色。
loadOrg()只保留仍存在的selectedRoleId;send()空选拒绝。
debug/main 的 network security config 拆开了。非 CODEOWNER,不能当合并闸门。
waterbro-8
left a comment
There was a problem hiding this comment.
Independent re-review — APPROVED
复核 head 5d65d0c,#342 记录的三个 blocker 均已闭环:
.github/workflows/android-client.yml已进入该分支;runner 使用自带 cmdline-tools,明确只安装platform-tools、platforms;android-35、build-tools;35.0.0,不再调用已下线的 SDKtools包。PhoneLinkCodec.reconnectDelayMs为 1/2/4/8/16 秒,并有单测覆盖。loadOrg()不再选择roles.firstOrNull();刷新时只保留仍存在的已选 role,send()在没有显式选择时拒绝发送,UI 通过组织页点击建立选择。
Network security config 已拆为 main cleartext=false、debug cleartext=true,当前 manifest 未再全局允许明文。
Fresh CI evidence:gradle test job 成功,日志包含 SDK package 安装、testDebugUnitTest / testReleaseUnitTest,最终 BUILD SUCCESSFUL(45 actionable tasks)。桌面 Node、依赖审查、Scorecard、staging/installer/layout jobs 也通过。
Non-blocking follow-up:后续可补 PhoneViewModel 的行为级单测;不影响本次 #342 三个 merge blocker 的验收。
Summary
Follow-up to #342 for #339. Does not close #342; this head contains #342 plus the three remaining merge blockers.
Fixes
.github/workflows/android-client.ymlrunsgradle test(JDK 17 + Android SDK, Gradle 8.9) onmobile/android/**.PhoneLinkCodec.reconnectDelayMsis 1s/2s/4s/8s/16s (not1000 * attempt). Unit-tested.loadOrg()keepsselectedRoleIdonly if that id is still in the snapshot. It never assignsroles.firstOrNull().send()still refuses an empty selection.Also splits network security config:
src/maincleartext=false,src/debugcleartext=true (AAPT-valid, no nested<network-security-config>inside debug-overrides).AC (#339)
GET /api/mobile/workspace— from feat(android): Kotlin Compose native RoleWeave client (#339) #342Turns still run on the desktop. No Play Store / on-device Agent.
Validation ledger
gradle testinmobile/androidandroid-client.ymlis the evidence path.Refs #339