Fix multi-user server sync performance and integration
Major fixes: - Integrated ServerSyncClient into GUI for actual multi-user sync - Fixed CUDA device display to show actual hardware used - Optimized server sync with parallel HTTP requests (5x faster) - Fixed 2-second DNS delay by using 127.0.0.1 instead of localhost - Added comprehensive debugging and performance logging Performance improvements: - HTTP requests: 2045ms → 52ms (97% faster) - Multi-user sync lag: ~4s → ~100ms (97% faster) - Parallel request processing with ThreadPoolExecutor (3 workers) New features: - Room generator with one-click copy on Node.js landing page - Auto-detection of PHP vs Node.js server types - Localhost warning banner for WSL2 users - Comprehensive debug logging throughout sync pipeline Files modified: - gui/main_window_qt.py - Server sync integration, device display fix - client/server_sync.py - Parallel HTTP, server type detection - server/nodejs/server.js - Room generator, warnings, debug logs Documentation added: - PERFORMANCE_FIX.md - Server sync optimization details - FIX_2_SECOND_HTTP_DELAY.md - DNS/localhost issue solution - LATENCY_GUIDE.md - Audio chunk duration tuning guide - DEBUG_4_SECOND_LAG.md - Comprehensive debugging guide - SESSION_SUMMARY.md - Complete session summary 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
44
test-server-timing.sh
Executable file
44
test-server-timing.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
# Test server sync timing
|
||||
|
||||
SERVER_URL="${1:-http://localhost:3000/api/send}"
|
||||
ROOM="${2:-test}"
|
||||
PASSPHRASE="${3:-test}"
|
||||
|
||||
echo "Testing server sync timing..."
|
||||
echo "Server: $SERVER_URL"
|
||||
echo "Room: $ROOM"
|
||||
echo ""
|
||||
|
||||
for i in {1..5}; do
|
||||
START=$(date +%s%N)
|
||||
|
||||
RESPONSE=$(curl -s -w "\n%{http_code}\n%{time_total}" -X POST "$SERVER_URL" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{
|
||||
\"room\": \"$ROOM\",
|
||||
\"passphrase\": \"$PASSPHRASE\",
|
||||
\"user_name\": \"TestUser\",
|
||||
\"text\": \"Test message $i at $(date +%H:%M:%S)\",
|
||||
\"timestamp\": \"$(date +%H:%M:%S)\"
|
||||
}")
|
||||
|
||||
HTTP_CODE=$(echo "$RESPONSE" | tail -n2 | head -n1)
|
||||
TIME_TOTAL=$(echo "$RESPONSE" | tail -n1)
|
||||
|
||||
END=$(date +%s%N)
|
||||
DURATION=$(echo "scale=0; ($END - $START) / 1000000" | bc)
|
||||
|
||||
if [ "$HTTP_CODE" = "200" ]; then
|
||||
echo "✓ Message $i: ${DURATION}ms (curl reports: ${TIME_TOTAL}s)"
|
||||
else
|
||||
echo "✗ Message $i: HTTP $HTTP_CODE"
|
||||
echo "$RESPONSE" | head -n1
|
||||
fi
|
||||
|
||||
sleep 0.2
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "All 5 messages sent. Check display at:"
|
||||
echo "http://localhost:3000/display?room=$ROOM"
|
||||
Reference in New Issue
Block a user