diff --git a/app/android/src/main/kotlin/io/github/cubsync/android/ConnectScreen.kt b/app/android/src/main/kotlin/io/github/cubsync/android/ConnectScreen.kt index 042085c..d39210c 100644 --- a/app/android/src/main/kotlin/io/github/cubsync/android/ConnectScreen.kt +++ b/app/android/src/main/kotlin/io/github/cubsync/android/ConnectScreen.kt @@ -92,15 +92,16 @@ fun ConnectScreen(state: AndroidAppState) { "0.0 MB/s" } - // The design leads with the adb loopback: a channel the protocol promises - // and this build has not opened. It is drawn and it is tappable, and tapping - // it says which of those two things is true. + // The design leads with the adb loopback. The link is opened by the desktop + // (`adb forward` runs on the host, not here), so on the phone this row is a + // view of the cable rather than a switch: the phone is already serving, and + // the switch stays off because nothing on this side turns it on. CardRow( title = Channels.USB_ADB_NAME, detail = "${Channels.USB_ADB_ADDRESS} · $rate", icon = IconPaths.DEVICE, - onClick = { state.notify(Channels.ADB_RESERVED, NoticeKind.INFO) }, - trailing = { Toggle(false) { state.notify(Channels.ADB_RESERVED, NoticeKind.INFO) } }, + onClick = {}, + trailing = { Toggle(false) {} }, ) for (nic in nics) { CardRow( diff --git a/app/android/src/test/resources/screenshots/phone/windows/01-connect.png b/app/android/src/test/resources/screenshots/phone/windows/01-connect.png index 7f7ec2c..faf589e 100644 Binary files a/app/android/src/test/resources/screenshots/phone/windows/01-connect.png and b/app/android/src/test/resources/screenshots/phone/windows/01-connect.png differ diff --git a/app/android/src/test/resources/screenshots/phone/windows/07-logs.png b/app/android/src/test/resources/screenshots/phone/windows/07-logs.png index a306196..ac9d792 100644 Binary files a/app/android/src/test/resources/screenshots/phone/windows/07-logs.png and b/app/android/src/test/resources/screenshots/phone/windows/07-logs.png differ diff --git a/app/desktop/src/main/kotlin/io/github/cubsync/desktop/ui/ConnectScreen.kt b/app/desktop/src/main/kotlin/io/github/cubsync/desktop/ui/ConnectScreen.kt index 75e7197..ff5c3a9 100644 --- a/app/desktop/src/main/kotlin/io/github/cubsync/desktop/ui/ConnectScreen.kt +++ b/app/desktop/src/main/kotlin/io/github/cubsync/desktop/ui/ConnectScreen.kt @@ -284,7 +284,9 @@ private fun ChannelsCard(state: AppState, server: ServerState) { address = Channels.USB_ADB_ADDRESS, rate = if (adbOn) rate else "0.0 MB/s", enabled = adbOn, - onClick = { state.notify(Channels.ADB_RESERVED, NoticeKind.INFO) }, + // The link is real now: this row is the `adb forward` it opened, so tapping it + // looks for devices instead of apologising for a promise. + onClick = { state.refreshAdb() }, ) for (nic in nics) { ChannelRow( diff --git a/app/desktop/src/test/resources/screenshots/windows/00-transfer.png b/app/desktop/src/test/resources/screenshots/windows/00-transfer.png index 580addb..dfef7bc 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/00-transfer.png and b/app/desktop/src/test/resources/screenshots/windows/00-transfer.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/01-connect.png b/app/desktop/src/test/resources/screenshots/windows/01-connect.png index 419c5ca..04a1191 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/01-connect.png and b/app/desktop/src/test/resources/screenshots/windows/01-connect.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/02-sync.png b/app/desktop/src/test/resources/screenshots/windows/02-sync.png index e305969..4a8bdd7 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/02-sync.png and b/app/desktop/src/test/resources/screenshots/windows/02-sync.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/03-jobs.png b/app/desktop/src/test/resources/screenshots/windows/03-jobs.png index 4942a79..d2f351f 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/03-jobs.png and b/app/desktop/src/test/resources/screenshots/windows/03-jobs.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/04-job-detail.png b/app/desktop/src/test/resources/screenshots/windows/04-job-detail.png index da257f6..27e38be 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/04-job-detail.png and b/app/desktop/src/test/resources/screenshots/windows/04-job-detail.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/05-logs.png b/app/desktop/src/test/resources/screenshots/windows/05-logs.png index cc10985..5b9048d 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/05-logs.png and b/app/desktop/src/test/resources/screenshots/windows/05-logs.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/06-settings.png b/app/desktop/src/test/resources/screenshots/windows/06-settings.png index 7b150c1..70ca358 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/06-settings.png and b/app/desktop/src/test/resources/screenshots/windows/06-settings.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/07-transfer-light.png b/app/desktop/src/test/resources/screenshots/windows/07-transfer-light.png index 960bf74..6b2797c 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/07-transfer-light.png and b/app/desktop/src/test/resources/screenshots/windows/07-transfer-light.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/08-transfer-compare.png b/app/desktop/src/test/resources/screenshots/windows/08-transfer-compare.png index 067f790..066dfea 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/08-transfer-compare.png and b/app/desktop/src/test/resources/screenshots/windows/08-transfer-compare.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/09-transfer-card.png b/app/desktop/src/test/resources/screenshots/windows/09-transfer-card.png index 43e0923..3b124d8 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/09-transfer-card.png and b/app/desktop/src/test/resources/screenshots/windows/09-transfer-card.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/10-transfer-viewmenu.png b/app/desktop/src/test/resources/screenshots/windows/10-transfer-viewmenu.png index 678480f..b9bc022 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/10-transfer-viewmenu.png and b/app/desktop/src/test/resources/screenshots/windows/10-transfer-viewmenu.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/11-transfer-compact.png b/app/desktop/src/test/resources/screenshots/windows/11-transfer-compact.png index e16f081..95c06e5 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/11-transfer-compact.png and b/app/desktop/src/test/resources/screenshots/windows/11-transfer-compact.png differ diff --git a/app/desktop/src/test/resources/screenshots/windows/12-transfer-thumb.png b/app/desktop/src/test/resources/screenshots/windows/12-transfer-thumb.png index 98c5750..37dadb9 100644 Binary files a/app/desktop/src/test/resources/screenshots/windows/12-transfer-thumb.png and b/app/desktop/src/test/resources/screenshots/windows/12-transfer-thumb.png differ diff --git a/docs/releases/v0.3.15.md b/docs/releases/v0.3.15.md new file mode 100644 index 0000000..2a6b0f6 --- /dev/null +++ b/docs/releases/v0.3.15.md @@ -0,0 +1,53 @@ +
+

中文说明

+ +#### 下载 + +| 平台 | 文件 | +|---|---| +| Windows 安装 | `CubSync-0.3.15.msi` | +| Windows 绿色 | `CubSync-v0.3.15-windows-x64.zip` | +| Android | `CubSync-v0.3.15.apk` | + +#### 这一版改了什么 + +**深色模式能看清了。** 上一版把桌面深色换成了手机的颜色表,结果窗口底色和卡片底色是同一个值 —— 整窗一块黑板,卡片只剩一圈细线,说明文字糊在上面。现在回到设计稿里桌面自己的深色:画布 `#0F1116`、卡片 `#181B21`,中间的层次重新分得开;两档次要文字也提亮了,卡片里的整句说明不再需要凑近看。 + +**USB-ADB 不再是"已留位"。** 插上数据线,在「连接方式」里就能看到设备并发起连接:电脑端用 `adb forward` 把设备端口映射到本机,之后走的是和局域网完全一样的连接。手机端那一行现在是纯展示 —— 转发在电脑上做,手机只需要保持共享开启。 + +**协议协商**:没连上远端时,「远端版本」显示 `—`,不再显示 `0`(那个 0 读起来像协议之前的构建)。 + +#### 注意 + +- 两端请保持同一协议版本(v1)。旧版连新版会按 v3 兼容规则降级到单向。 +- 桌面深色/浅色可在设置里切换;这一版只动了深色。 +- Android 需要「所有文件访问」权限才能传输,首次打开会提示。 + +
+ +
+

English

+ +#### Download + +| Platform | File | +|---|---| +| Windows installer | `CubSync-0.3.15.msi` | +| Windows portable | `CubSync-v0.3.15-windows-x64.zip` | +| Android | `CubSync-v0.3.15.apk` | + +#### What changed + +**Dark mode is readable again.** The previous version gave the desktop the phone's colour table, where the window background and the card background are the same value — one flat black field, cards held apart only by a hairline, and every explanatory line smeared into it. Dark now uses the design's own desktop tokens: canvas `#0F1116`, cards `#181B21`, with the layer between them visible again. The two secondary text weights were raised as well, so a sentence inside a card no longer needs to be leaned into. + +**USB-ADB is no longer "reserved".** Plug in a cable and the device appears under 连接方式 and can be connected: the desktop runs `adb forward` to map the device's port onto this machine, and what follows is the same connection the local network uses. On the phone that row is a view rather than a switch — forwarding happens on the host, and the phone only has to keep sharing on. + +**Protocol negotiation**: with no peer, the remote version reads `—` instead of `0`, which looked like a build from before the protocol existed. + +#### Notes + +- Keep both ends on the same protocol version (v1). An older peer falls back to one-way by the v3 compatibility rules. +- Dark and light are switchable in Settings; only dark changed here. +- Android needs all-files access to transfer; the first launch asks for it. + +
diff --git a/gradle.properties b/gradle.properties index 29ab769..097a082 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ # The project version lives here so that build scripts, packaging and CI all read # a single value. See docs/VERSIONING.md for the versioning policy. -cubsync.version=0.3.14 +cubsync.version=0.3.15 org.gradle.jvmargs=-Xmx3g -XX:MaxMetaspaceSize=768m -Dfile.encoding=UTF-8 org.gradle.parallel=true diff --git a/service/src/main/kotlin/io/github/cubsync/service/UiSpec.kt b/service/src/main/kotlin/io/github/cubsync/service/UiSpec.kt index 06bf54b..ce28f42 100644 --- a/service/src/main/kotlin/io/github/cubsync/service/UiSpec.kt +++ b/service/src/main/kotlin/io/github/cubsync/service/UiSpec.kt @@ -178,9 +178,6 @@ object Channels { const val USB_ADB_NAME = "USB_ADB" const val USB_ADB_ADDRESS = "127.0.0.1:5740" - /** What tapping the adb row says while the link is still a promise. */ - const val ADB_RESERVED = "USB-ADB 已留位:协议支持,链路尚未打通,传输目前仍走局域网" - /** The same, for 多链路. */ const val MULTI_LINK_RESERVED = "多链路已留位:协议支持多链路,传输目前仍走其中一条" }