diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b4f52c..0075634 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ Diese Liste beschreibt in einfachen Worten, was sich von Version zu Version an T ### Behoben +- Desktop-App: die Knöpfe „Herunterladen“ unter Einstellungen → Desktop-App waren in der App ohne Funktion (Windows und Linux) – der Download öffnet sich jetzt im Browser des Systems - Desktop-App: der Update-Eintrag im Menü des Infobereich-Symbols bleibt nicht mehr stumm ausgegraut – schlägt die Update-Prüfung fehl, steht der Grund im Eintrag (z. B. „HTTP 401“, wenn ein Passwortschutz am Proxy die Anfrage abweist) und ein Klick prüft erneut; die App prüft außerdem alle vier Stunden, nicht mehr nur beim Start - Favoriten-Widget: kein Symbol bei Seiten mit Zertifikatsfehler oder internen Adressen – das Symbol wird jetzt trotz Zertifikatsfehler geholt, bei internen Adressen versucht es der Browser direkt diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 899fff3..f8bb74a 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -713,6 +713,39 @@ pub fn run() { get_client_info ]) .setup(|app| { + // Hauptfenster im Code statt in tauri.conf.json (`app.windows` ist + // leer), weil nur der Builder einen Download-Handler annimmt. Ohne + // Handler verpufft ein Klick auf "Herunterladen" (Einstellungen -> + // Desktop-App) in der Webansicht: webkit2gtk verwirft den Download + // still, WebView2 zeigte ebenfalls nichts (Nutzer, 22.09.2026, + // Windows und Linux). Der Handler bricht den Download in der App ab + // und reicht die Adresse an den System-Browser weiter -- dort gibt + // es Fortschritt, Speicherort und ein Passwortfenster fuer einen + // vorgeschalteten Proxy. Masse/Zentrierung wie bisher in der + // Konfiguration; Fensterzustand stellt tauri_plugin_window_state + // weiterhin her. + tauri::WebviewWindowBuilder::new( + app, + "main", + tauri::WebviewUrl::App("setup.html".into()), + ) + .title("Tessera") + .inner_size(1280.0, 800.0) + .center() + .decorations(true) + .resizable(true) + .on_download(|webview, event| { + if let tauri::webview::DownloadEvent::Requested { url, .. } = event { + let _ = webview + .app_handle() + .opener() + .open_url(url.to_string(), None::<&str>); + return false; + } + true + }) + .build()?; + let server_url = stored_server_url(app.handle()); if let Some(url) = &server_url { diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index 1a8684e..ed34d18 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -9,18 +9,7 @@ }, "app": { "withGlobalTauri": true, - "windows": [ - { - "label": "main", - "title": "Tessera", - "url": "setup.html", - "width": 1280, - "height": 800, - "center": true, - "decorations": true, - "resizable": true - } - ], + "windows": [], "security": { "csp": "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'" }