Add web server error handling and proper shutdown

- Add stop() method to WebServer class
- Store server instance for graceful shutdown
- Add error handling in start_server() with user-friendly alert
- Show warning dialog if server fails to start (e.g., port in use)
- Stop server in closeEvent before application exit
- Add status bar messages for server state

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-03 17:15:38 -08:00
parent 418407b2b9
commit f6743339c0
2 changed files with 49 additions and 5 deletions

View File

@@ -254,8 +254,13 @@ class WebServer:
port=self.port,
log_level="warning"
)
server = uvicorn.Server(config)
server.run()
self.server = uvicorn.Server(config)
self.server.run()
def stop(self):
"""Stop the web server."""
if self.server:
self.server.should_exit = True
async def run_async(self):
"""Run the web server asynchronously."""