From 58edef5cabfd8a34b3e88a96684158746f7f0550 Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Thu, 29 May 2025 12:56:27 +0200 Subject: [PATCH] "feat: Windows socket documentation update --- .../app/WINDOWS_SOCKET_FIX_DOCUMENTATION.md | 1 + backend/app/database/myp.db-shm | Bin 32768 -> 32768 bytes backend/app/database/myp.db-wal | Bin 4152 -> 8272 bytes backend/app/static/css/components.css | 298 ++++++++++++++++++ backend/app/templates/guest_request.html | 14 +- .../templates/guest_requests_overview.html | 2 +- backend/app/utils/queue_manager.py | 21 ++ 7 files changed, 328 insertions(+), 8 deletions(-) create mode 100644 backend/app/WINDOWS_SOCKET_FIX_DOCUMENTATION.md diff --git a/backend/app/WINDOWS_SOCKET_FIX_DOCUMENTATION.md b/backend/app/WINDOWS_SOCKET_FIX_DOCUMENTATION.md new file mode 100644 index 000000000..0519ecba6 --- /dev/null +++ b/backend/app/WINDOWS_SOCKET_FIX_DOCUMENTATION.md @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/backend/app/database/myp.db-shm b/backend/app/database/myp.db-shm index dd36a02a43b7dfb7d88f9e6c5435e9a25faafcea..ee95b6cb2df6bd21708ebd4d19228dda6f5a75eb 100644 GIT binary patch delta 167 zcmZo@U}|V!s+V}A%K!q55G=q1qy>SvuvhoAHTUsNMN{>CtRA1-CU`hgTIKZX#iXhS o8U+R*bN?d&s4yScVi1Q5h?zDnjCP&4L4*;=crU*BO{|C#0E|8`Q2+n{ delta 188 zcmZo@U}|V!s+V}A%K!q*K+MR%AixHs1%cRoisvN5g+~&Lrs{iD=f$x;Oq(AjJN^7( yQq=>E0t1k_|B(PxSPpD4h{FZMOz3#y#CTUuCZHM?237{PjT4`XZ+;Uiq67dWz%7CR diff --git a/backend/app/database/myp.db-wal b/backend/app/database/myp.db-wal index 6d9c29ffe84782273531694f1c434b524c0d914e..d5b6bca02fa905f6dcaa38749c26829563567577 100644 GIT binary patch delta 223 zcmdm?aKT}Ng@6(R0|OHf3l>e)_py3>a@%R$-oj1CxvhDDf{gqj4E!M*6OZyuENHE7 z)MVsluoiD*RTt-UbWBXi&CGMiO)W}JO-U`*O-jwH(o4?I1q-VfC8-!1spR?lZj1cvQGL1&4-}cx4(`l

- Ihre Professional-Gastanfrage wurde eingereicht und wird mit höchster Priorität bearbeitet. Sie können den Bearbeitungsstatus jederzeit unter folgendem Link verfolgen: + Ihre Gastanfrage wurde eingereicht und wird mit höchster Priorität bearbeitet. Sie können den Bearbeitungsstatus jederzeit unter folgendem Link verfolgen:

@@ -440,7 +440,7 @@ document.addEventListener('DOMContentLoaded', function() { // Button Animation submitBtn.disabled = true; - submitBtn.innerHTML = '📡 Wird übertragen...'; + submitBtn.innerHTML = 'Wird übertragen...'; try { const formData = new FormData(form); @@ -489,15 +489,15 @@ document.addEventListener('DOMContentLoaded', function() { form.reset(); durationProgress.style.width = '12.5%'; } else { - alert('❌ Fehler: ' + (result.error || 'Unbekannter Fehler')); + alert('Fehler: ' + (result.error || 'Unbekannter Fehler')); } } catch (error) { console.error('Fehler beim Senden der Anfrage:', error); - alert('❌ Fehler beim Senden der Anfrage. Bitte versuchen Sie es später erneut.'); + alert('Fehler beim Senden der Anfrage. Bitte versuchen Sie es später erneut.'); } finally { // Button zurücksetzen submitBtn.disabled = false; - submitBtn.innerHTML = '🚀 Anfrage übermitteln'; + submitBtn.innerHTML = 'Anfrage übermitteln'; } }); @@ -514,7 +514,7 @@ document.addEventListener('DOMContentLoaded', function() { const url = statusUrl.textContent; if (navigator.clipboard) { navigator.clipboard.writeText(url).then(() => { - alert('📋 Link wurde in die Zwischenablage kopiert!'); + alert('Link wurde in die Zwischenablage kopiert!'); }); } else { // Fallback für ältere Browser @@ -524,7 +524,7 @@ document.addEventListener('DOMContentLoaded', function() { textArea.select(); document.execCommand('copy'); document.body.removeChild(textArea); - alert('📋 Link wurde in die Zwischenablage kopiert!'); + alert('Link wurde in die Zwischenablage kopiert!'); } }; diff --git a/backend/app/templates/guest_requests_overview.html b/backend/app/templates/guest_requests_overview.html index 74b2925fc..e7acb7d6b 100644 --- a/backend/app/templates/guest_requests_overview.html +++ b/backend/app/templates/guest_requests_overview.html @@ -276,7 +276,7 @@ - 🚀 Neuen Antrag stellen + Neuen Antrag stellen diff --git a/backend/app/utils/queue_manager.py b/backend/app/utils/queue_manager.py index d22970f0e..a801cc358 100644 --- a/backend/app/utils/queue_manager.py +++ b/backend/app/utils/queue_manager.py @@ -18,6 +18,15 @@ from contextlib import contextmanager from models import get_db_session, Job, Printer, User, Notification from utils.logging_config import get_logger +# Windows-spezifische Imports +if os.name == 'nt': + try: + from utils.windows_fixes import get_windows_thread_manager + except ImportError: + get_windows_thread_manager = None +else: + get_windows_thread_manager = None + # Logger für Queue-Manager queue_logger = get_logger("queue_manager") @@ -96,6 +105,18 @@ class PrinterQueueManager: self.is_running = True self.shutdown_event.clear() self.monitor_thread = threading.Thread(target=self._monitor_loop, daemon=False) + self.monitor_thread.name = "PrinterQueueMonitor" + + # Windows Thread-Manager verwenden falls verfügbar + if os.name == 'nt' and get_windows_thread_manager: + try: + thread_manager = get_windows_thread_manager() + thread_manager.register_thread(self.monitor_thread) + thread_manager.register_cleanup_function(self.stop) + queue_logger.debug("✅ Queue Manager bei Windows Thread-Manager registriert") + except Exception as e: + queue_logger.warning(f"⚠️ Windows Thread-Manager nicht verfügbar: {str(e)}") + self.monitor_thread.start() queue_logger.info("✅ Printer Queue Manager erfolgreich gestartet")