Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/desktop/src/test/resources/screenshots/windows/02-sync.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/desktop/src/test/resources/screenshots/windows/03-jobs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/desktop/src/test/resources/screenshots/windows/05-logs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions docs/releases/v0.3.15.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<details>
<summary><h3>中文说明</h3></summary>

#### 下载

| 平台 | 文件 |
|---|---|
| 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 需要「所有文件访问」权限才能传输,首次打开会提示。

</details>

<details>
<summary><h3>English</h3></summary>

#### 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.

</details>
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 0 additions & 3 deletions service/src/main/kotlin/io/github/cubsync/service/UiSpec.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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 = "多链路已留位:协议支持多链路,传输目前仍走其中一条"
}
Expand Down
Loading