Update app.py

This commit is contained in:
gru
2026-02-25 14:16:31 +01:00
parent 8b5c843371
commit 1be0c7b9fc

35
app.py
View File

@@ -4210,7 +4210,9 @@ def robots_txt():
)
return content, 200, {"Content-Type": "text/plain"}
from flask import render_template_string
@app.route('/admin/debug-socket')
@login_required
@admin_required
@@ -4245,6 +4247,7 @@ def debug_socket():
<button onclick="disconnect()">Rozlacz</button>
<button onclick="emitTest()">Emit Test</button>
<button onclick="simulateBackground()">Symuluj background (30s)</button>
<button onclick="forcePolling()">Force Polling</button>
<h3>Logi:</h3>
<div id="log"></div>
@@ -4252,13 +4255,17 @@ def debug_socket():
<script>
let socket;
let logLines = 0;
let isPollingOnly = false;
function log(msg, color = '#fff') {
const logEl = document.getElementById('log');
logEl.innerHTML += `[${new Date().toLocaleTimeString()}] ${msg}\n`;
logEl.scrollTop = logEl.scrollHeight;
logLines++;
if (logLines > 100) logEl.innerHTML = logEl.innerHTML.split('\\n').slice(-100).join('\\n');
if (logLines > 100) {
const lines = logEl.innerHTML.split('\\n');
logEl.innerHTML = lines.slice(-100).join('\\n');
}
}
function updateStatus(connected) {
@@ -4270,16 +4277,21 @@ def debug_socket():
function connect() {
if (socket) socket.disconnect();
const transports = isPollingOnly ? ['polling'] : ['polling', 'websocket'];
log(`Laczenie z transports: ${transports.join(', ')}`);
socket = io('', {
transports: ['websocket', 'polling'],
transports: transports,
timeout: 20000,
autoConnect: false
autoConnect: false,
forceNew: true
});
socket.on('connect', () => {
log('CONNECTED', '#28a745');
log('CONNECTED OK', '#28a745');
updateStatus(true);
document.getElementById('transport').textContent = socket.io.engine.transport.name;
const transport = socket.io.engine.transport.name;
document.getElementById('transport').textContent = transport;
document.getElementById('sid').textContent = socket.id?.slice(0,8) + '...';
socket.emit('requestfulllist', {listid: 1});
});
@@ -4290,11 +4302,11 @@ def debug_socket():
});
socket.on('connect_error', (err) => {
log(`CONNECT ERROR: ${err.message}`, '#ffc107');
log(`CONNECT ERROR: ${err.message} (typ: ${err.type})`, '#ffc107');
});
socket.onAny((event, ...args) => {
log(`RECEIVED: ${event} ${JSON.stringify(args)}`);
log(`RECEIVED ${event}: ${JSON.stringify(args)}`);
});
socket.connect();
@@ -4310,6 +4322,12 @@ def debug_socket():
log('SENT: additem test');
}
function forcePolling() {
isPollingOnly = !isPollingOnly;
log(`Polling only: ${isPollingOnly}`);
connect();
}
function simulateBackground() {
log('Symulacja backgroundu... (zamknij/otworz karte za 30s)');
setTimeout(() => {
@@ -4318,12 +4336,15 @@ def debug_socket():
}, 30000);
}
// Auto start z polling first
isPollingOnly = true;
connect();
</script>
</body>
</html>
''')
# =========================================================================================
# SOCKET.IO
# =========================================================================================