Spaces:
Runtime error
Runtime error
da03
commited on
Commit
·
b682e6d
1
Parent(s):
2225158
- main.py +4 -4
- static/index.html +4 -4
main.py
CHANGED
|
@@ -132,8 +132,8 @@ app.mount("/static", StaticFiles(directory="static"), name="static")
|
|
| 132 |
connection_counter = 0
|
| 133 |
|
| 134 |
# Connection timeout settings
|
| 135 |
-
CONNECTION_TIMEOUT =
|
| 136 |
-
WARNING_TIME =
|
| 137 |
|
| 138 |
# Create a thread pool executor
|
| 139 |
thread_executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
|
|
@@ -391,7 +391,7 @@ async def websocket_endpoint(websocket: WebSocket):
|
|
| 391 |
current_time = time.perf_counter()
|
| 392 |
time_since_activity = current_time - last_user_activity_time
|
| 393 |
|
| 394 |
-
# Send warning at
|
| 395 |
if time_since_activity >= WARNING_TIME and not timeout_warning_sent:
|
| 396 |
print(f"[{current_time:.3f}] Sending timeout warning to client {client_id}")
|
| 397 |
await websocket.send_json({
|
|
@@ -400,7 +400,7 @@ async def websocket_endpoint(websocket: WebSocket):
|
|
| 400 |
})
|
| 401 |
timeout_warning_sent = True
|
| 402 |
|
| 403 |
-
# Close connection at
|
| 404 |
if time_since_activity >= CONNECTION_TIMEOUT:
|
| 405 |
print(f"[{current_time:.3f}] Closing connection {client_id} due to timeout")
|
| 406 |
|
|
|
|
| 132 |
connection_counter = 0
|
| 133 |
|
| 134 |
# Connection timeout settings
|
| 135 |
+
CONNECTION_TIMEOUT = 30 # 30 seconds timeout
|
| 136 |
+
WARNING_TIME = 15 # 15 seconds warning before timeout
|
| 137 |
|
| 138 |
# Create a thread pool executor
|
| 139 |
thread_executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
|
|
|
|
| 391 |
current_time = time.perf_counter()
|
| 392 |
time_since_activity = current_time - last_user_activity_time
|
| 393 |
|
| 394 |
+
# Send warning at 15 seconds
|
| 395 |
if time_since_activity >= WARNING_TIME and not timeout_warning_sent:
|
| 396 |
print(f"[{current_time:.3f}] Sending timeout warning to client {client_id}")
|
| 397 |
await websocket.send_json({
|
|
|
|
| 400 |
})
|
| 401 |
timeout_warning_sent = True
|
| 402 |
|
| 403 |
+
# Close connection at 30 seconds
|
| 404 |
if time_since_activity >= CONNECTION_TIMEOUT:
|
| 405 |
print(f"[{current_time:.3f}] Closing connection {client_id} due to timeout")
|
| 406 |
|
static/index.html
CHANGED
|
@@ -117,7 +117,7 @@
|
|
| 117 |
|
| 118 |
<div id="timeoutWarning" class="alert alert-warning" style="display: none; margin-top: 10px;">
|
| 119 |
<strong>Connection Timeout Warning:</strong>
|
| 120 |
-
No user activity detected. Connection will be dropped in <span id="timeoutCountdown">
|
| 121 |
<button type="button" class="btn btn-sm btn-primary ms-2" onclick="resetTimeout()">Stay Connected</button>
|
| 122 |
</div>
|
| 123 |
</div>
|
|
@@ -279,7 +279,7 @@
|
|
| 279 |
|
| 280 |
// Timeout countdown mechanism
|
| 281 |
let timeoutCountdownInterval = null;
|
| 282 |
-
let timeoutCountdown =
|
| 283 |
let timeoutWarningActive = false;
|
| 284 |
|
| 285 |
// Track currently pressed keys
|
|
@@ -369,7 +369,7 @@
|
|
| 369 |
clearInterval(timeoutCountdownInterval);
|
| 370 |
}
|
| 371 |
|
| 372 |
-
timeoutCountdown =
|
| 373 |
timeoutWarningActive = true;
|
| 374 |
|
| 375 |
// Show warning
|
|
@@ -400,7 +400,7 @@
|
|
| 400 |
}
|
| 401 |
|
| 402 |
timeoutWarningActive = false;
|
| 403 |
-
timeoutCountdown =
|
| 404 |
|
| 405 |
// Hide warning
|
| 406 |
const warning = document.getElementById('timeoutWarning');
|
|
|
|
| 117 |
|
| 118 |
<div id="timeoutWarning" class="alert alert-warning" style="display: none; margin-top: 10px;">
|
| 119 |
<strong>Connection Timeout Warning:</strong>
|
| 120 |
+
No user activity detected. Connection will be dropped in <span id="timeoutCountdown">15</span> seconds.
|
| 121 |
<button type="button" class="btn btn-sm btn-primary ms-2" onclick="resetTimeout()">Stay Connected</button>
|
| 122 |
</div>
|
| 123 |
</div>
|
|
|
|
| 279 |
|
| 280 |
// Timeout countdown mechanism
|
| 281 |
let timeoutCountdownInterval = null;
|
| 282 |
+
let timeoutCountdown = 15;
|
| 283 |
let timeoutWarningActive = false;
|
| 284 |
|
| 285 |
// Track currently pressed keys
|
|
|
|
| 369 |
clearInterval(timeoutCountdownInterval);
|
| 370 |
}
|
| 371 |
|
| 372 |
+
timeoutCountdown = 15;
|
| 373 |
timeoutWarningActive = true;
|
| 374 |
|
| 375 |
// Show warning
|
|
|
|
| 400 |
}
|
| 401 |
|
| 402 |
timeoutWarningActive = false;
|
| 403 |
+
timeoutCountdown = 15;
|
| 404 |
|
| 405 |
// Hide warning
|
| 406 |
const warning = document.getElementById('timeoutWarning');
|