Files
mqttx/gpui-app/Cargo.toml
T
JoeAllen bf6d165854
Release / Meta (push) Canceled after 0s
Release / Test (push) Canceled after 0s
Release / Build (ubuntu-latest) (push) Canceled after 0s
Release / Publish package (push) Canceled after 0s
feat: OTA 自更新(Gitea Release 为更新源)
- update.rs:检查最新 Release(latest 端点+列表回退)、版本比较、
  平台产物挑选(含 .sha256 侧车)、下载进度、sha256 校验、
  自替换(改名 .old → 换入新 exe → 拉起新进程)、启动清理遗留
- 设置 → 关于:检查更新按钮、发现新版本提示、下载进度条(Progress)、
  失败重试;自动检查更新开关真正生效(启动后台检查并弹通知)
- 版本 1.0.0 → 1.0.1(首个带 OTA 的发布版本)
- 顺手修 clippy 遗留警告(is_none_or、合并 if)
2026-09-28 23:44:56 +08:00

46 lines
1.5 KiB
TOML

[package]
name = "mqttx-desktop"
version = "1.0.1"
edition.workspace = true
description = "MQTT X —— 基于 GPUI 的跨平台 MQTT 调试客户端"
default-run = "mqttx"
[[bin]]
name = "mqttx"
path = "src/main.rs"
[dependencies]
gpui-kit = "0.6"
anyhow = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# MQTT 引擎运行在独立的 tokio runtime 线程上
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "net", "time", "io-util"] }
# GPUI 侧与引擎线程通信使用 smol 通道(GPUI 执行器兼容)
smol = "2"
rumqttc = { package = "rumqttc-v5-next", version = "0.34", features = ["websocket"] }
rumqttc-v4 = { package = "rumqttc-v4-next", version = "0.34", features = ["websocket"] }
uuid = { version = "1", features = ["v4"] }
chrono = { version = "0.4", features = ["clock"] }
dirs = "6"
# 阿里云 MQTT 签名: HMAC-SHA1 -> Base64
hmac = "0.12"
sha1 = "0.10"
base64 = "0.22"
# 自定义 TLS(自定义 CA / 双向认证 / 跳过校验),版本与 rumqttc 内部使用的 rustls 一致
rustls = { version = "0.23", default-features = false, features = ["std", "tls12", "aws_lc_rs"] }
# 加载系统根证书,作为自定义 CA 的补充
rustls-native-certs = "0.8"
# 原生文件对话框(连接导入/导出);Windows 走内建 COM 后端,Linux 用默认 xdg-portal
rfd = "0.17"
# OTA 自更新:Gitea Release 检查/下载(ureq 用 rustls,与 rumqttc 依赖同源)
ureq = { version = "2", features = ["json"] }
sha2 = "0.10"