Skip to content

Commit a52bcec

Browse files
Nicolettaclaude
authored andcommitted
fix: onCloseRequested entfernt – blockierte Fenster-Schließen
await invoke() in onCloseRequested ließ Tauri auf die async Funktion warten und das Fenster einfrieren. RunEvent::Exit + explizites kill_backend vor exit(0) im Update-Flow reichen aus. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent ff7e4f0 commit a52bcec

File tree

2 files changed

+7
-24
lines changed

2 files changed

+7
-24
lines changed

src/frontend/src/App.tsx

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useEffect } from 'react'
21
import { useQuery } from '@tanstack/react-query'
32
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
43
import { getSetupStatus } from './api/client'
@@ -83,30 +82,7 @@ function AppRoutes() {
8382
)
8483
}
8584

86-
const isTauri = typeof window !== 'undefined' && '__TAURI_INTERNALS__' in window
87-
8885
export default function App() {
89-
// Fenster-Schließen abfangen → Backend explizit beenden bevor App endet
90-
useEffect(() => {
91-
if (!isTauri) return
92-
93-
let unlisten: (() => void) | undefined
94-
95-
async function register() {
96-
const { getCurrentWindow } = await import('@tauri-apps/api/window')
97-
const { invoke } = await import('@tauri-apps/api/core')
98-
99-
// Kein preventDefault – Fenster schließt normal weiter.
100-
// kill_backend wird proaktiv aufgerufen; RunEvent::Exit tut es nochmals (idempotent).
101-
unlisten = await getCurrentWindow().onCloseRequested(async () => {
102-
await invoke('kill_backend').catch(() => {})
103-
})
104-
}
105-
106-
register()
107-
return () => { unlisten?.() }
108-
}, [])
109-
11086
return (
11187
<BrowserRouter>
11288
<AppRoutes />

src/frontend/src/data/changelog.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ export type ChangelogVersion = {
2222
}
2323

2424
export const CHANGELOG: ChangelogVersion[] = [
25+
{
26+
version: 'v0.1.22',
27+
datum: 'März 2026',
28+
eintraege: [
29+
{ typ: 'fix', text: 'App lässt sich wieder schließen – onCloseRequested-Handler entfernt, der durch await invoke() blockierte und das Fenster einfrieren ließ' },
30+
],
31+
},
2532
{
2633
version: 'v0.1.21',
2734
datum: 'März 2026',

0 commit comments

Comments
 (0)