mirror of
https://github.com/by-sonic/tglock.git
synced 2026-07-31 07:45:13 +03:00
af3b14395f
Симптом: на macOS приложение не запускается совсем — иконка подпрыгивает в доке и гаснет, хотя разрешение выдано. Причина. В #25 в крейте появился второй бинарь tglock-cli, а mainBinaryName в tauri.conf.json задан не был. Бандлер Tauri выбрал главным исполняемым файлом приложения headless CLI. Запуск .app стартовал консольный прокси, окна не создавалось. Проверено на опубликованных артефактах: CFBundleExecutable размер MacOS/* beta.1 tglock 18.6 МБ ← GUI, правильно beta.2 tglock-cli 4.5 МБ ← консольный прокси Задеты все платформы, не только macOS. В .deb лежит usr/bin/tglock-cli, а в TGLock.desktop прописан Exec=tglock-cli. Установщик Windows упал с 2.0 МБ до 0.6 МБ — тот же признак. То есть beta.2 не запускается нигде. Почему это уехало с зелёным CI: сборка релиза была успешной, потому что никто не проверял, что внутри бандла. Тесты гоняют ядро, а не собранное приложение. Исправление: mainBinaryName = "tglock" в tauri.conf.json. Проверено сборкой на этой же ветке — Tauri берёт tglock.exe, установщик вернулся к нормальному размеру. Чтобы это не повторилось, добавлены две проверки: - в CI, на каждый PR: mainBinaryName обязан совпадать с именем [[bin]], у которого required-features = ["gui"]. Проверено в обе стороны — на верном конфиге проходит, на подставленном tglock-cli падает; - в release.yml, после сборки: на macOS читается CFBundleExecutable из Info.plist, на Linux проверяется наличие /usr/bin/tglock в .deb. Смотрит внутрь настоящего артефакта, а не в конфиг. README: пример команды с хешем больше не прибит к конкретной версии, ссылка на запуск сборки заменена на общее указание, и добавлена строка для тех, кто уже скачал beta.2 и не смог её открыть. Co-authored-by: by-sonic <171230345+by-sonic@users.noreply.github.com>
56 lines
1.2 KiB
TOML
56 lines
1.2 KiB
TOML
[package]
|
|
name = "tglock"
|
|
version = "2.0.0-beta.3"
|
|
edition = "2021"
|
|
rust-version = "1.88"
|
|
description = "Telegram unblock via local WebSocket tunnel"
|
|
license = "MIT"
|
|
autobins = false
|
|
|
|
[features]
|
|
default = ["gui"]
|
|
# The desktop GUI. Turning it off drops Tauri, the system WebView and the
|
|
# frontend bundle from the build, which is what makes headless servers and
|
|
# machines without a GPU or monitor able to build and run TGLock at all.
|
|
gui = ["dep:tauri", "dep:tauri-build", "dep:open"]
|
|
|
|
[lib]
|
|
name = "tglock"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "tglock"
|
|
path = "src/main.rs"
|
|
required-features = ["gui"]
|
|
|
|
[[bin]]
|
|
name = "tglock-cli"
|
|
path = "src/bin/cli.rs"
|
|
|
|
[dependencies]
|
|
tauri = { version = "2", features = [], optional = true }
|
|
open = { version = "5", optional = true }
|
|
clap = { version = "4", features = ["derive"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
tokio = { version = "1", features = [
|
|
"rt-multi-thread",
|
|
"net",
|
|
"io-util",
|
|
"time",
|
|
"macros",
|
|
"sync",
|
|
"signal",
|
|
] }
|
|
tokio-tungstenite = { version = "0.24", features = ["native-tls"] }
|
|
native-tls = "0.2"
|
|
futures-util = "0.3"
|
|
aes = "0.8"
|
|
ctr = "0.9"
|
|
cipher = "0.4"
|
|
sha2 = "0.10"
|
|
rand = "0.8"
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [], optional = true }
|