mirror of
https://github.com/by-sonic/tglock.git
synced 2026-07-31 07:45:13 +03:00
b06272437c
Интерфейс построен на системном WebView, а тот без 3D-ускорения окно не создаёт. Отсюда весь класс жалоб: не стартует в виртуалке, не стартует с дефолтным драйвером Microsoft, не стартует без монитора. Диагноз в #17 дал @de4me: в VirtualBox приложение запускается только после включения галочки «Включить ускорение 3D». Перед стартом Tauri TGLock теперь сам запрашивает программный рендер: - Windows: WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS с --disable-gpu и --disable-gpu-compositing; - Linux: WEBKIT_DISABLE_COMPOSITING_MODE и WEBKIT_DISABLE_DMABUF_RENDERER; - macOS: не требуется, WebKit сам уходит в программный рендер. Для панели со статусом программный рендер не стоит ничего заметного, поэтому он выбран значением по умолчанию, а не аварийным режимом. Уже заданные оператором переменные не перезаписываются, TGLOCK_FORCE_GPU=1 отключает механизм целиком. Логика вынесена в чистую функцию software_rendering_vars и покрыта четырьмя тестами: значение по умолчанию, отключение через TGLOCK_FORCE_GPU, уважение чужой переменной и правильный набор ключей на каждой платформе. Версия поднята до 2.0.0-beta.2 в Cargo.toml, package.json и tauri.conf.json: нужен тег, чтобы в релиз попали и tglock-cli, и этот фикс. README получил отдельный вопрос в FAQ про «окно не появляется», ARCHITECTURE_V2.md — обновлённый пункт в Current limitations. Co-authored-by: by-sonic <171230345+by-sonic@users.noreply.github.com>
51 lines
1.3 KiB
JSON
51 lines
1.3 KiB
JSON
{
|
|
"$schema": "https://schema.tauri.app/config/2",
|
|
"productName": "TGLock",
|
|
"version": "2.0.0-beta.2",
|
|
"identifier": "com.bysonic.tglock",
|
|
"build": {
|
|
"beforeDevCommand": "npm run dev",
|
|
"devUrl": "http://localhost:1420",
|
|
"beforeBuildCommand": "npm run build",
|
|
"frontendDist": "dist-ui"
|
|
},
|
|
"app": {
|
|
"windows": [
|
|
{
|
|
"label": "main",
|
|
"title": "TGLock",
|
|
"width": 460,
|
|
"height": 620,
|
|
"minWidth": 460,
|
|
"minHeight": 620,
|
|
"resizable": false,
|
|
"fullscreen": false,
|
|
"center": true,
|
|
"backgroundColor": "#070A10",
|
|
"titleBarStyle": "Overlay",
|
|
"hiddenTitle": true
|
|
}
|
|
],
|
|
"security": {
|
|
"csp": "default-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src ipc: http://ipc.localhost"
|
|
}
|
|
},
|
|
"bundle": {
|
|
"active": true,
|
|
"targets": ["app", "dmg"],
|
|
"icon": [
|
|
"icons/32x32.png",
|
|
"icons/128x128.png",
|
|
"icons/128x128@2x.png",
|
|
"icons/icon.icns",
|
|
"icons/icon.ico"
|
|
],
|
|
"category": "Utility",
|
|
"shortDescription": "Telegram connectivity through a local MTProto proxy",
|
|
"longDescription": "TGLock restores Telegram connectivity through an adaptive WebSocket tunnel.",
|
|
"macOS": {
|
|
"minimumSystemVersion": "11.0"
|
|
}
|
|
}
|
|
}
|