diff --git a/SerpentRace_Backend/.gitignore b/SerpentRace_Backend/.gitignore index fa68779d..3df116f3 100644 --- a/SerpentRace_Backend/.gitignore +++ b/SerpentRace_Backend/.gitignore @@ -1,4 +1,5 @@ ./dist/* ./node_modules/* ./Archive_*/* -./Archive_* \ No newline at end of file +./Archive_* +./logs/* \ No newline at end of file diff --git a/SerpentRace_Backend/PASSWORD_RESET_IMPLEMENTATION.md b/SerpentRace_Backend/PASSWORD_RESET_IMPLEMENTATION.md new file mode 100644 index 00000000..8a75b737 --- /dev/null +++ b/SerpentRace_Backend/PASSWORD_RESET_IMPLEMENTATION.md @@ -0,0 +1,226 @@ +# Password Reset Implementation Guide + +## Overview +The SerpentRace application includes a complete password reset system with email verification and secure token handling. + +## API Endpoints + +### 1. Forgot Password (Request Reset) +**Endpoint:** `POST /api/users/forgot-password` + +**Request Body:** +```json +{ + "email": "user@example.com" +} +``` + +**Response:** +```json +{ + "message": "If the email exists, a reset link has been sent to your email address." +} +``` + +**Features:** +- Validates email format +- Security: Always returns success message (doesn't reveal if email exists) +- Generates secure reset token with 1-hour expiration +- Sends multilingual email with reset link and token +- Logs all password reset attempts + +### 2. Reset Password (Complete Reset) +**Endpoint:** `POST /api/users/reset-password` + +**Request Body:** +```json +{ + "token": "abc123def456ghi789", + "newPassword": "newSecurePassword123!" +} +``` + +**Response:** +```json +{ + "message": "Password has been reset successfully. You can now login with your new password." +} +``` + +**Features:** +- Validates token existence and expiration +- Enforces password strength requirements +- Hashes new password securely +- Clears reset token after successful reset +- Comprehensive error handling + +## Implementation Details + +### Security Features +1. **Token Security:** + - Tokens are hashed before storage + - 1-hour expiration time + - Single-use tokens (cleared after use) + +2. **Password Validation:** + - Minimum 6 characters + - Maximum 100 characters + - Password strength validation via PasswordService + +3. **Email Privacy:** + - Non-existent emails don't reveal account existence + - Consistent response messages + +### Error Handling +- Invalid/expired tokens: `400 Bad Request` +- Password validation failures: `400 Bad Request` with specific message +- Token expiration: Clear error message +- Server errors: `500 Internal Server Error` + +### Email Templates +The system supports multilingual email templates: +- `password-reset.txt` (English) +- `password-reset-hu.txt` (Hungarian) +- `password-reset-de.txt` (German) + +Templates include: +- Reset URL link +- Reset token (fallback) +- Security warnings +- Expiration information + +## Testing the Implementation + +### Test Forgot Password: +```bash +curl -X POST http://localhost:3000/api/users/forgot-password \ + -H "Content-Type: application/json" \ + -d '{"email": "test@example.com"}' +``` + +### Test Reset Password: +```bash +curl -X POST http://localhost:3000/api/users/reset-password \ + -H "Content-Type: application/json" \ + -d '{"token": "your-reset-token", "newPassword": "newPassword123!"}' +``` + +### Error Test Cases: +1. **Invalid email format:** +```bash +curl -X POST http://localhost:3000/api/users/forgot-password \ + -H "Content-Type: application/json" \ + -d '{"email": "invalid-email"}' +``` + +2. **Missing token:** +```bash +curl -X POST http://localhost:3000/api/users/reset-password \ + -H "Content-Type: application/json" \ + -d '{"newPassword": "newPassword123!"}' +``` + +3. **Weak password:** +```bash +curl -X POST http://localhost:3000/api/users/reset-password \ + -H "Content-Type: application/json" \ + -d '{"token": "valid-token", "newPassword": "123"}' +``` + +## Integration with Existing Services + +### Used Services: +- **EmailService:** Sends multilingual reset emails +- **TokenService:** Generates and validates reset tokens +- **PasswordService:** Validates and hashes passwords +- **ValidationMiddleware:** Validates request data +- **Logger:** Logs all operations for audit + +### Database Integration: +- **UserRepository:** Finds users by email/token, updates passwords +- Token storage in user table with expiration + +## Frontend Integration + +### Reset Flow: +1. User clicks "Forgot Password" on login page +2. User enters email address +3. Frontend calls `/api/users/forgot-password` +4. User receives email with reset link +5. User clicks link or uses token +6. Frontend presents password reset form +7. Frontend calls `/api/users/reset-password` +8. User can login with new password + +### Sample Frontend Code: +```javascript +// Request password reset +async function requestPasswordReset(email) { + const response = await fetch('/api/users/forgot-password', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ email }) + }); + + if (response.ok) { + alert('Reset link sent to your email!'); + } +} + +// Reset password +async function resetPassword(token, newPassword) { + const response = await fetch('/api/users/reset-password', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ token, newPassword }) + }); + + if (response.ok) { + alert('Password reset successful!'); + // Redirect to login + } else { + const error = await response.json(); + alert('Error: ' + error.error); + } +} +``` + +## Environment Configuration + +Required environment variables: +```env +# Email Configuration +EMAIL_HOST=smtp.gmail.com +EMAIL_PORT=587 +EMAIL_SECURE=false +EMAIL_USER=your-email@gmail.com +EMAIL_PASS=your-app-password +EMAIL_FROM=noreply@serpentrace.com + +# Application URL for reset links +APP_BASE_URL=http://localhost:3000 +``` + +## Monitoring and Logging + +All password reset operations are logged with: +- Request details (sanitized) +- Success/failure status +- Error messages +- User identification (when available) +- Timestamps + +Log entries help with: +- Security monitoring +- Troubleshooting issues +- Audit trail compliance + +## Security Considerations + +1. **Rate Limiting:** Consider implementing rate limiting on password reset requests +2. **IP Tracking:** Log IP addresses for security monitoring +3. **Account Lockout:** Consider temporary lockout after multiple failed attempts +4. **Token Entropy:** Tokens use cryptographically secure random generation +5. **Email Security:** Ensure SMTP connection is encrypted + +This implementation provides a secure, user-friendly password reset system that integrates seamlessly with the existing SerpentRace authentication infrastructure. \ No newline at end of file diff --git a/SerpentRace_Backend/debug-border-logic.js b/SerpentRace_Backend/debug-border-logic.js new file mode 100644 index 00000000..10875675 --- /dev/null +++ b/SerpentRace_Backend/debug-border-logic.js @@ -0,0 +1,47 @@ +// Quick test to verify border logic +const border = [37,48,45,50,39,5,1,55,54,46,23,89,53,94,56,18,14,92,64,61,43,99,27,36,58,40,41,75,57,49,3,65,77,31,72,2,34,19,78,35,69,68,98,20,22,86,63,76,38,85,8,67,95,21,88,51,82,42,79,73,62,97,44,13,28,33,9,11,32,52,96,100,24,70,91,71,15,93,16,80,74,66,59,26,84,83,47,87,7,17,25,90,4,12,30,10,81,6,60,29]; + +function calculateMovement(currentPosition, stepValue, diceValue, isPositive) { + console.log(`\n=== Calculating movement for position ${currentPosition} ===`); + console.log(`Step value: ${stepValue}, Dice: ${diceValue}, Positive: ${isPositive}`); + + // Use current position as INDEX in border array + let borderIndex = currentPosition - 1; + console.log(`Initial border index: ${borderIndex}`); + console.log(`Starting value at border[${borderIndex}]: ${border[borderIndex]}`); + + // Apply step value + if (isPositive) { + borderIndex = (borderIndex + stepValue + 100) % 100; + } else { + borderIndex = (borderIndex - Math.abs(stepValue) + 100) % 100; + } + console.log(`After step value: border index = ${borderIndex}, value = ${border[borderIndex]}`); + + // Apply dice movement + if (isPositive) { + borderIndex = (borderIndex + diceValue) % 100; + } else { + borderIndex = (borderIndex - diceValue + 100) % 100; + } + console.log(`After dice: border index = ${borderIndex}, value = ${border[borderIndex]}`); + + return border[borderIndex]; +} + +// Test position 12, step value 1 +console.log("Testing position 12 with step value 1 (expected results: [10,-1,6,-1,29,-1])"); + +for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(12, 1, dice, true); + console.log(`Dice ${dice}: Result = ${result}`); +} + +// Test a few more +console.log("\n" + "=".repeat(50)); +console.log("Testing position 15 with step value 11 (expected: [7,17,25,-1,4,12])"); + +for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(15, 11, dice, true); + console.log(`Dice ${dice}: Result = ${result}`); +} \ No newline at end of file diff --git a/SerpentRace_Backend/game-websocket-examples.ts b/SerpentRace_Backend/game-websocket-examples.ts new file mode 100644 index 00000000..a7deccbf --- /dev/null +++ b/SerpentRace_Backend/game-websocket-examples.ts @@ -0,0 +1,392 @@ +/** + * GameWebSocketService Usage Examples + * + * This file demonstrates how to use the GameWebSocketService with the new + * game token authentication system and private game approval workflow. + * + * BOARD STRUCTURE: + * - Starting position: 0 (before the board) + * - Gameplay board: positions 1-100 + * - Winning position: 101 (finish line) + * - Field types: 'regular', 'positive', 'negative', 'luck' (special effects to be implemented later) + */ + +import { gameWebSocketService } from './src/Api/index'; + +// Example 1: Frontend WebSocket Connection with Game Tokens +/* +const gameSocket = io('/game'); + +// Step 1: Join game via REST API to get game token +const joinResponse = await fetch('/api/games/join', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + // Include authorization header if user is authenticated + 'Authorization': 'Bearer jwt-token-here' // Optional for public games + }, + body: JSON.stringify({ + gameCode: 'ABC123', + playerName: 'Player1' // Required for public games, optional for authenticated users + }) +}); + +const gameData = await joinResponse.json(); +const gameToken = gameData.gameToken; // Game session token from REST API + +// Step 2: Join WebSocket room using the game token +gameSocket.emit('game:join', { + gameToken: gameToken // Single token contains all game session info +}); + +// Listen for game events +gameSocket.on('game:joined', (data) => { + console.log('Successfully joined game:', data); + // { gameCode: 'ABC123', playerName: 'Player1', isAuthenticated: false, gameId: 'uuid', isGamemaster: false, timestamp: '...' } +}); + +// PRIVATE GAME APPROVAL WORKFLOW: +gameSocket.on('game:pending-approval', (data) => { + console.log('Waiting for gamemaster approval:', data); + // Show waiting message to player +}); + +gameSocket.on('game:approval-granted', (data) => { + console.log('Approved! Now joining game rooms:', data); + // Re-emit with special approved join event + gameSocket.emit('game:join-approved', { + gameToken: gameToken + }); +}); + +gameSocket.on('game:approval-denied', (data) => { + console.log('Join request denied:', data); + // Show rejection message and reason +}); + +// Gamemaster events (private games only) +gameSocket.on('game:player-requesting-join', (data) => { + console.log('Player requesting to join:', data); + // Show approval/reject buttons to gamemaster +}); + +gameSocket.on('game:state-update', (gameState) => { + console.log('Game state updated:', gameState); + // gameState.pendingPlayers array available for private games +}); + +gameSocket.on('game:player-specific-event', (data) => { + console.log('Event sent specifically to me:', data); +}); +*/ + +// Example 1.5: Gamemaster Controls (Private Games Only) +/* +// Approve a pending player +function approvePlayer(gameCode: string, playerName: string) { + gameSocket.emit('game:approve-player', { + gameCode: gameCode, + playerName: playerName + }); +} + +// Reject a pending player +function rejectPlayer(gameCode: string, playerName: string, reason?: string) { + gameSocket.emit('game:reject-player', { + gameCode: gameCode, + playerName: playerName, + reason: reason || 'Request denied by gamemaster' + }); +} + +// Example UI for gamemaster approval +gameSocket.on('game:state', (gameState) => { + if (gameState.pendingPlayers && gameState.pendingPlayers.length > 0) { + console.log('Pending players awaiting approval:', gameState.pendingPlayers); + // Display approval UI for each pending player: + // [Approve] [Reject] PlayerName + } +}); +*/ + +// Example 2: Backend Broadcasting (from game logic services) +export class GameLogicExample { + + // Broadcast to all players in a game + async notifyAllPlayers(gameCode: string, message: string): Promise { + await gameWebSocketService.broadcastGameEvent(gameCode, 'game:notification', { + message, + timestamp: new Date().toISOString() + }); + } + + // Send event to specific player + async notifyPlayer(gameCode: string, playerName: string, action: string, data: any): Promise { + await gameWebSocketService.sendToPlayer(gameCode, playerName, 'game:player-action', { + action, + data, + timestamp: new Date().toISOString() + }); + } + + // Handle dice roll - broadcast to all, send specific result to player + async handleDiceRoll(gameCode: string, playerName: string, diceResult: number): Promise { + // Broadcast that a player rolled dice + await gameWebSocketService.broadcastGameEvent(gameCode, 'game:dice-rolled', { + playerName, + timestamp: new Date().toISOString() + }); + + // Send specific dice result to the player + await gameWebSocketService.sendToPlayer(gameCode, playerName, 'game:dice-result', { + result: diceResult, + canMove: true, + timestamp: new Date().toISOString() + }); + } + + // Handle turn change - notify all players and give specific instructions to current player + async handleTurnChange(gameCode: string, currentPlayer: string, nextPlayer: string): Promise { + // Broadcast turn change to all players + await gameWebSocketService.broadcastGameEvent(gameCode, 'game:turn-changed', { + previousPlayer: currentPlayer, + currentPlayer: nextPlayer, + timestamp: new Date().toISOString() + }); + + // Send specific "your turn" message to next player + await gameWebSocketService.sendToPlayer(gameCode, nextPlayer, 'game:your-turn', { + message: "It's your turn! Roll the dice when ready.", + actions: ['roll-dice'], + timestamp: new Date().toISOString() + }); + + // Send "waiting" message to other players + const connectedPlayers = await gameWebSocketService.getConnectedPlayers(gameCode); + const waitingPlayers = connectedPlayers.filter((player: string) => player !== nextPlayer); + + await gameWebSocketService.sendToPlayers(gameCode, waitingPlayers, 'game:waiting-turn', { + message: `Waiting for ${nextPlayer} to play...`, + currentPlayer: nextPlayer, + timestamp: new Date().toISOString() + }); + } + + // Handle field effects - different messages for different players + async handleFieldEffect(gameCode: string, playerName: string, fieldType: string, effect: any): Promise { + // Broadcast the field activation to all players + await gameWebSocketService.broadcastGameEvent(gameCode, 'game:field-activated', { + playerName, + fieldType, + timestamp: new Date().toISOString() + }); + + // Send specific effect to the player who landed on the field + await gameWebSocketService.sendToPlayer(gameCode, playerName, 'game:field-effect', { + fieldType, + effect, + message: `You landed on a ${fieldType} field!`, + timestamp: new Date().toISOString() + }); + } + + // Handle game state monitoring + async checkGameStatus(gameCode: string): Promise { + const connectedPlayers = await gameWebSocketService.getConnectedPlayers(gameCode); + const readyPlayers = await gameWebSocketService.getReadyPlayers(gameCode); + + console.log(`Game ${gameCode} status:`); + console.log(`- Connected players: ${connectedPlayers.join(', ')}`); + console.log(`- Ready players: ${readyPlayers.join(', ')}`); + + if (connectedPlayers.length === 0) { + console.log('- Game is empty'); + } else if (readyPlayers.length === connectedPlayers.length) { + console.log('- All players are ready!'); + await this.startGame(gameCode); + } + } + + // Start game when all players are ready + async startGame(gameCode: string): Promise { + await gameWebSocketService.broadcastGameEvent(gameCode, 'game:started', { + message: 'Game is starting! Get ready to play!', + timestamp: new Date().toISOString() + }); + + // Send game board and initial state to all players + const gameState = { + status: 'active', + currentPlayer: 'Player1', // Determine first player + board: {}, // Board data + players: await gameWebSocketService.getConnectedPlayers(gameCode) + }; + + await gameWebSocketService.broadcastGameStateUpdate(gameCode, gameState); + } +} + +// Example 3: Room Structure +/* +Dynamic Room Names: +- game_ABC123 // All players in game ABC123 +- game_ABC123:Player1 // Specific to Player1 in game ABC123 +- game_ABC123:Player2 // Specific to Player2 in game ABC123 +- game_XYZ789 // All players in game XYZ789 +- game_XYZ789:PublicPlayer // Specific to PublicPlayer in game XYZ789 + +Usage: +- Broadcast events: Send to game_ABC123 (all players receive) +- Player-specific events: Send to game_ABC123:Player1 (only Player1 receives) +*/ + +// Example 4: Game Lifecycle Events +/* +// Game start event (broadcasted when gamemaster starts the game) +gameSocket.on('game:start', (data) => { + console.log('Game has started!', data); + // data includes: + // - gameCode: string + // - gameId: string + // - boardData: { fields: GameField[] } - Complete board layout (100 gameplay fields, positions 1-100) + // - playerOrder: string[] - Turn sequence (player IDs in order) + // - currentPlayer: string - First player to move + // - currentTurn: number - Current turn index (starts at 0) + // - players: string[] - All players in game + // - startedAt: string - ISO timestamp + // - message: 'Game has started! Good luck to all players!' + + // Initialize game board UI + renderGameBoard(data.boardData.fields); + + // Set up turn indicator + showCurrentPlayer(data.currentPlayer, data.playerOrder); + + // Show start message + displayGameMessage(data.message); +}); + +// Turn notification for current player +gameSocket.on('game:your-turn', (data) => { + console.log('It\'s your turn!', data); + // data: { message: 'It\'s your turn! Roll the dice!', canRoll: true, timestamp: '...' } + + // Enable dice roll button for current player + enableDiceRoll(); + showTurnMessage(data.message); +}); + +// Turn change notification for all players +gameSocket.on('game:turn-changed', (data) => { + console.log('Turn changed:', data); + // data: { currentPlayer: 'id', currentPlayerName: 'Name', turnNumber: 2, message: '...', timestamp: '...' } + + // Update UI to show whose turn it is + updateCurrentPlayerIndicator(data.currentPlayerName); + showTurnMessage(data.message); +}); + +// Player movement notification +gameSocket.on('game:player-moved', (data) => { + console.log('Player moved:', data); + // data: { playerId: 'id', playerName: 'Name', diceValue: 4, oldPosition: 15, newPosition: 19, hasWon: false, timestamp: '...' } + // Note: positions 0 (start) โ†’ 1-100 (gameplay board) โ†’ 101 (finish/win) + + // Animate player movement on board + animatePlayerMovement(data.playerName, data.oldPosition, data.newPosition); + + // Show dice result + showDiceResult(data.playerName, data.diceValue); + + if (data.hasWon) { + showWinnerAnimation(data.playerName); + } +}); + +// Game end notification +gameSocket.on('game:ended', (data) => { + console.log('Game ended:', data); + // data: { winner: 'id', winnerName: 'Name', message: '๐ŸŽ‰ Name won!', finalPositions: [...], timestamp: '...' } + + // Show game over screen + showGameOverScreen(data.winnerName, data.finalPositions); + disableAllGameActions(); +}); + +// Frontend dice roll (when it's your turn) +function rollDice() { + const diceValue = Math.floor(Math.random() * 6) + 1; // Generate 1-6 + + // Send dice value to server + gameSocket.emit('game:dice-roll', { + gameCode: currentGameCode, + diceValue: diceValue + }); + + // Disable dice roll button until turn changes + disableDiceRoll(); + showDiceAnimation(diceValue); +} + +// Other game events +gameSocket.on('game:state-update', (gameState) => { + console.log('Game state updated:', gameState); +}); + +gameSocket.on('game:action-result', (data) => { + console.log('Player action result:', data); + // { action: 'roll-dice', playerName: 'Player1', result: { dice: 4 }, timestamp: '...' } +}); +*/ + +// Example 5: REST API Integration (Game Token Flow + Game Start) +/* +// Step 1: REST API handles game joining and returns game token +POST /api/games/join +{ + "gameCode": "ABC123", + "playerName": "NewPlayer" +} + +// Response includes game data + game token +{ + "id": "game-uuid", + "gamecode": "ABC123", + "players": ["player1", "player2", "NewPlayer"], + ...otherGameData, + "gameToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." // Game session token +} + +// Step 2: Player connects to WebSocket using the game token +const gameSocket = io('/game'); +gameSocket.emit('game:join', { + gameToken: gameTokenFromRestAPI // Contains gameId, gameCode, playerName, auth status +}); + +// Step 3: Gamemaster starts the game via REST API +POST /api/games/{gameId}/start +// Authorization: Bearer {gamemaster-jwt-token} + +// Response includes game and board data +{ + "message": "Game started successfully", + "gameId": "game-uuid", + "playerCount": 3, + "game": { ...gameData }, + "boardData": { + "fields": [ + { "position": 1, "type": "regular" }, + { "position": 2, "type": "positive", "stepValue": 3 }, + { "position": 3, "type": "negative", "stepValue": -2 }, + { "position": 4, "type": "luck" }, + { "position": 5, "type": "regular" }, + // ... continues to position 100 (100 gameplay fields) + { "position": 100, "type": "regular" } + ] + // Note: Players start at 0, play on 1-100, win by reaching 101 + } +} + +// Step 4: All players automatically receive game:start WebSocket event +// (No additional frontend action needed - happens automatically when gamemaster calls start endpoint) +*/ \ No newline at end of file diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-256Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-256Z.log deleted file mode 100644 index 200057e3..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-256Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.256Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.402Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-353Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-353Z.log deleted file mode 100644 index a4494d9e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-353Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.353Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.505Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-369Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-369Z.log deleted file mode 100644 index 34d672d9..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-369Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.369Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.527Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-512Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-512Z.log deleted file mode 100644 index 44982f68..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-512Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.512Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.644Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-530Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-530Z.log deleted file mode 100644 index dda0539f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-530Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.530Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-534Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-534Z.log deleted file mode 100644 index 8b4d0bd4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-534Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.534Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.648Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:55:28.707Z | [DATABASE] | User lookup completed | Meta:{"executionTime":59,"found":true,"searchBy":"username"} -2025-08-22T23:55:28.710Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-22T23:55:28.712Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"org-123","requiresOrgReauth":false,"totalLoginTime":64} -2025-08-22T23:55:28.718Z | [AUTH] | Login attempt | Meta:{"username":"adminuser"} -2025-08-22T23:55:28.720Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-22T23:55:28.721Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-22T23:55:28.723Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":5} -2025-08-22T23:55:28.729Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-22T23:55:28.736Z | [DATABASE] | User lookup completed | Meta:{"executionTime":7,"found":false,"searchBy":"username"} -2025-08-22T23:55:28.737Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-22T23:55:28.741Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:55:28.744Z | [DATABASE] | User lookup completed | Meta:{"executionTime":3,"found":true,"searchBy":"username"} -2025-08-22T23:55:28.745Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-22T23:55:28.748Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-22T23:55:28.757Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:55:28.760Z | [DATABASE] | User lookup completed | Meta:{"executionTime":3,"found":true,"searchBy":"username"} -2025-08-22T23:55:28.774Z | [ERROR] | Password verification error | Meta:{"name":"Error","message":"password verification failed","stack":"Error: password verification failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:176:60)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:28.780Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:55:28.786Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"database connection error","stack":"Error: database connection error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:195:59)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:28.790Z | [DATABASE] | Database connection error during login | Meta:{"executionTime":10} -2025-08-22T23:55:28.798Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:55:28.800Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-22T23:55:28.803Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-22T23:55:28.824Z | [ERROR] | Token creation failed during login | Meta:{"name":"Error","message":"JWT creation failed","stack":"Error: JWT creation failed\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:217:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at JWTService.mockConstructor [as create] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:78:39)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-22T23:55:28.832Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"Login failed due to internal error","stack":"Error: Login failed due to internal error\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:133:15)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-22T23:55:28.975Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-683Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-683Z.log deleted file mode 100644 index 62ab85b3..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-683Z.log +++ /dev/null @@ -1,57 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.683Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.991Z | [DATABASE] | User created successfully | Meta:{"executionTime":31,"userId":"4366063b-1247-41e1-a66a-5747cc133a00","username":"testuser1_1755906928960","email":"test1_1755906928960@example.com"} -2025-08-22T23:55:29.044Z | [DATABASE] | User created successfully | Meta:{"executionTime":8,"userId":"db3cb66f-0a8c-449d-8b67-3eae3780fb78","username":"testuser2_1755906929035","email":"test2_1755906929035@example.com"} -2025-08-22T23:55:29.050Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"bf2e61a6-d3eb-4ae3-ac6f-09b7e711c20d","username":"premiumuser_1755906929045","email":"premium_1755906929045@example.com"} -2025-08-22T23:55:29.058Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"50139b72-f8ed-4ad3-87ec-5696b9be86af","type":"direct","participants":2} -2025-08-22T23:55:29.070Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"b6fa184a-3d7c-426e-a60a-ba4395114ef2","username":"testuser1_1755906929064","email":"test1_1755906929064@example.com"} -2025-08-22T23:55:29.076Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"818314c0-a31e-4182-b32d-9d0fe4f4a343","username":"testuser2_1755906929071","email":"test2_1755906929071@example.com"} -2025-08-22T23:55:29.082Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"55e2067f-8868-4a1f-ae89-90fc2e24d3ff","username":"premiumuser_1755906929077","email":"premium_1755906929077@example.com"} -2025-08-22T23:55:29.090Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":7,"chatId":"251a88c4-0a3a-4f9b-8204-acbc3ad0e052","type":"group","participants":3} -2025-08-22T23:55:29.098Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"93df416d-5df5-429b-8dc1-359d878844aa","username":"testuser1_1755906929092","email":"test1_1755906929092@example.com"} -2025-08-22T23:55:29.103Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"4205c67a-76b6-4f1e-be1f-2e6f6d7b3d5a","username":"testuser2_1755906929099","email":"test2_1755906929099@example.com"} -2025-08-22T23:55:29.108Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"c7b22b7d-5e6f-489c-9499-43d56d8248a7","username":"premiumuser_1755906929104","email":"premium_1755906929104@example.com"} -2025-08-22T23:55:29.114Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"ed97f881-aa5e-482d-81dc-dbefbff6ea33","type":"game","participants":2} -2025-08-22T23:55:29.119Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"06b8110f-0908-4386-a01a-22a86a2c0886","username":"testuser1_1755906929115","email":"test1_1755906929115@example.com"} -2025-08-22T23:55:29.125Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"e992a300-5f48-4490-8e48-2a8fc22c167d","username":"testuser2_1755906929120","email":"test2_1755906929120@example.com"} -2025-08-22T23:55:29.129Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"59c226fb-cf86-4a72-a408-ad7045fad18c","username":"premiumuser_1755906929126","email":"premium_1755906929126@example.com"} -2025-08-22T23:55:29.134Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"bde9e9b7-a04c-4d69-a295-2e99257da795","type":"game","participants":2} -2025-08-22T23:55:29.148Z | [DATABASE] | Chat retrieved by game id | Meta:{"query":"findByGameId(7835e237-8a37-48f8-b208-16f35e6edc31)","executionTime":12,"gameId":"7835e237-8a37-48f8-b208-16f35e6edc31","found":true} -2025-08-22T23:55:29.153Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"749e8f41-2226-401f-83c6-ebc6b7f6d4ef","username":"testuser1_1755906929150","email":"test1_1755906929150@example.com"} -2025-08-22T23:55:29.159Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"78542054-a117-4fdc-8613-ef349097e28e","username":"testuser2_1755906929154","email":"test2_1755906929154@example.com"} -2025-08-22T23:55:29.165Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"6969240d-ead3-48c4-8c0b-bec35e546bc6","username":"premiumuser_1755906929160","email":"premium_1755906929160@example.com"} -2025-08-22T23:55:29.170Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"57b03945-b5b8-445b-bd4f-82ba7a4aad6f","type":"direct","participants":2} -2025-08-22T23:55:29.180Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"57b03945-b5b8-445b-bd4f-82ba7a4aad6f"} -2025-08-22T23:55:29.181Z | [DATABASE] | Chat updated successfully | Meta:{"query":"update(57b03945-b5b8-445b-bd4f-82ba7a4aad6f)","executionTime":10,"chatId":"57b03945-b5b8-445b-bd4f-82ba7a4aad6f","updatedFields":["messages","lastActivity"],"success":true} -2025-08-22T23:55:29.184Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"57b03945-b5b8-445b-bd4f-82ba7a4aad6f"} -2025-08-22T23:55:29.189Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"30c872d3-448f-4a06-8ff5-2cc34facc971","username":"testuser1_1755906929185","email":"test1_1755906929185@example.com"} -2025-08-22T23:55:29.193Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"d9cb951e-7bec-4e63-84bd-b13c9e079096","username":"testuser2_1755906929190","email":"test2_1755906929190@example.com"} -2025-08-22T23:55:29.199Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"5bea269d-3cf0-4a01-8e96-22edf09f72b0","username":"premiumuser_1755906929194","email":"premium_1755906929194@example.com"} -2025-08-22T23:55:29.204Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"418f0a1b-cc06-46c6-8cf6-57d85a426376","type":"direct","participants":2} -2025-08-22T23:55:29.212Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(418f0a1b-cc06-46c6-8cf6-57d85a426376)","executionTime":7,"chatId":"418f0a1b-cc06-46c6-8cf6-57d85a426376","messageCount":1,"archiveId":"32b168aa-99c5-4b13-a6c5-543ca597b076"} -2025-08-22T23:55:29.215Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"418f0a1b-cc06-46c6-8cf6-57d85a426376"} -2025-08-22T23:55:29.220Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"dc4c535b-62ba-43c2-8284-f26801ef3c54","username":"testuser1_1755906929216","email":"test1_1755906929216@example.com"} -2025-08-22T23:55:29.224Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"60724bd0-60b4-47b2-86e0-df664471781a","username":"testuser2_1755906929221","email":"test2_1755906929221@example.com"} -2025-08-22T23:55:29.229Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"5e28df07-7fc4-4989-966f-332dd98c943e","username":"premiumuser_1755906929225","email":"premium_1755906929225@example.com"} -2025-08-22T23:55:29.234Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"1e6c88b6-ee22-47ba-b34c-83e951f0ebc8","type":"direct","participants":2} -2025-08-22T23:55:29.240Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(1e6c88b6-ee22-47ba-b34c-83e951f0ebc8)","executionTime":5,"chatId":"1e6c88b6-ee22-47ba-b34c-83e951f0ebc8","messageCount":1,"archiveId":"7401989f-d097-4c8d-bab5-6f9fbd9538b9"} -2025-08-22T23:55:29.243Z | [DATABASE] | Archived chat retrieved | Meta:{"query":"getArchivedChat(1e6c88b6-ee22-47ba-b34c-83e951f0ebc8)","executionTime":3,"chatId":"1e6c88b6-ee22-47ba-b34c-83e951f0ebc8","found":true} -2025-08-22T23:55:29.250Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"d17f2b03-8f53-46da-83e7-a512800b1718","username":"testuser1_1755906929244","email":"test1_1755906929244@example.com"} -2025-08-22T23:55:29.254Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"637e4680-1a34-4502-a944-e5a4ecb7ec13","username":"testuser2_1755906929251","email":"test2_1755906929251@example.com"} -2025-08-22T23:55:29.259Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"e54ec335-986d-40b0-bd48-9d08dd0d70fe","username":"premiumuser_1755906929255","email":"premium_1755906929255@example.com"} -2025-08-22T23:55:29.265Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"6daa084f-c842-4733-bdbb-03e65a9b0ac5","type":"direct","participants":2} -2025-08-22T23:55:29.270Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"24e3f379-8e73-4d1a-ad88-13ef9163925b","type":"group","participants":2} -2025-08-22T23:55:29.274Z | [DATABASE] | Chats retrieved by user id | Meta:{"query":"findByUserId(d17f2b03-8f53-46da-83e7-a512800b1718)","executionTime":3,"userId":"d17f2b03-8f53-46da-83e7-a512800b1718","count":2} -2025-08-22T23:55:29.279Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"fd15dc30-3a08-4359-a37f-a2c3ad748d0b","username":"testuser1_1755906929275","email":"test1_1755906929275@example.com"} -2025-08-22T23:55:29.283Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"4589891d-48eb-4e91-9591-3beecc29d82f","username":"testuser2_1755906929280","email":"test2_1755906929280@example.com"} -2025-08-22T23:55:29.288Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"7fd4a8a9-0fcf-4a8b-8543-507f8466606b","username":"premiumuser_1755906929285","email":"premium_1755906929285@example.com"} -2025-08-22T23:55:29.294Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"bf378cb6-e8e2-4124-9ac4-95445e678085","type":"direct","participants":2} -2025-08-22T23:55:29.297Z | [DATABASE] | Active chats retrieved for user | Meta:{"query":"findActiveChatsForUser(fd15dc30-3a08-4359-a37f-a2c3ad748d0b)","executionTime":2,"userId":"fd15dc30-3a08-4359-a37f-a2c3ad748d0b","count":1} -2025-08-22T23:55:29.302Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"b4e53162-db8c-4d21-87e1-b49dfdf655c6","username":"testuser1_1755906929298","email":"test1_1755906929298@example.com"} -2025-08-22T23:55:29.307Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"502c1ea0-57d8-4b81-9640-5bf06c930988","username":"testuser2_1755906929303","email":"test2_1755906929303@example.com"} -2025-08-22T23:55:29.312Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"63706d17-5328-47d5-8452-3f50c0e47256","username":"premiumuser_1755906929308","email":"premium_1755906929308@example.com"} -2025-08-22T23:55:29.316Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":3,"chatId":"f968cc97-2ccc-4864-b2db-d86869580abe","type":"direct","participants":2} -2025-08-22T23:55:29.328Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(60min)","executionTime":11,"inactivityMinutes":60,"count":216,"cutoffDate":"2025-08-22T22:55:29.317Z"} -2025-08-22T23:55:29.340Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-751Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-751Z.log deleted file mode 100644 index fd037613..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-751Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.751Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.807Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-22T23:55:28.870Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-22T23:55:28.880Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-22T23:55:28.898Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-22T23:55:28.909Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-22T23:55:28.981Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-760Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-760Z.log deleted file mode 100644 index 3393c33f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-760Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.760Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.952Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-778Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-778Z.log deleted file mode 100644 index 4eaa3dd7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-778Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.778Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.831Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"ctype":0,"cardCount":1} -2025-08-22T23:55:29.025Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-838Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-838Z.log deleted file mode 100644 index 3c2c56bc..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-838Z.log +++ /dev/null @@ -1,33 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.838Z -# Max entries per file: 10000 - -2025-08-22T23:55:28.950Z | [STARTUP] | Redis client connected successfully -2025-08-22T23:55:29.129Z | [STARTUP] | Logging service shutting down gracefully -2025-08-22T23:55:29.298Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:55:29.343Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:55:29.367Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.373Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.381Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:55:29.383Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.385Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.388Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-22T23:55:29.390Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.392Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.396Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-22T23:55:29.398Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.400Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.405Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:55:29.406Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.408Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.410Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:55:29.412Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.413Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.416Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:55:29.417Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.418Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.421Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:55:29.424Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.426Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.435Z | [STARTUP] | Redis client connected successfully -2025-08-22T23:55:29.469Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-876Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-876Z.log deleted file mode 100644 index a188e056..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-876Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.876Z -# Max entries per file: 10000 - -2025-08-22T23:55:29.022Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-948Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-948Z.log deleted file mode 100644 index 4ddc2027..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-28-948Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:28.948Z -# Max entries per file: 10000 - -2025-08-22T23:55:29.050Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-021Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-021Z.log deleted file mode 100644 index d53a67c7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-021Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:29.021Z -# Max entries per file: 10000 - -2025-08-22T23:55:29.326Z | [STARTUP] | Logging service shutting down gracefully -2025-08-22T23:55:30.362Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-600Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-600Z.log deleted file mode 100644 index 1bef46e1..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-600Z.log +++ /dev/null @@ -1,32 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:29.600Z -# Max entries per file: 10000 - -2025-08-22T23:55:32.277Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-22T23:55:32.881Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-22T23:55:33.799Z | [ERROR] | Error sending verification email | Meta:{"name":"TypeError","message":"Cannot read properties of undefined (reading 'email')","stack":"TypeError: Cannot read properties of undefined (reading 'email')\n at CreateUserCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\CreateUserCommandHandler.ts:54:19)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:77:7)"} -2025-08-22T23:55:33.824Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"TypeError","message":"Cannot read properties of undefined (reading 'id')","stack":"TypeError: Cannot read properties of undefined (reading 'id')\n at Function.toShortDto (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\DTOs\\Mappers\\UserMapper.ts:8:16)\n at CreateUserCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\CreateUserCommandHandler.ts:71:25)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:77:7)"} -2025-08-22T23:55:34.006Z | [ERROR] | Error sending verification email | Meta:{"name":"TypeError","message":"Cannot read properties of undefined (reading 'email')","stack":"TypeError: Cannot read properties of undefined (reading 'email')\n at CreateUserCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\CreateUserCommandHandler.ts:54:19)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:97:7)"} -2025-08-22T23:55:34.009Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"TypeError","message":"Cannot read properties of undefined (reading 'id')","stack":"TypeError: Cannot read properties of undefined (reading 'id')\n at Function.toShortDto (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\DTOs\\Mappers\\UserMapper.ts:8:16)\n at CreateUserCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\CreateUserCommandHandler.ts:71:25)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:97:7)"} -2025-08-22T23:55:34.315Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:114:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:34.368Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:55:34.586Z | [DATABASE] | User lookup completed | Meta:{"executionTime":217,"found":true,"searchBy":"username"} -2025-08-22T23:55:34.837Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":15} -2025-08-22T23:55:34.934Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-22T23:55:34.948Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-22T23:55:34.979Z | [DATABASE] | User lookup completed | Meta:{"executionTime":31,"found":false,"searchBy":"username"} -2025-08-22T23:55:35.029Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-22T23:55:35.161Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:55:35.223Z | [DATABASE] | User lookup completed | Meta:{"executionTime":62,"found":true,"searchBy":"username"} -2025-08-22T23:55:35.356Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":1} -2025-08-22T23:55:35.401Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-22T23:55:35.468Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:55:35.470Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-22T23:55:35.506Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-22T23:55:35.542Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-22T23:55:38.498Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-22T23:55:38.504Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-22T23:55:38.509Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:55:38.512Z | [DATABASE] | User lookup completed | Meta:{"executionTime":3,"found":false,"searchBy":"username"} -2025-08-22T23:55:38.516Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-22T23:55:40.206Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-721Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-721Z.log deleted file mode 100644 index d2d5920e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-721Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:29.721Z -# Max entries per file: 10000 - -2025-08-22T23:55:29.743Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.756Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.761Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.768Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.775Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.781Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.787Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.791Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.869Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-722Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-722Z.log deleted file mode 100644 index b286838a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-722Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:29.722Z -# Max entries per file: 10000 - -2025-08-22T23:55:29.737Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-754Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-754Z.log deleted file mode 100644 index cd8bd905..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-754Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:29.754Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-780Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-780Z.log deleted file mode 100644 index 975c01b2..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-780Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:29.780Z -# Max entries per file: 10000 - -2025-08-22T23:55:29.797Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-856Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-856Z.log deleted file mode 100644 index a20f1918..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-29-856Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:29.856Z -# Max entries per file: 10000 - -2025-08-22T23:55:29.858Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-22T23:55:29.865Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:29.867Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-22T23:55:29.868Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-22T23:55:29.869Z | [STARTUP] | Test message -2025-08-22T23:55:29.870Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-22T23:55:29.873Z | [STARTUP] | Test for directory creation -2025-08-22T23:55:29.908Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-30-211Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-30-211Z.log deleted file mode 100644 index bdff269e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-30-211Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:30.211Z -# Max entries per file: 10000 - -2025-08-22T23:55:30.224Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:30.226Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:30.227Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:30.240Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:55:30.258Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-30-292Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-30-292Z.log deleted file mode 100644 index 346a4c11..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-30-292Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:30.292Z -# Max entries per file: 10000 - -2025-08-22T23:55:30.295Z | [AUTH] | Authentication successful | ReqId:vjehx5yc6 | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-22T23:55:30.301Z | [AUTH] | Authentication failed - No valid token | ReqId:76yyk7gje | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-22T23:55:30.303Z | [AUTH] | Authentication successful | ReqId:3r2w7i9am | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-22T23:55:30.304Z | [AUTH] | Token refreshed | ReqId:fwsexjfon | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-22T23:55:30.306Z | [AUTH] | Admin authentication successful | ReqId:tzeqyatyf | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-22T23:55:30.311Z | [WARNING] | Admin access denied | ReqId:vh9hf4e9v | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-22T23:55:30.317Z | [WARNING] | Admin access denied | ReqId:cgrb86xdn | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-22T23:55:30.322Z | [AUTH] | Admin authentication successful | ReqId:0s8eddr1z | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-22T23:55:30.324Z | [AUTH] | Admin token refreshed | ReqId:s4mq3wig2 | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-22T23:55:30.342Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-30-333Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-30-333Z.log deleted file mode 100644 index 9526813d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-55-30-333Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:55:30.333Z -# Max entries per file: 10000 - -2025-08-22T23:55:30.353Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-183Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-183Z.log deleted file mode 100644 index 568acb48..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-183Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.183Z -# Max entries per file: 10000 - -2025-08-22T23:59:44.360Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-219Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-219Z.log deleted file mode 100644 index c86457f2..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-219Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.219Z -# Max entries per file: 10000 - -2025-08-22T23:59:44.417Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-408Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-408Z.log deleted file mode 100644 index a4657b4d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-408Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.408Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.050Z | [STARTUP] | Logging service shutting down gracefully -2025-08-22T23:59:46.076Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-668Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-668Z.log deleted file mode 100644 index 7ec85274..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-668Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.668Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.312Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:59:45.362Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:59:45.394Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.402Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.412Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:59:45.415Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.420Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.424Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-22T23:59:45.426Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.429Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.433Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-22T23:59:45.437Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.441Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.450Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:59:45.452Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.456Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.459Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:59:45.462Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.464Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.468Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:59:45.471Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.474Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.477Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-22T23:59:45.481Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.500Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.513Z | [STARTUP] | Redis client connected successfully -2025-08-22T23:59:45.550Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-679Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-679Z.log deleted file mode 100644 index b9e67a4a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-679Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.679Z -# Max entries per file: 10000 - -2025-08-22T23:59:44.747Z | [STARTUP] | Redis client connected successfully -2025-08-22T23:59:45.157Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-741Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-741Z.log deleted file mode 100644 index c2a94837..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-741Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.741Z -# Max entries per file: 10000 - -2025-08-22T23:59:44.916Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-801Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-801Z.log deleted file mode 100644 index 183ff9f0..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-801Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.801Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.006Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-803Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-803Z.log deleted file mode 100644 index eecf3acb..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-803Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.803Z -# Max entries per file: 10000 - -2025-08-22T23:59:44.848Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"ctype":0,"cardCount":1} -2025-08-22T23:59:45.051Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-826Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-826Z.log deleted file mode 100644 index 264e7e4b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-826Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.826Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.040Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-919Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-919Z.log deleted file mode 100644 index 79279d55..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-919Z.log +++ /dev/null @@ -1,57 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.919Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.191Z | [DATABASE] | User created successfully | Meta:{"executionTime":32,"userId":"647e3539-03e7-4eeb-aa70-9b39edfe51c9","username":"testuser1_1755907185159","email":"test1_1755907185159@example.com"} -2025-08-22T23:59:45.240Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"99ad1e7c-3889-4842-8123-a61f56745e2e","username":"testuser2_1755907185234","email":"test2_1755907185234@example.com"} -2025-08-22T23:59:45.247Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"7f6700ac-be70-4c8c-94b4-43ce8cc3b7a1","username":"premiumuser_1755907185242","email":"premium_1755907185242@example.com"} -2025-08-22T23:59:45.257Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":9,"chatId":"502509c9-6111-492d-a44f-b13969c99f0f","type":"direct","participants":2} -2025-08-22T23:59:45.268Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"7715ff38-0ac0-47d8-b99c-6e0c0b422bc9","username":"testuser1_1755907185264","email":"test1_1755907185264@example.com"} -2025-08-22T23:59:45.274Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"4472c9c4-fa20-4b9e-930a-b96914688b86","username":"testuser2_1755907185270","email":"test2_1755907185270@example.com"} -2025-08-22T23:59:45.279Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"42ddd2cd-bc54-43aa-8d83-82bc36e59433","username":"premiumuser_1755907185275","email":"premium_1755907185275@example.com"} -2025-08-22T23:59:45.285Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"4c4d7b87-2f4b-443e-92cc-ff93e4f9aed6","type":"group","participants":3} -2025-08-22T23:59:45.293Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"6cf1e60d-8a5f-415f-b805-85cbf40c677b","username":"testuser1_1755907185287","email":"test1_1755907185287@example.com"} -2025-08-22T23:59:45.299Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"99b6bed9-b48c-46a2-968e-55615b27e9c3","username":"testuser2_1755907185294","email":"test2_1755907185294@example.com"} -2025-08-22T23:59:45.305Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"ec4cd5f3-ab2d-40df-bee0-c22781474e04","username":"premiumuser_1755907185300","email":"premium_1755907185300@example.com"} -2025-08-22T23:59:45.312Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"05ce16ee-e275-4c92-95e0-9318f9e07a9d","type":"game","participants":2} -2025-08-22T23:59:45.317Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"316bf4d9-f828-4062-96c0-c189769b654b","username":"testuser1_1755907185313","email":"test1_1755907185313@example.com"} -2025-08-22T23:59:45.323Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"e251c717-5fca-4bdc-a7e5-a1b37894d2da","username":"testuser2_1755907185318","email":"test2_1755907185318@example.com"} -2025-08-22T23:59:45.328Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"972ee00e-7d70-49af-9f1c-86817fe3d5bd","username":"premiumuser_1755907185324","email":"premium_1755907185324@example.com"} -2025-08-22T23:59:45.334Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"bdcedbb0-7c38-4564-9630-7f798ef2e531","type":"game","participants":2} -2025-08-22T23:59:45.348Z | [DATABASE] | Chat retrieved by game id | Meta:{"query":"findByGameId(c312b4be-2dc6-4d56-89f1-d470eb879e9e)","executionTime":13,"gameId":"c312b4be-2dc6-4d56-89f1-d470eb879e9e","found":true} -2025-08-22T23:59:45.354Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"76c2e012-0eef-4bfd-8913-eacd1c1c8a1d","username":"testuser1_1755907185349","email":"test1_1755907185349@example.com"} -2025-08-22T23:59:45.359Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"89b40dfc-26f7-461f-a1dc-82b6eab9d911","username":"testuser2_1755907185355","email":"test2_1755907185355@example.com"} -2025-08-22T23:59:45.363Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"2fc7eae8-5302-430a-8525-c3ed21603d2c","username":"premiumuser_1755907185360","email":"premium_1755907185360@example.com"} -2025-08-22T23:59:45.368Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"9d378457-4039-48b7-844a-45efdf85a463","type":"direct","participants":2} -2025-08-22T23:59:45.378Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"9d378457-4039-48b7-844a-45efdf85a463"} -2025-08-22T23:59:45.379Z | [DATABASE] | Chat updated successfully | Meta:{"query":"update(9d378457-4039-48b7-844a-45efdf85a463)","executionTime":10,"chatId":"9d378457-4039-48b7-844a-45efdf85a463","updatedFields":["messages","lastActivity"],"success":true} -2025-08-22T23:59:45.382Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"9d378457-4039-48b7-844a-45efdf85a463"} -2025-08-22T23:59:45.388Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"3184ff71-8c72-4555-a6ef-da87e96d13a1","username":"testuser1_1755907185383","email":"test1_1755907185383@example.com"} -2025-08-22T23:59:45.392Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"a3238ff2-e73b-42db-92ba-7d0508dcc377","username":"testuser2_1755907185389","email":"test2_1755907185389@example.com"} -2025-08-22T23:59:45.398Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"22565aa3-ca10-4656-a41a-2a5910ebd884","username":"premiumuser_1755907185393","email":"premium_1755907185393@example.com"} -2025-08-22T23:59:45.403Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"9634e95f-3b70-4012-a9e3-f50ed1f8ac04","type":"direct","participants":2} -2025-08-22T23:59:45.414Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(9634e95f-3b70-4012-a9e3-f50ed1f8ac04)","executionTime":10,"chatId":"9634e95f-3b70-4012-a9e3-f50ed1f8ac04","messageCount":1,"archiveId":"e0253136-a59a-4f6e-a335-6f1441748e68"} -2025-08-22T23:59:45.417Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"9634e95f-3b70-4012-a9e3-f50ed1f8ac04"} -2025-08-22T23:59:45.424Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"286901a2-6b82-4ff7-bc02-e7a0095cb0f4","username":"testuser1_1755907185418","email":"test1_1755907185418@example.com"} -2025-08-22T23:59:45.431Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"372cc641-a0df-419f-b504-28526515ae80","username":"testuser2_1755907185425","email":"test2_1755907185425@example.com"} -2025-08-22T23:59:45.438Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"c8c0ca37-903e-40cf-9fba-7fba81348ed8","username":"premiumuser_1755907185432","email":"premium_1755907185432@example.com"} -2025-08-22T23:59:45.445Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"d7681988-b4a4-4be5-bddb-3132c5db6e35","type":"direct","participants":2} -2025-08-22T23:59:45.454Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(d7681988-b4a4-4be5-bddb-3132c5db6e35)","executionTime":8,"chatId":"d7681988-b4a4-4be5-bddb-3132c5db6e35","messageCount":1,"archiveId":"aac9428e-5a07-4cf4-a7f4-9f98b08828b1"} -2025-08-22T23:59:45.458Z | [DATABASE] | Archived chat retrieved | Meta:{"query":"getArchivedChat(d7681988-b4a4-4be5-bddb-3132c5db6e35)","executionTime":3,"chatId":"d7681988-b4a4-4be5-bddb-3132c5db6e35","found":true} -2025-08-22T23:59:45.463Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"f98697c7-e4ef-43d4-822e-68ca364f1d57","username":"testuser1_1755907185459","email":"test1_1755907185459@example.com"} -2025-08-22T23:59:45.469Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"a46a7de5-85d5-41de-acd0-e1afc5b1aee7","username":"testuser2_1755907185464","email":"test2_1755907185464@example.com"} -2025-08-22T23:59:45.474Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"8a56a89a-d884-4bcf-be0d-ce8967f942bc","username":"premiumuser_1755907185470","email":"premium_1755907185470@example.com"} -2025-08-22T23:59:45.480Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"98a8f892-c2ba-4d4d-a848-411dfe86a201","type":"direct","participants":2} -2025-08-22T23:59:45.485Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"deecc2b6-0c01-44bc-b93a-170902f08f9d","type":"group","participants":2} -2025-08-22T23:59:45.489Z | [DATABASE] | Chats retrieved by user id | Meta:{"query":"findByUserId(f98697c7-e4ef-43d4-822e-68ca364f1d57)","executionTime":3,"userId":"f98697c7-e4ef-43d4-822e-68ca364f1d57","count":2} -2025-08-22T23:59:45.495Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"36bda52a-9f10-4c78-8dbe-9f5d804ddb6e","username":"testuser1_1755907185491","email":"test1_1755907185491@example.com"} -2025-08-22T23:59:45.501Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"c2f4b1e3-04b2-42b2-a01f-e8d82958e94a","username":"testuser2_1755907185496","email":"test2_1755907185496@example.com"} -2025-08-22T23:59:45.507Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"ef01bad0-4a83-40ec-971a-6f32320b33a5","username":"premiumuser_1755907185502","email":"premium_1755907185502@example.com"} -2025-08-22T23:59:45.513Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"472a4679-767b-4844-89c8-d7db8388012c","type":"direct","participants":2} -2025-08-22T23:59:45.517Z | [DATABASE] | Active chats retrieved for user | Meta:{"query":"findActiveChatsForUser(36bda52a-9f10-4c78-8dbe-9f5d804ddb6e)","executionTime":3,"userId":"36bda52a-9f10-4c78-8dbe-9f5d804ddb6e","count":1} -2025-08-22T23:59:45.528Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"4f3b36d6-8e94-4d40-86fc-f3304fb2291e","username":"testuser1_1755907185522","email":"test1_1755907185522@example.com"} -2025-08-22T23:59:45.533Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"c5d95504-616a-4007-940c-fb27560f9196","username":"testuser2_1755907185529","email":"test2_1755907185529@example.com"} -2025-08-22T23:59:45.539Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"7fa7574f-6055-4d1f-8b26-2bbb55ccec47","username":"premiumuser_1755907185534","email":"premium_1755907185534@example.com"} -2025-08-22T23:59:45.545Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"a412b72a-4607-4afe-87a0-8b0da02375c4","type":"direct","participants":2} -2025-08-22T23:59:45.556Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(60min)","executionTime":10,"inactivityMinutes":60,"count":233,"cutoffDate":"2025-08-22T22:59:45.546Z"} -2025-08-22T23:59:45.571Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-970Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-970Z.log deleted file mode 100644 index 26e3fbfc..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-44-970Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:44.970Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.013Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-22T23:59:45.092Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-22T23:59:45.099Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-22T23:59:45.104Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-22T23:59:45.111Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-22T23:59:45.177Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-011Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-011Z.log deleted file mode 100644 index abe2d135..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-011Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:45.011Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.168Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-014Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-014Z.log deleted file mode 100644 index 5e3334e4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-014Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:45.014Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.109Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:59:45.178Z | [DATABASE] | User lookup completed | Meta:{"executionTime":69,"found":true,"searchBy":"username"} -2025-08-22T23:59:45.179Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-22T23:59:45.180Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"org-123","requiresOrgReauth":false,"totalLoginTime":71} -2025-08-22T23:59:45.196Z | [AUTH] | Login attempt | Meta:{"username":"adminuser"} -2025-08-22T23:59:45.207Z | [DATABASE] | User lookup completed | Meta:{"executionTime":11,"found":true,"searchBy":"username"} -2025-08-22T23:59:45.208Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-22T23:59:45.209Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":13} -2025-08-22T23:59:45.213Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-22T23:59:45.215Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-22T23:59:45.216Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-22T23:59:45.219Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:59:45.220Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-22T23:59:45.221Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-22T23:59:45.222Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-22T23:59:45.231Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:59:45.232Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-22T23:59:45.241Z | [ERROR] | Password verification error | Meta:{"name":"Error","message":"password verification failed","stack":"Error: password verification failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:176:60)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.245Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:59:45.247Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"database connection error","stack":"Error: database connection error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:195:59)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.253Z | [DATABASE] | Database connection error during login | Meta:{"executionTime":8} -2025-08-22T23:59:45.260Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:59:45.261Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-22T23:59:45.270Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-22T23:59:45.271Z | [ERROR] | Token creation failed during login | Meta:{"name":"Error","message":"JWT creation failed","stack":"Error: JWT creation failed\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:217:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at JWTService.mockConstructor [as create] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:78:39)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-22T23:59:45.274Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"Login failed due to internal error","stack":"Error: Login failed due to internal error\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:133:15)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-22T23:59:45.314Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-131Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-131Z.log deleted file mode 100644 index 8205d63f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-131Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:45.131Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.224Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-687Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-687Z.log deleted file mode 100644 index e90605c1..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-687Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:45.687Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.711Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.726Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.732Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.741Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.751Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.757Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.764Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.769Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:45.842Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-814Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-814Z.log deleted file mode 100644 index 2650c0c0..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-814Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:45.814Z -# Max entries per file: 10000 - -2025-08-22T23:59:45.834Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-926Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-926Z.log deleted file mode 100644 index ea4baca6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-45-926Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:45.926Z -# Max entries per file: 10000 - -2025-08-22T23:59:48.202Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-22T23:59:48.522Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-22T23:59:48.955Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:48.973Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:48.981Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:48.995Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:59:49.049Z | [DATABASE] | User lookup completed | Meta:{"executionTime":54,"found":true,"searchBy":"username"} -2025-08-22T23:59:49.056Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-22T23:59:49.063Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":68} -2025-08-22T23:59:49.075Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-22T23:59:49.084Z | [DATABASE] | User lookup completed | Meta:{"executionTime":9,"found":false,"searchBy":"username"} -2025-08-22T23:59:49.095Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-22T23:59:49.105Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:59:49.110Z | [DATABASE] | User lookup completed | Meta:{"executionTime":5,"found":true,"searchBy":"username"} -2025-08-22T23:59:49.117Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-22T23:59:49.134Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-22T23:59:49.147Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:59:49.159Z | [DATABASE] | User lookup completed | Meta:{"executionTime":12,"found":true,"searchBy":"username"} -2025-08-22T23:59:49.163Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-22T23:59:49.167Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":20} -2025-08-22T23:59:51.770Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-22T23:59:51.775Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-22T23:59:51.786Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-22T23:59:51.797Z | [DATABASE] | User lookup completed | Meta:{"executionTime":12,"found":false,"searchBy":"username"} -2025-08-22T23:59:51.802Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-22T23:59:52.300Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-138Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-138Z.log deleted file mode 100644 index 22832664..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-138Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:46.138Z -# Max entries per file: 10000 - -2025-08-22T23:59:46.150Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:46.152Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:46.153Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:46.156Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:46.175Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-267Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-267Z.log deleted file mode 100644 index 62830fbd..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-267Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:46.267Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-308Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-308Z.log deleted file mode 100644 index ccb740d3..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-308Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:46.308Z -# Max entries per file: 10000 - -2025-08-22T23:59:46.410Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-517Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-517Z.log deleted file mode 100644 index 22e59dcc..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-517Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:46.517Z -# Max entries per file: 10000 - -2025-08-22T23:59:46.522Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-22T23:59:46.536Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-22T23:59:46.537Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-22T23:59:46.540Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-22T23:59:46.541Z | [STARTUP] | Test message -2025-08-22T23:59:46.550Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-22T23:59:46.555Z | [STARTUP] | Test for directory creation -2025-08-22T23:59:46.659Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-522Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-522Z.log deleted file mode 100644 index 9a56814f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-522Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:46.522Z -# Max entries per file: 10000 - -2025-08-22T23:59:46.525Z | [AUTH] | Authentication successful | ReqId:5n4ngau54 | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-22T23:59:46.532Z | [AUTH] | Authentication failed - No valid token | ReqId:l6ha64cl8 | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-22T23:59:46.535Z | [AUTH] | Authentication successful | ReqId:4by1h40xn | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-22T23:59:46.536Z | [AUTH] | Token refreshed | ReqId:bn1s3v11v | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-22T23:59:46.539Z | [AUTH] | Admin authentication successful | ReqId:a4mu76qgt | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-22T23:59:46.548Z | [WARNING] | Admin access denied | ReqId:dyqf5lenf | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-22T23:59:46.555Z | [WARNING] | Admin access denied | ReqId:8eovgqfy1 | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-22T23:59:46.569Z | [AUTH] | Admin authentication successful | ReqId:9fg9eodxr | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-22T23:59:46.574Z | [AUTH] | Admin token refreshed | ReqId:rpja9vt7s | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-22T23:59:46.624Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-541Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-541Z.log deleted file mode 100644 index 75b9196b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-22T23-59-46-541Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-22T23:59:46.541Z -# Max entries per file: 10000 - -2025-08-22T23:59:46.574Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-32-724Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-32-724Z.log deleted file mode 100644 index a51a7a9d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-32-724Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:32.724Z -# Max entries per file: 10000 - -2025-08-23T00:00:32.781Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:00:33.134Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-32-981Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-32-981Z.log deleted file mode 100644 index 0fea789c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-32-981Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:32.981Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.176Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-32-989Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-32-989Z.log deleted file mode 100644 index ba97b033..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-32-989Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:32.989Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.190Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-032Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-032Z.log deleted file mode 100644 index 070a995b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-032Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.032Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.077Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:00:33.194Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:00:33.201Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:00:33.204Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:00:33.210Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:00:33.327Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-221Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-221Z.log deleted file mode 100644 index 5e8d390d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-221Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.221Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.461Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-244Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-244Z.log deleted file mode 100644 index ec2bb89d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-244Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.244Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.396Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-247Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-247Z.log deleted file mode 100644 index d1248c5d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-247Z.log +++ /dev/null @@ -1,57 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.247Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.508Z | [DATABASE] | User created successfully | Meta:{"executionTime":32,"userId":"f6f89e30-544c-444f-a357-d66233135ae4","username":"testuser1_1755907233476","email":"test1_1755907233476@example.com"} -2025-08-23T00:00:33.571Z | [DATABASE] | User created successfully | Meta:{"executionTime":10,"userId":"3a68466f-0097-4782-b649-86459bc8f56c","username":"testuser2_1755907233561","email":"test2_1755907233561@example.com"} -2025-08-23T00:00:33.581Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"2172e798-e5cf-42f6-aad8-6e1ab03b7c4d","username":"premiumuser_1755907233573","email":"premium_1755907233573@example.com"} -2025-08-23T00:00:33.591Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":8,"chatId":"d9f7f343-f19f-4e4d-819b-0d77d53979a5","type":"direct","participants":2} -2025-08-23T00:00:33.607Z | [DATABASE] | User created successfully | Meta:{"executionTime":8,"userId":"c7e28331-f902-446b-815c-dcab3f3ad14a","username":"testuser1_1755907233599","email":"test1_1755907233599@example.com"} -2025-08-23T00:00:33.615Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"037fe5ff-9503-445f-8255-3574aa55ca67","username":"testuser2_1755907233609","email":"test2_1755907233609@example.com"} -2025-08-23T00:00:33.623Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"7374883a-919e-4b91-be03-55ada80b7dc1","username":"premiumuser_1755907233617","email":"premium_1755907233617@example.com"} -2025-08-23T00:00:33.632Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":8,"chatId":"f27de6cd-2cba-4ddf-bedd-4adf2f3f299f","type":"group","participants":3} -2025-08-23T00:00:33.644Z | [DATABASE] | User created successfully | Meta:{"executionTime":9,"userId":"b4099db8-88fb-4c16-b2c2-4c47bc918787","username":"testuser1_1755907233635","email":"test1_1755907233635@example.com"} -2025-08-23T00:00:33.651Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"daba5d2b-4d11-434f-9965-142426053b85","username":"testuser2_1755907233645","email":"test2_1755907233645@example.com"} -2025-08-23T00:00:33.661Z | [DATABASE] | User created successfully | Meta:{"executionTime":8,"userId":"63fe5d59-0c5d-4ced-b4a8-1c2cf65556b2","username":"premiumuser_1755907233653","email":"premium_1755907233653@example.com"} -2025-08-23T00:00:33.670Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":7,"chatId":"eaec8ef2-9954-4f97-abc2-553be635cc49","type":"game","participants":2} -2025-08-23T00:00:33.676Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"536965b8-8893-4298-b702-97e514c5298e","username":"testuser1_1755907233671","email":"test1_1755907233671@example.com"} -2025-08-23T00:00:33.682Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"9add006d-1712-430f-9f40-0f9a033f4f4e","username":"testuser2_1755907233677","email":"test2_1755907233677@example.com"} -2025-08-23T00:00:33.689Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"0ce2f6f9-f1c7-4e74-86a6-673d94229c81","username":"premiumuser_1755907233682","email":"premium_1755907233682@example.com"} -2025-08-23T00:00:33.699Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":7,"chatId":"116c2c6c-af86-41bd-8e69-0a27f16596ac","type":"game","participants":2} -2025-08-23T00:00:33.715Z | [DATABASE] | Chat retrieved by game id | Meta:{"query":"findByGameId(582fc167-039c-494f-ae5a-177f55644dd1)","executionTime":14,"gameId":"582fc167-039c-494f-ae5a-177f55644dd1","found":true} -2025-08-23T00:00:33.722Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"f0ace574-ed9c-4aa2-bcf2-d969eebeb584","username":"testuser1_1755907233717","email":"test1_1755907233717@example.com"} -2025-08-23T00:00:33.728Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"c46e2e92-db94-4faa-a860-fcd47c7dfc84","username":"testuser2_1755907233723","email":"test2_1755907233723@example.com"} -2025-08-23T00:00:33.735Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"01e27b25-37cd-40fd-b8b9-72e23502a79a","username":"premiumuser_1755907233729","email":"premium_1755907233729@example.com"} -2025-08-23T00:00:33.742Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"dbfdffc9-9342-47dc-8cd9-6b0048b410f1","type":"direct","participants":2} -2025-08-23T00:00:33.750Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"dbfdffc9-9342-47dc-8cd9-6b0048b410f1"} -2025-08-23T00:00:33.751Z | [DATABASE] | Chat updated successfully | Meta:{"query":"update(dbfdffc9-9342-47dc-8cd9-6b0048b410f1)","executionTime":8,"chatId":"dbfdffc9-9342-47dc-8cd9-6b0048b410f1","updatedFields":["messages","lastActivity"],"success":true} -2025-08-23T00:00:33.754Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"dbfdffc9-9342-47dc-8cd9-6b0048b410f1"} -2025-08-23T00:00:33.760Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"6e1e455d-0086-466b-80b5-9d7ef05b3b26","username":"testuser1_1755907233756","email":"test1_1755907233756@example.com"} -2025-08-23T00:00:33.765Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"42282ed9-0e2a-4333-98c2-96391585d167","username":"testuser2_1755907233761","email":"test2_1755907233761@example.com"} -2025-08-23T00:00:33.770Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"f7c6910f-5174-491f-ab82-b20d0c8817ee","username":"premiumuser_1755907233766","email":"premium_1755907233766@example.com"} -2025-08-23T00:00:33.776Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"233318ed-5f78-4222-82c1-fd49c6675ee0","type":"direct","participants":2} -2025-08-23T00:00:33.785Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(233318ed-5f78-4222-82c1-fd49c6675ee0)","executionTime":7,"chatId":"233318ed-5f78-4222-82c1-fd49c6675ee0","messageCount":1,"archiveId":"4bc49ca5-e4b5-4dba-9c83-6cddfd1337d1"} -2025-08-23T00:00:33.789Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":3,"found":true,"chatId":"233318ed-5f78-4222-82c1-fd49c6675ee0"} -2025-08-23T00:00:33.795Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"31dbc620-9bfe-4aa0-a584-f5099faf013b","username":"testuser1_1755907233790","email":"test1_1755907233790@example.com"} -2025-08-23T00:00:33.800Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"0056501b-fce1-4b01-8e05-c2fa18970825","username":"testuser2_1755907233796","email":"test2_1755907233796@example.com"} -2025-08-23T00:00:33.805Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"e32ab17d-45b4-428b-971e-3f6f5b9b2d72","username":"premiumuser_1755907233801","email":"premium_1755907233801@example.com"} -2025-08-23T00:00:33.811Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"c60deb9e-d8cd-40be-9f46-af395fb9a7ec","type":"direct","participants":2} -2025-08-23T00:00:33.817Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(c60deb9e-d8cd-40be-9f46-af395fb9a7ec)","executionTime":5,"chatId":"c60deb9e-d8cd-40be-9f46-af395fb9a7ec","messageCount":1,"archiveId":"e093b359-a50f-4e36-b4f0-092f2d0d69c8"} -2025-08-23T00:00:33.821Z | [DATABASE] | Archived chat retrieved | Meta:{"query":"getArchivedChat(c60deb9e-d8cd-40be-9f46-af395fb9a7ec)","executionTime":3,"chatId":"c60deb9e-d8cd-40be-9f46-af395fb9a7ec","found":true} -2025-08-23T00:00:33.826Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"3a4e909a-fa56-47a6-ad81-c201affb0fb4","username":"testuser1_1755907233822","email":"test1_1755907233822@example.com"} -2025-08-23T00:00:33.831Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"7773b505-159c-4354-8b5b-a5c9ba03a341","username":"testuser2_1755907233827","email":"test2_1755907233827@example.com"} -2025-08-23T00:00:33.836Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"ed0f9e82-d6ba-4a08-bc66-cd44ae57dac6","username":"premiumuser_1755907233832","email":"premium_1755907233832@example.com"} -2025-08-23T00:00:33.840Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":3,"chatId":"b27e5dad-479e-416b-af5e-725ca0918cb2","type":"direct","participants":2} -2025-08-23T00:00:33.845Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"016e6fe0-41d9-48e9-a5d5-e0cdc6bb56af","type":"group","participants":2} -2025-08-23T00:00:33.848Z | [DATABASE] | Chats retrieved by user id | Meta:{"query":"findByUserId(3a4e909a-fa56-47a6-ad81-c201affb0fb4)","executionTime":2,"userId":"3a4e909a-fa56-47a6-ad81-c201affb0fb4","count":2} -2025-08-23T00:00:33.853Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"b233933d-b7c9-4c39-911d-013ba9e26d25","username":"testuser1_1755907233849","email":"test1_1755907233849@example.com"} -2025-08-23T00:00:33.859Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"e41ead08-6269-4033-afe7-221f50f20e75","username":"testuser2_1755907233854","email":"test2_1755907233854@example.com"} -2025-08-23T00:00:33.865Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"04215ac8-caaa-42f5-b5d3-cfdeb23e776d","username":"premiumuser_1755907233861","email":"premium_1755907233861@example.com"} -2025-08-23T00:00:33.870Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"230e5abc-3a2a-4db9-94da-035b74848a2e","type":"direct","participants":2} -2025-08-23T00:00:33.873Z | [DATABASE] | Active chats retrieved for user | Meta:{"query":"findActiveChatsForUser(b233933d-b7c9-4c39-911d-013ba9e26d25)","executionTime":2,"userId":"b233933d-b7c9-4c39-911d-013ba9e26d25","count":1} -2025-08-23T00:00:33.879Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"67a81df0-e0f5-4e62-a3b0-783d763b9875","username":"testuser1_1755907233875","email":"test1_1755907233875@example.com"} -2025-08-23T00:00:33.884Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"3fc05b39-c50b-4700-bdf0-51f61bcb3fe3","username":"testuser2_1755907233880","email":"test2_1755907233880@example.com"} -2025-08-23T00:00:33.888Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"93bce752-25d5-49f1-9b40-cd245b97725d","username":"premiumuser_1755907233885","email":"premium_1755907233885@example.com"} -2025-08-23T00:00:33.893Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"beee8f27-5b80-482c-8926-7f1a3503ad94","type":"direct","participants":2} -2025-08-23T00:00:33.906Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(60min)","executionTime":12,"inactivityMinutes":60,"count":234,"cutoffDate":"2025-08-22T23:00:33.894Z"} -2025-08-23T00:00:33.922Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-271Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-271Z.log deleted file mode 100644 index 3405084c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-271Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.271Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.505Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-297Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-297Z.log deleted file mode 100644 index 55759ff8..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-297Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.297Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.502Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-306Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-306Z.log deleted file mode 100644 index 9baee477..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-306Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.306Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.803Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:00:34.827Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-307Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-307Z.log deleted file mode 100644 index c23652aa..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-307Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.307Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.374Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"ctype":0,"cardCount":1} -2025-08-23T00:00:33.562Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-319Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-319Z.log deleted file mode 100644 index 2e9d52ef..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-319Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.319Z -# Max entries per file: 10000 - -2025-08-23T00:00:34.710Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:00:34.756Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:00:34.778Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.786Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.791Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.800Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:00:34.803Z | [DATABASE] | User lookup completed | Meta:{"executionTime":3,"found":true,"searchBy":"username"} -2025-08-23T00:00:34.806Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:00:34.808Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":8} -2025-08-23T00:00:34.812Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:00:34.814Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:00:34.815Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:00:34.817Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:00:34.818Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:00:34.820Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":1} -2025-08-23T00:00:34.821Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:00:34.829Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:00:34.831Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:00:34.832Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:00:34.832Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":3} -2025-08-23T00:00:37.377Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:00:37.381Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:00:37.431Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:00:37.449Z | [DATABASE] | User lookup completed | Meta:{"executionTime":18,"found":false,"searchBy":"username"} -2025-08-23T00:00:37.547Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:00:37.728Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-361Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-361Z.log deleted file mode 100644 index ca83eb39..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-361Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.361Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.547Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-390Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-390Z.log deleted file mode 100644 index 26086a1e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-390Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.390Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-402Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-402Z.log deleted file mode 100644 index 704fe6c8..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-402Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.402Z -# Max entries per file: 10000 - -2025-08-23T00:00:33.515Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:00:33.573Z | [DATABASE] | User lookup completed | Meta:{"executionTime":58,"found":true,"searchBy":"username"} -2025-08-23T00:00:33.575Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:00:33.577Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"org-123","requiresOrgReauth":false,"totalLoginTime":62} -2025-08-23T00:00:33.583Z | [AUTH] | Login attempt | Meta:{"username":"adminuser"} -2025-08-23T00:00:33.604Z | [DATABASE] | User lookup completed | Meta:{"executionTime":21,"found":true,"searchBy":"username"} -2025-08-23T00:00:33.606Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:00:33.608Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":25} -2025-08-23T00:00:33.611Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:00:33.613Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:00:33.615Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:00:33.621Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:00:33.623Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:00:33.625Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:00:33.627Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:00:33.636Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:00:33.638Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:00:33.647Z | [ERROR] | Password verification error | Meta:{"name":"Error","message":"password verification failed","stack":"Error: password verification failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:176:60)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:33.654Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:00:33.660Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"database connection error","stack":"Error: database connection error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:195:59)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:33.670Z | [DATABASE] | Database connection error during login | Meta:{"executionTime":15} -2025-08-23T00:00:33.678Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:00:33.680Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:00:33.681Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:00:33.686Z | [ERROR] | Token creation failed during login | Meta:{"name":"Error","message":"JWT creation failed","stack":"Error: JWT creation failed\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:217:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at JWTService.mockConstructor [as create] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:78:39)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:00:33.689Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"Login failed due to internal error","stack":"Error: Login failed due to internal error\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:133:15)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:00:33.743Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-699Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-699Z.log deleted file mode 100644 index 6f10b0c1..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-33-699Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:33.699Z -# Max entries per file: 10000 - -2025-08-23T00:00:34.048Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:00:34.092Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:00:34.136Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.152Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.158Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:00:34.160Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.163Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.169Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-23T00:00:34.171Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.176Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.189Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-23T00:00:34.191Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.201Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.205Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:00:34.210Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.214Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.217Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:00:34.219Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.221Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.225Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:00:34.227Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.229Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.234Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:00:34.237Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.239Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.260Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:00:34.291Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-450Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-450Z.log deleted file mode 100644 index 036967a3..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-450Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:34.450Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-475Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-475Z.log deleted file mode 100644 index 8e47e022..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-475Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:34.475Z -# Max entries per file: 10000 - -2025-08-23T00:00:34.499Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-478Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-478Z.log deleted file mode 100644 index 8ae14c9c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-478Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:34.478Z -# Max entries per file: 10000 - -2025-08-23T00:00:34.509Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.526Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.535Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.547Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.551Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.557Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.563Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.567Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.653Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-585Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-585Z.log deleted file mode 100644 index be60d3a0..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-585Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:34.585Z -# Max entries per file: 10000 - -2025-08-23T00:00:34.616Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-586Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-586Z.log deleted file mode 100644 index db76df07..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-586Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:34.586Z -# Max entries per file: 10000 - -2025-08-23T00:00:34.595Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-23T00:00:34.609Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.610Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-23T00:00:34.615Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-23T00:00:34.616Z | [STARTUP] | Test message -2025-08-23T00:00:34.619Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-23T00:00:34.625Z | [STARTUP] | Test for directory creation -2025-08-23T00:00:34.677Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-786Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-786Z.log deleted file mode 100644 index 14e45b84..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-786Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:34.786Z -# Max entries per file: 10000 - -2025-08-23T00:00:34.806Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-805Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-805Z.log deleted file mode 100644 index 28e42083..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-805Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:34.805Z -# Max entries per file: 10000 - -2025-08-23T00:00:34.808Z | [AUTH] | Authentication successful | ReqId:qqzye69hi | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:00:34.816Z | [AUTH] | Authentication failed - No valid token | ReqId:aojwwrcd9 | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-23T00:00:34.819Z | [AUTH] | Authentication successful | ReqId:hdo5veual | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:00:34.825Z | [AUTH] | Token refreshed | ReqId:7rffnkfiw | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-23T00:00:34.828Z | [AUTH] | Admin authentication successful | ReqId:ydjoaugww | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:00:34.831Z | [WARNING] | Admin access denied | ReqId:zj793f5pn | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-23T00:00:34.839Z | [WARNING] | Admin access denied | ReqId:y0uwls74b | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-23T00:00:34.845Z | [AUTH] | Admin authentication successful | ReqId:89gv9f5ye | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:00:34.847Z | [AUTH] | Admin token refreshed | ReqId:l8i3d7vl5 | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-23T00:00:34.865Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-861Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-861Z.log deleted file mode 100644 index d208044a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-00-34-861Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:00:34.861Z -# Max entries per file: 10000 - -2025-08-23T00:00:34.876Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.878Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.880Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.884Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:00:34.912Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-041Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-041Z.log deleted file mode 100644 index 5c7fc632..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-041Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.041Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.073Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"ctype":0,"cardCount":1} -2025-08-23T00:06:18.240Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-119Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-119Z.log deleted file mode 100644 index 7a193b0c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-119Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.119Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.268Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-392Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-392Z.log deleted file mode 100644 index 1e59533f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-392Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.392Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-395Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-395Z.log deleted file mode 100644 index 3e5e1612..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-395Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.395Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.489Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:06:18.568Z | [DATABASE] | User lookup completed | Meta:{"executionTime":79,"found":true,"searchBy":"username"} -2025-08-23T00:06:18.572Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:06:18.574Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"org-123","requiresOrgReauth":false,"totalLoginTime":85} -2025-08-23T00:06:18.580Z | [AUTH] | Login attempt | Meta:{"username":"adminuser"} -2025-08-23T00:06:18.583Z | [DATABASE] | User lookup completed | Meta:{"executionTime":3,"found":true,"searchBy":"username"} -2025-08-23T00:06:18.585Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:06:18.589Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":9} -2025-08-23T00:06:18.592Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:06:18.594Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:06:18.596Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:06:18.599Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:06:18.601Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:06:18.603Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:06:18.605Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:06:18.612Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:06:18.614Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:06:18.626Z | [ERROR] | Password verification error | Meta:{"name":"Error","message":"password verification failed","stack":"Error: password verification failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:176:60)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:18.634Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:06:18.650Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"database connection error","stack":"Error: database connection error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:195:59)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:18.687Z | [DATABASE] | Database connection error during login | Meta:{"executionTime":53} -2025-08-23T00:06:18.729Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:06:18.731Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:06:18.752Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:06:18.767Z | [ERROR] | Token creation failed during login | Meta:{"name":"Error","message":"JWT creation failed","stack":"Error: JWT creation failed\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:217:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at JWTService.mockConstructor [as create] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:78:39)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:06:18.775Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"Login failed due to internal error","stack":"Error: Login failed due to internal error\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:133:15)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:06:18.966Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-429Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-429Z.log deleted file mode 100644 index c8a7378d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-429Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.429Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.583Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-433Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-433Z.log deleted file mode 100644 index 71733ddb..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-433Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.433Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.465Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:06:18.540Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:06:18.547Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:06:18.553Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:06:18.557Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:06:18.724Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-473Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-473Z.log deleted file mode 100644 index 77f57c0a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-473Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.473Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.692Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-539Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-539Z.log deleted file mode 100644 index 9f32da82..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-539Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.539Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.842Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-547Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-547Z.log deleted file mode 100644 index f1c81868..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-547Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.547Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.893Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-563Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-563Z.log deleted file mode 100644 index 9810b07d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-563Z.log +++ /dev/null @@ -1,57 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.563Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.936Z | [DATABASE] | User created successfully | Meta:{"executionTime":87,"userId":"37defc0d-efd4-4ded-b24a-b5e6ff6dc507","username":"testuser1_1755907578849","email":"test1_1755907578849@example.com"} -2025-08-23T00:06:18.987Z | [DATABASE] | User created successfully | Meta:{"executionTime":8,"userId":"8eef6557-73f4-4a94-8fff-d51ecef7d241","username":"testuser2_1755907578979","email":"test2_1755907578979@example.com"} -2025-08-23T00:06:18.995Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"2c90b704-34af-4311-abd7-922ed2f0078e","username":"premiumuser_1755907578989","email":"premium_1755907578989@example.com"} -2025-08-23T00:06:19.005Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":8,"chatId":"4795a0a5-838d-44d8-bad6-32350bd7c6db","type":"direct","participants":2} -2025-08-23T00:06:19.018Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"0d44a7eb-ee5d-404f-bb63-458a62c44be8","username":"testuser1_1755907579011","email":"test1_1755907579011@example.com"} -2025-08-23T00:06:19.024Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"4b45b90a-4e87-463c-a11d-0be2ff094b91","username":"testuser2_1755907579020","email":"test2_1755907579020@example.com"} -2025-08-23T00:06:19.029Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"f916197c-4ae2-4de2-94b5-36f90ef5b3e7","username":"premiumuser_1755907579026","email":"premium_1755907579026@example.com"} -2025-08-23T00:06:19.035Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"9f765645-6e08-449f-b906-f52c863a8c53","type":"group","participants":3} -2025-08-23T00:06:19.042Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"67e80b2a-700b-45d9-b4ff-e3b48a6467aa","username":"testuser1_1755907579037","email":"test1_1755907579037@example.com"} -2025-08-23T00:06:19.048Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"eaaf25a3-2e74-436b-a343-3ca52acaad3b","username":"testuser2_1755907579044","email":"test2_1755907579044@example.com"} -2025-08-23T00:06:19.053Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"ad27760a-1826-474d-86bf-3d393ad6daed","username":"premiumuser_1755907579049","email":"premium_1755907579049@example.com"} -2025-08-23T00:06:19.058Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":3,"chatId":"4aec1a7e-4455-4265-b40c-4889850480ad","type":"game","participants":2} -2025-08-23T00:06:19.064Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"85fc8945-f0a8-467d-a3e0-fd9e69b3195c","username":"testuser1_1755907579060","email":"test1_1755907579060@example.com"} -2025-08-23T00:06:19.069Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"d3458138-5f36-4330-98d7-da02f76e351b","username":"testuser2_1755907579065","email":"test2_1755907579065@example.com"} -2025-08-23T00:06:19.073Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"6a47428b-05a0-46ef-b450-c3859011c551","username":"premiumuser_1755907579070","email":"premium_1755907579070@example.com"} -2025-08-23T00:06:19.078Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"18ec4ea2-4cac-448a-934c-9af2bb2aca93","type":"game","participants":2} -2025-08-23T00:06:19.090Z | [DATABASE] | Chat retrieved by game id | Meta:{"query":"findByGameId(1b0af921-03fa-4b4b-9766-181248dcb3ca)","executionTime":10,"gameId":"1b0af921-03fa-4b4b-9766-181248dcb3ca","found":true} -2025-08-23T00:06:19.096Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"0b05d5f2-18dc-4f9d-9a1f-2b301e25f9b6","username":"testuser1_1755907579092","email":"test1_1755907579092@example.com"} -2025-08-23T00:06:19.101Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"cf80c9de-b044-4768-af72-843f4fa56ca8","username":"testuser2_1755907579097","email":"test2_1755907579097@example.com"} -2025-08-23T00:06:19.107Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"06559028-964b-48a0-9b32-8fa0c07215c1","username":"premiumuser_1755907579103","email":"premium_1755907579103@example.com"} -2025-08-23T00:06:19.112Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"01d95d10-cb59-4b90-8d46-cc2c9923ed94","type":"direct","participants":2} -2025-08-23T00:06:19.120Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"01d95d10-cb59-4b90-8d46-cc2c9923ed94"} -2025-08-23T00:06:19.121Z | [DATABASE] | Chat updated successfully | Meta:{"query":"update(01d95d10-cb59-4b90-8d46-cc2c9923ed94)","executionTime":8,"chatId":"01d95d10-cb59-4b90-8d46-cc2c9923ed94","updatedFields":["messages","lastActivity"],"success":true} -2025-08-23T00:06:19.123Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":1,"found":true,"chatId":"01d95d10-cb59-4b90-8d46-cc2c9923ed94"} -2025-08-23T00:06:19.128Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"91f9bd6e-0c0f-4ef3-ad69-3dd9c7f9d4f9","username":"testuser1_1755907579125","email":"test1_1755907579125@example.com"} -2025-08-23T00:06:19.132Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"71496483-9b27-442b-82dd-1fceb75a8a25","username":"testuser2_1755907579129","email":"test2_1755907579129@example.com"} -2025-08-23T00:06:19.136Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"f24a6a65-3703-46b8-9f8a-2b0b24d0283c","username":"premiumuser_1755907579133","email":"premium_1755907579133@example.com"} -2025-08-23T00:06:19.142Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"3ac6bc70-0530-4dac-9c4c-eae7919219a2","type":"direct","participants":2} -2025-08-23T00:06:19.149Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(3ac6bc70-0530-4dac-9c4c-eae7919219a2)","executionTime":6,"chatId":"3ac6bc70-0530-4dac-9c4c-eae7919219a2","messageCount":1,"archiveId":"323b6b43-61aa-4559-9c91-05cb5b21dbab"} -2025-08-23T00:06:19.152Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"3ac6bc70-0530-4dac-9c4c-eae7919219a2"} -2025-08-23T00:06:19.157Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"e7625ab3-c65c-46b8-b4cc-5da9f5205f2a","username":"testuser1_1755907579153","email":"test1_1755907579153@example.com"} -2025-08-23T00:06:19.162Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"6c5ac122-9a68-4849-9daa-7f61954ce307","username":"testuser2_1755907579158","email":"test2_1755907579158@example.com"} -2025-08-23T00:06:19.166Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"8bc6bec8-0226-4c4b-a7a9-06adbc367ebf","username":"premiumuser_1755907579162","email":"premium_1755907579162@example.com"} -2025-08-23T00:06:19.171Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"1fc9fec5-a041-4e5d-9638-fc6ade70f39d","type":"direct","participants":2} -2025-08-23T00:06:19.178Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(1fc9fec5-a041-4e5d-9638-fc6ade70f39d)","executionTime":6,"chatId":"1fc9fec5-a041-4e5d-9638-fc6ade70f39d","messageCount":1,"archiveId":"de1fe1a5-918c-4d3b-905c-523db829852e"} -2025-08-23T00:06:19.181Z | [DATABASE] | Archived chat retrieved | Meta:{"query":"getArchivedChat(1fc9fec5-a041-4e5d-9638-fc6ade70f39d)","executionTime":2,"chatId":"1fc9fec5-a041-4e5d-9638-fc6ade70f39d","found":true} -2025-08-23T00:06:19.188Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"cfdd1efe-f675-41f8-97e6-0342e8dcf638","username":"testuser1_1755907579182","email":"test1_1755907579182@example.com"} -2025-08-23T00:06:19.192Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"63711efa-f6e1-4dae-8c5f-095275604b08","username":"testuser2_1755907579189","email":"test2_1755907579189@example.com"} -2025-08-23T00:06:19.196Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"8403b4d5-a27a-476b-b861-d1a1186a3440","username":"premiumuser_1755907579193","email":"premium_1755907579193@example.com"} -2025-08-23T00:06:19.200Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":3,"chatId":"75154759-aa35-4d53-b07a-e59fcee674d2","type":"direct","participants":2} -2025-08-23T00:06:19.204Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":3,"chatId":"57b6f2f1-2f60-4dad-afc9-ea254e4a3a86","type":"group","participants":2} -2025-08-23T00:06:19.207Z | [DATABASE] | Chats retrieved by user id | Meta:{"query":"findByUserId(cfdd1efe-f675-41f8-97e6-0342e8dcf638)","executionTime":2,"userId":"cfdd1efe-f675-41f8-97e6-0342e8dcf638","count":2} -2025-08-23T00:06:19.212Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"f8fdd09f-5757-427c-a8eb-9df9e73b7631","username":"testuser1_1755907579208","email":"test1_1755907579208@example.com"} -2025-08-23T00:06:19.216Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"5def4553-f6ef-453d-bc2f-a5ac6f72e066","username":"testuser2_1755907579213","email":"test2_1755907579213@example.com"} -2025-08-23T00:06:19.220Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"6b1cf324-03e4-4ea6-82e2-1ba57895a492","username":"premiumuser_1755907579216","email":"premium_1755907579216@example.com"} -2025-08-23T00:06:19.225Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"7d8cdeac-c1e1-4c14-a3a5-ba2da82398af","type":"direct","participants":2} -2025-08-23T00:06:19.229Z | [DATABASE] | Active chats retrieved for user | Meta:{"query":"findActiveChatsForUser(f8fdd09f-5757-427c-a8eb-9df9e73b7631)","executionTime":3,"userId":"f8fdd09f-5757-427c-a8eb-9df9e73b7631","count":1} -2025-08-23T00:06:19.235Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"ebee254f-1122-4186-b22d-97f6fba5edee","username":"testuser1_1755907579231","email":"test1_1755907579231@example.com"} -2025-08-23T00:06:19.239Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"8a2d05b4-c226-4e31-b704-33f3a85bf46b","username":"testuser2_1755907579235","email":"test2_1755907579235@example.com"} -2025-08-23T00:06:19.244Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"ed2d2f3b-a85e-45e9-ad75-2cc0131c9f31","username":"premiumuser_1755907579240","email":"premium_1755907579240@example.com"} -2025-08-23T00:06:19.248Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":3,"chatId":"d56dc54d-4a8b-442c-8fad-e8d30047b6b2","type":"direct","participants":2} -2025-08-23T00:06:19.260Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(60min)","executionTime":11,"inactivityMinutes":60,"count":235,"cutoffDate":"2025-08-22T23:06:19.249Z"} -2025-08-23T00:06:19.275Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-617Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-617Z.log deleted file mode 100644 index 22ca7f4b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-617Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.617Z -# Max entries per file: 10000 - -2025-08-23T00:06:19.100Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:06:20.113Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-632Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-632Z.log deleted file mode 100644 index 96f89b84..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-632Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.632Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.963Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-651Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-651Z.log deleted file mode 100644 index 31a04a42..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-651Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.651Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.802Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:06:19.053Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-702Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-702Z.log deleted file mode 100644 index 65ea7ca7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-702Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.702Z -# Max entries per file: 10000 - -2025-08-23T00:06:18.975Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-838Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-838Z.log deleted file mode 100644 index fe6b42ad..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-838Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.838Z -# Max entries per file: 10000 - -2025-08-23T00:06:20.156Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:06:20.203Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:06:20.221Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:20.228Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:20.237Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:20.242Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:06:20.251Z | [DATABASE] | User lookup completed | Meta:{"executionTime":9,"found":true,"searchBy":"username"} -2025-08-23T00:06:20.252Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:06:20.253Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":11} -2025-08-23T00:06:20.255Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:06:20.257Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:06:20.260Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:06:20.262Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:06:20.263Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:06:20.271Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:06:20.280Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:06:20.286Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:06:20.288Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:06:20.290Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:06:20.293Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":7} -2025-08-23T00:06:21.350Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:06:21.354Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:06:21.567Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:06:21.568Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:06:21.599Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:06:21.974Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-946Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-946Z.log deleted file mode 100644 index ca5d1c73..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-18-946Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:18.946Z -# Max entries per file: 10000 - -2025-08-23T00:06:19.282Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:06:19.323Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:06:19.358Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.365Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.370Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:06:19.372Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.375Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.378Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-23T00:06:19.382Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.385Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.388Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-23T00:06:19.390Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.393Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.396Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:06:19.397Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.399Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.402Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:06:19.403Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.407Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.410Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:06:19.412Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.413Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.416Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:06:19.420Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.421Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.436Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:06:19.467Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-491Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-491Z.log deleted file mode 100644 index b33f3be8..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-491Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:19.491Z -# Max entries per file: 10000 - -2025-08-23T00:06:19.506Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.518Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.522Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.527Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.531Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.535Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.542Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.545Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.609Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-623Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-623Z.log deleted file mode 100644 index 5b4406da..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-623Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:19.623Z -# Max entries per file: 10000 - -2025-08-23T00:06:19.635Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-808Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-808Z.log deleted file mode 100644 index a42c844f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-808Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:19.808Z -# Max entries per file: 10000 - -2025-08-23T00:06:19.819Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-863Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-863Z.log deleted file mode 100644 index 99986564..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-863Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:19.863Z -# Max entries per file: 10000 - -2025-08-23T00:06:19.869Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-23T00:06:19.877Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.879Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-23T00:06:19.880Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-23T00:06:19.880Z | [STARTUP] | Test message -2025-08-23T00:06:19.881Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-23T00:06:19.884Z | [STARTUP] | Test for directory creation -2025-08-23T00:06:19.917Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-898Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-898Z.log deleted file mode 100644 index 10e360a3..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-19-898Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:19.898Z -# Max entries per file: 10000 - -2025-08-23T00:06:19.912Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.913Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.914Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.918Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:06:19.937Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-20-054Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-20-054Z.log deleted file mode 100644 index 5f668bd4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-20-054Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:20.054Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-20-075Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-20-075Z.log deleted file mode 100644 index 97ee8efe..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-20-075Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:20.075Z -# Max entries per file: 10000 - -2025-08-23T00:06:20.110Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-20-078Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-20-078Z.log deleted file mode 100644 index b018f3bd..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-06-20-078Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:06:20.078Z -# Max entries per file: 10000 - -2025-08-23T00:06:20.080Z | [AUTH] | Authentication successful | ReqId:oyclk7u5a | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:06:20.087Z | [AUTH] | Authentication failed - No valid token | ReqId:zso9hdher | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-23T00:06:20.089Z | [AUTH] | Authentication successful | ReqId:k3y7yx0ge | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:06:20.089Z | [AUTH] | Token refreshed | ReqId:4unrrqzsd | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-23T00:06:20.121Z | [AUTH] | Admin authentication successful | ReqId:4xwc5ew4d | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:06:20.123Z | [WARNING] | Admin access denied | ReqId:ig7dsf3xj | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-23T00:06:20.133Z | [WARNING] | Admin access denied | ReqId:q871dm2hl | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-23T00:06:20.138Z | [AUTH] | Admin authentication successful | ReqId:u0r6jzq6r | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:06:20.139Z | [AUTH] | Admin token refreshed | ReqId:twbx90dc9 | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-23T00:06:20.153Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-215Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-215Z.log deleted file mode 100644 index ce6fece4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-215Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.215Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.384Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-257Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-257Z.log deleted file mode 100644 index 691ae011..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-257Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.257Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.298Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"ctype":0,"cardCount":1} -2025-08-23T00:08:15.554Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-324Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-324Z.log deleted file mode 100644 index 14480cac..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-324Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.324Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.363Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:08:15.450Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:08:15.458Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:08:15.466Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:08:15.471Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:08:15.625Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-326Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-326Z.log deleted file mode 100644 index b8ab3649..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-326Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.326Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.647Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-359Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-359Z.log deleted file mode 100644 index 9cd9a495..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-359Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.359Z -# Max entries per file: 10000 - -2025-08-23T00:08:16.849Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:08:16.903Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:08:16.928Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.935Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.953Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.965Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:08:16.972Z | [DATABASE] | User lookup completed | Meta:{"executionTime":8,"found":true,"searchBy":"username"} -2025-08-23T00:08:16.977Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:08:16.978Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":14} -2025-08-23T00:08:16.984Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:08:16.996Z | [DATABASE] | User lookup completed | Meta:{"executionTime":12,"found":false,"searchBy":"username"} -2025-08-23T00:08:17.015Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:08:17.028Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:08:17.032Z | [DATABASE] | User lookup completed | Meta:{"executionTime":4,"found":true,"searchBy":"username"} -2025-08-23T00:08:17.040Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:08:17.073Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:08:17.101Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:08:17.104Z | [DATABASE] | User lookup completed | Meta:{"executionTime":4,"found":true,"searchBy":"username"} -2025-08-23T00:08:17.113Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:08:17.117Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":17} -2025-08-23T00:08:18.255Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:08:18.258Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:08:18.261Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:08:18.263Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:08:18.265Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:08:18.305Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-392Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-392Z.log deleted file mode 100644 index 271e72b5..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-392Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.392Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.649Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-405Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-405Z.log deleted file mode 100644 index 8fbe601b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-405Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.405Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.482Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:08:15.744Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-439Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-439Z.log deleted file mode 100644 index c22020b4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-439Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.439Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.658Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-440Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-440Z.log deleted file mode 100644 index 56aaf1eb..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-440Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.440Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-446Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-446Z.log deleted file mode 100644 index 192800e7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-446Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.446Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.570Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:08:15.634Z | [DATABASE] | User lookup completed | Meta:{"executionTime":63,"found":true,"searchBy":"username"} -2025-08-23T00:08:15.640Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:08:15.655Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"org-123","requiresOrgReauth":false,"totalLoginTime":83} -2025-08-23T00:08:15.684Z | [AUTH] | Login attempt | Meta:{"username":"adminuser"} -2025-08-23T00:08:15.688Z | [DATABASE] | User lookup completed | Meta:{"executionTime":4,"found":true,"searchBy":"username"} -2025-08-23T00:08:15.691Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:08:15.693Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":9} -2025-08-23T00:08:15.698Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:08:15.700Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:08:15.702Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:08:15.706Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:08:15.708Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:08:15.713Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:08:15.714Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:08:15.722Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:08:15.724Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:08:15.740Z | [ERROR] | Password verification error | Meta:{"name":"Error","message":"password verification failed","stack":"Error: password verification failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:176:60)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:15.753Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:08:15.758Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"database connection error","stack":"Error: database connection error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:195:59)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:15.767Z | [DATABASE] | Database connection error during login | Meta:{"executionTime":14} -2025-08-23T00:08:15.775Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:08:15.776Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:08:15.779Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:08:15.782Z | [ERROR] | Token creation failed during login | Meta:{"name":"Error","message":"JWT creation failed","stack":"Error: JWT creation failed\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:217:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at JWTService.mockConstructor [as create] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:78:39)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:08:15.791Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"Login failed due to internal error","stack":"Error: Login failed due to internal error\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:133:15)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:08:15.846Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-462Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-462Z.log deleted file mode 100644 index 0cabadd6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-462Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.462Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.651Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-525Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-525Z.log deleted file mode 100644 index ad5150c0..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-525Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.525Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.669Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-537Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-537Z.log deleted file mode 100644 index e09de280..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-537Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.537Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.678Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-560Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-560Z.log deleted file mode 100644 index 9ecb94bd..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-560Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.560Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.961Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:08:17.022Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-636Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-636Z.log deleted file mode 100644 index 12d11a34..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-636Z.log +++ /dev/null @@ -1,57 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.636Z -# Max entries per file: 10000 - -2025-08-23T00:08:15.825Z | [DATABASE] | User created successfully | Meta:{"executionTime":44,"userId":"7a7108a6-1d38-414c-bbf7-aa6e1d60da8e","username":"testuser1_1755907695781","email":"test1_1755907695781@example.com"} -2025-08-23T00:08:15.884Z | [DATABASE] | User created successfully | Meta:{"executionTime":13,"userId":"771cda8a-0ef7-419d-92af-bdd3b2d078e4","username":"testuser2_1755907695871","email":"test2_1755907695871@example.com"} -2025-08-23T00:08:15.893Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"abc30a27-2003-4bfd-a77f-de70255b4f23","username":"premiumuser_1755907695886","email":"premium_1755907695886@example.com"} -2025-08-23T00:08:15.903Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":8,"chatId":"d09b17a9-119a-43a2-a394-5a5f58dab9e9","type":"direct","participants":2} -2025-08-23T00:08:15.914Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"91a0603c-041d-40ae-8e8d-57997963da55","username":"testuser1_1755907695908","email":"test1_1755907695908@example.com"} -2025-08-23T00:08:15.922Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"3f7aec83-6c46-42de-a3d5-7f842c8e3e2e","username":"testuser2_1755907695915","email":"test2_1755907695915@example.com"} -2025-08-23T00:08:15.928Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"7abc159a-d5ae-427a-9cde-a3de4bca2196","username":"premiumuser_1755907695923","email":"premium_1755907695923@example.com"} -2025-08-23T00:08:15.936Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"71a28b6b-9575-495d-a524-7b926f700609","type":"group","participants":3} -2025-08-23T00:08:15.944Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"6d656e9f-6966-45cf-830a-5be23f182d8b","username":"testuser1_1755907695937","email":"test1_1755907695937@example.com"} -2025-08-23T00:08:15.950Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"7e215320-f434-4a51-93c8-b3f8eb328bd3","username":"testuser2_1755907695945","email":"test2_1755907695945@example.com"} -2025-08-23T00:08:15.956Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"b34ad230-22e6-462d-af0c-e4c7225ebc82","username":"premiumuser_1755907695951","email":"premium_1755907695951@example.com"} -2025-08-23T00:08:15.962Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"de78b79c-18d5-4966-966f-5feed8cdec49","type":"game","participants":2} -2025-08-23T00:08:15.969Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"182c8d62-82d5-44df-856f-e9bd094eefb4","username":"testuser1_1755907695964","email":"test1_1755907695964@example.com"} -2025-08-23T00:08:15.974Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"845e8154-a47c-4ec4-8f48-5a447da8bd90","username":"testuser2_1755907695970","email":"test2_1755907695970@example.com"} -2025-08-23T00:08:15.980Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"21311848-f1ea-493d-a92b-6d86165d3556","username":"premiumuser_1755907695975","email":"premium_1755907695975@example.com"} -2025-08-23T00:08:15.986Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"4ac5b96f-8a71-4d93-810e-5b868606c38e","type":"game","participants":2} -2025-08-23T00:08:15.995Z | [DATABASE] | Chat retrieved by game id | Meta:{"query":"findByGameId(a954b9ac-51ae-41a6-b2a1-592e4db35ced)","executionTime":8,"gameId":"a954b9ac-51ae-41a6-b2a1-592e4db35ced","found":true} -2025-08-23T00:08:16.001Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"2543fc73-5777-4ee1-98c0-616ca2260dbe","username":"testuser1_1755907695997","email":"test1_1755907695997@example.com"} -2025-08-23T00:08:16.006Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"4926b95d-2f2c-4a60-9b63-e2d844080cc7","username":"testuser2_1755907696002","email":"test2_1755907696002@example.com"} -2025-08-23T00:08:16.010Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"8ab8ebe6-163a-4367-892b-83adb88a604f","username":"premiumuser_1755907696007","email":"premium_1755907696007@example.com"} -2025-08-23T00:08:16.015Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"d999f096-f847-4af1-8f72-1f69c6993c2a","type":"direct","participants":2} -2025-08-23T00:08:16.025Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"d999f096-f847-4af1-8f72-1f69c6993c2a"} -2025-08-23T00:08:16.026Z | [DATABASE] | Chat updated successfully | Meta:{"query":"update(d999f096-f847-4af1-8f72-1f69c6993c2a)","executionTime":9,"chatId":"d999f096-f847-4af1-8f72-1f69c6993c2a","updatedFields":["messages","lastActivity"],"success":true} -2025-08-23T00:08:16.030Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":3,"found":true,"chatId":"d999f096-f847-4af1-8f72-1f69c6993c2a"} -2025-08-23T00:08:16.035Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"7638fd94-f005-4656-9388-f9227e92069d","username":"testuser1_1755907696031","email":"test1_1755907696031@example.com"} -2025-08-23T00:08:16.041Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"05458243-9132-45e2-8e6a-7b9c69a83429","username":"testuser2_1755907696036","email":"test2_1755907696036@example.com"} -2025-08-23T00:08:16.046Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"145d84ea-cac9-4805-a0dd-651513d10313","username":"premiumuser_1755907696042","email":"premium_1755907696042@example.com"} -2025-08-23T00:08:16.051Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"7df054b8-9a80-4f23-b600-a151f2b68db6","type":"direct","participants":2} -2025-08-23T00:08:16.083Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(7df054b8-9a80-4f23-b600-a151f2b68db6)","executionTime":31,"chatId":"7df054b8-9a80-4f23-b600-a151f2b68db6","messageCount":1,"archiveId":"9a51c063-0efe-4741-912f-23c3bf796d28"} -2025-08-23T00:08:16.086Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"7df054b8-9a80-4f23-b600-a151f2b68db6"} -2025-08-23T00:08:16.092Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"4a2327ff-f9f1-4da3-be02-29ecdf2fd96e","username":"testuser1_1755907696087","email":"test1_1755907696087@example.com"} -2025-08-23T00:08:16.097Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"1926d71e-b5c0-4414-84aa-2a9408f2d649","username":"testuser2_1755907696093","email":"test2_1755907696093@example.com"} -2025-08-23T00:08:16.101Z | [DATABASE] | User created successfully | Meta:{"executionTime":3,"userId":"671a1c1b-25bb-43f9-aa64-5d6f1c5f92b5","username":"premiumuser_1755907696098","email":"premium_1755907696098@example.com"} -2025-08-23T00:08:16.107Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"549fee0c-c82a-4451-9823-944ae569bb5a","type":"direct","participants":2} -2025-08-23T00:08:16.114Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(549fee0c-c82a-4451-9823-944ae569bb5a)","executionTime":6,"chatId":"549fee0c-c82a-4451-9823-944ae569bb5a","messageCount":1,"archiveId":"5fc8e053-7639-4133-8965-2ef1f5ebc612"} -2025-08-23T00:08:16.119Z | [DATABASE] | Archived chat retrieved | Meta:{"query":"getArchivedChat(549fee0c-c82a-4451-9823-944ae569bb5a)","executionTime":3,"chatId":"549fee0c-c82a-4451-9823-944ae569bb5a","found":true} -2025-08-23T00:08:16.125Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"9e68bf2e-88ba-4cfe-8465-bea53223da4a","username":"testuser1_1755907696121","email":"test1_1755907696121@example.com"} -2025-08-23T00:08:16.130Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"f9a9388a-7c97-4c81-96fa-25bc1910c2aa","username":"testuser2_1755907696126","email":"test2_1755907696126@example.com"} -2025-08-23T00:08:16.135Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"8aa4e6b8-70d4-40b0-858d-c8b6d34c9e06","username":"premiumuser_1755907696131","email":"premium_1755907696131@example.com"} -2025-08-23T00:08:16.140Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"9b7e6706-b838-4f48-b7e8-b83a67612b3c","type":"direct","participants":2} -2025-08-23T00:08:16.145Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"f30254c8-6239-4109-8ebf-798423f012bc","type":"group","participants":2} -2025-08-23T00:08:16.149Z | [DATABASE] | Chats retrieved by user id | Meta:{"query":"findByUserId(9e68bf2e-88ba-4cfe-8465-bea53223da4a)","executionTime":3,"userId":"9e68bf2e-88ba-4cfe-8465-bea53223da4a","count":2} -2025-08-23T00:08:16.155Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"cac148cf-7eda-4369-8eaa-66467d0ca7d4","username":"testuser1_1755907696151","email":"test1_1755907696151@example.com"} -2025-08-23T00:08:16.160Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"47b0a3c6-ea64-4bb8-a5d9-f5d6f0243a2f","username":"testuser2_1755907696156","email":"test2_1755907696156@example.com"} -2025-08-23T00:08:16.165Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"01b5dde2-f3c0-4ae6-87d8-26a83ffc3272","username":"premiumuser_1755907696161","email":"premium_1755907696161@example.com"} -2025-08-23T00:08:16.171Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"91676af3-255f-45d3-a57e-6c88cb3e5954","type":"direct","participants":2} -2025-08-23T00:08:16.176Z | [DATABASE] | Active chats retrieved for user | Meta:{"query":"findActiveChatsForUser(cac148cf-7eda-4369-8eaa-66467d0ca7d4)","executionTime":4,"userId":"cac148cf-7eda-4369-8eaa-66467d0ca7d4","count":1} -2025-08-23T00:08:16.182Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"349cbf2e-ea47-4cfe-8eb9-02ff20cc2801","username":"testuser1_1755907696178","email":"test1_1755907696178@example.com"} -2025-08-23T00:08:16.187Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"2f46b84c-102d-4f29-a029-a7c597287c30","username":"testuser2_1755907696183","email":"test2_1755907696183@example.com"} -2025-08-23T00:08:16.192Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"60c64d3a-4912-4a11-94b5-43cd7a3fdcba","username":"premiumuser_1755907696188","email":"premium_1755907696188@example.com"} -2025-08-23T00:08:16.197Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"0d684192-8f30-453e-84c0-d8546cc32288","type":"direct","participants":2} -2025-08-23T00:08:16.211Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(60min)","executionTime":13,"inactivityMinutes":60,"count":236,"cutoffDate":"2025-08-22T23:08:16.198Z"} -2025-08-23T00:08:16.227Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-767Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-767Z.log deleted file mode 100644 index b5f935f7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-15-767Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:15.767Z -# Max entries per file: 10000 - -2025-08-23T00:08:16.171Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:08:16.216Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:08:16.248Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.254Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.258Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:08:16.260Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.263Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.266Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-23T00:08:16.269Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.271Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.278Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-23T00:08:16.279Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.282Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.286Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:08:16.288Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.290Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.292Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:08:16.294Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.296Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.301Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:08:16.303Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.305Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.308Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:08:16.309Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.311Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.321Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:08:16.353Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-16-642Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-16-642Z.log deleted file mode 100644 index fc7318d4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-16-642Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:16.642Z -# Max entries per file: 10000 - -2025-08-23T00:08:16.666Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.687Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.692Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.704Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.716Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.726Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.737Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.750Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:16.924Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-278Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-278Z.log deleted file mode 100644 index 70a16396..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-278Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:17.278Z -# Max entries per file: 10000 - -2025-08-23T00:08:17.281Z | [AUTH] | Authentication successful | ReqId:ez11vs7l5 | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:08:17.289Z | [AUTH] | Authentication failed - No valid token | ReqId:37q265dk3 | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-23T00:08:17.292Z | [AUTH] | Authentication successful | ReqId:e7etkcaue | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:08:17.294Z | [AUTH] | Token refreshed | ReqId:618m7q6jb | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-23T00:08:17.299Z | [AUTH] | Admin authentication successful | ReqId:g0jolpth1 | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:08:17.302Z | [WARNING] | Admin access denied | ReqId:11u96nakx | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-23T00:08:17.313Z | [WARNING] | Admin access denied | ReqId:zm957sedk | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-23T00:08:17.318Z | [AUTH] | Admin authentication successful | ReqId:9mv5klbqf | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:08:17.321Z | [AUTH] | Admin token refreshed | ReqId:wkuyocx03 | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-23T00:08:17.483Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-333Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-333Z.log deleted file mode 100644 index 53dd06b2..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-333Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:17.333Z -# Max entries per file: 10000 - -2025-08-23T00:08:17.337Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-23T00:08:17.392Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:17.394Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-23T00:08:17.395Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-23T00:08:17.396Z | [STARTUP] | Test message -2025-08-23T00:08:17.399Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-23T00:08:17.404Z | [STARTUP] | Test for directory creation -2025-08-23T00:08:17.667Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-473Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-473Z.log deleted file mode 100644 index 946b5b4e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-473Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:17.473Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-478Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-478Z.log deleted file mode 100644 index b80a884f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-478Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:17.478Z -# Max entries per file: 10000 - -2025-08-23T00:08:17.499Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:17.504Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:17.519Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:17.524Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:08:17.691Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-591Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-591Z.log deleted file mode 100644 index ba7eb11f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-591Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:17.591Z -# Max entries per file: 10000 - -2025-08-23T00:08:17.704Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-615Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-615Z.log deleted file mode 100644 index cf89915b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-615Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:17.615Z -# Max entries per file: 10000 - -2025-08-23T00:08:17.712Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-696Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-696Z.log deleted file mode 100644 index b2a3b87b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-08-17-696Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:08:17.696Z -# Max entries per file: 10000 - -2025-08-23T00:08:17.735Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-149Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-149Z.log deleted file mode 100644 index 774f750d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-149Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:11.149Z -# Max entries per file: 10000 - -2025-08-23T00:09:11.644Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-180Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-180Z.log deleted file mode 100644 index d55da2b4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-180Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:11.180Z -# Max entries per file: 10000 - -2025-08-23T00:09:11.507Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-181Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-181Z.log deleted file mode 100644 index 2839188a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-181Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:11.181Z -# Max entries per file: 10000 - -2025-08-23T00:09:11.578Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-209Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-209Z.log deleted file mode 100644 index 8575c4ad..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-209Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:11.209Z -# Max entries per file: 10000 - -2025-08-23T00:09:11.587Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-282Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-282Z.log deleted file mode 100644 index a22fd8ae..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-282Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:11.282Z -# Max entries per file: 10000 - -2025-08-23T00:09:11.514Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:09:11.911Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-354Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-354Z.log deleted file mode 100644 index f3a81085..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-354Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:11.354Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.051Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:09:12.113Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:09:12.155Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.179Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.186Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:09:12.200Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.213Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.221Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-23T00:09:12.224Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.229Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.240Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-23T00:09:12.262Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.266Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.270Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:09:12.281Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.285Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.289Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:09:12.291Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.294Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.300Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:09:12.302Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.306Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.312Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:09:12.314Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.317Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.331Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:09:12.374Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-370Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-370Z.log deleted file mode 100644 index e406df34..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-370Z.log +++ /dev/null @@ -1,57 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:11.370Z -# Max entries per file: 10000 - -2025-08-23T00:09:11.703Z | [DATABASE] | User created successfully | Meta:{"executionTime":88,"userId":"fd9baf7b-25e7-4854-9344-2d783f62927d","username":"testuser1_1755907751614","email":"test1_1755907751614@example.com"} -2025-08-23T00:09:11.796Z | [DATABASE] | User created successfully | Meta:{"executionTime":46,"userId":"d33ab321-fa6a-4b62-b091-3bcc4e894613","username":"testuser2_1755907751750","email":"test2_1755907751750@example.com"} -2025-08-23T00:09:11.821Z | [DATABASE] | User created successfully | Meta:{"executionTime":23,"userId":"70a6ae58-bf3b-4e69-8276-09c60759f315","username":"premiumuser_1755907751798","email":"premium_1755907751798@example.com"} -2025-08-23T00:09:11.842Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":10,"chatId":"0388a8ee-b078-4dc7-95fb-2638e234de16","type":"direct","participants":2} -2025-08-23T00:09:11.864Z | [DATABASE] | User created successfully | Meta:{"executionTime":13,"userId":"1d192f6f-ad47-4cf9-9cc9-6c40f87719e9","username":"testuser1_1755907751851","email":"test1_1755907751851@example.com"} -2025-08-23T00:09:11.889Z | [DATABASE] | User created successfully | Meta:{"executionTime":23,"userId":"578a3513-da74-4b9a-9e6a-ab63807daca5","username":"testuser2_1755907751866","email":"test2_1755907751866@example.com"} -2025-08-23T00:09:11.910Z | [DATABASE] | User created successfully | Meta:{"executionTime":19,"userId":"285a8f78-98f9-4d8e-a0c0-fa016717df9f","username":"premiumuser_1755907751891","email":"premium_1755907751891@example.com"} -2025-08-23T00:09:11.918Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"9c630049-6a52-4bb2-8027-6ede293a23a3","type":"group","participants":3} -2025-08-23T00:09:11.929Z | [DATABASE] | User created successfully | Meta:{"executionTime":9,"userId":"65220a04-bfda-4ace-8625-337de860fd30","username":"testuser1_1755907751920","email":"test1_1755907751920@example.com"} -2025-08-23T00:09:11.936Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"ac9eaa56-8658-4ed5-9016-cecd5efbebd6","username":"testuser2_1755907751930","email":"test2_1755907751930@example.com"} -2025-08-23T00:09:11.943Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"601965dd-0753-4eb1-bf31-082e891ec5b2","username":"premiumuser_1755907751937","email":"premium_1755907751937@example.com"} -2025-08-23T00:09:11.950Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"f16e1a88-0334-4256-9391-87a34a5a4462","type":"game","participants":2} -2025-08-23T00:09:11.958Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"7b864d3d-c8c4-4d27-b95c-bf88f3da58ad","username":"testuser1_1755907751952","email":"test1_1755907751952@example.com"} -2025-08-23T00:09:11.970Z | [DATABASE] | User created successfully | Meta:{"executionTime":11,"userId":"e4191026-b51b-48c4-a9cd-58014813e191","username":"testuser2_1755907751959","email":"test2_1755907751959@example.com"} -2025-08-23T00:09:11.976Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"505e0a01-7db5-4879-9506-1ca5dc47d035","username":"premiumuser_1755907751971","email":"premium_1755907751971@example.com"} -2025-08-23T00:09:11.983Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"30ea24d1-de10-43cf-9b9a-596c1621af73","type":"game","participants":2} -2025-08-23T00:09:11.992Z | [DATABASE] | Chat retrieved by game id | Meta:{"query":"findByGameId(24a7c82c-7333-4796-8fc4-0dce2cd1997b)","executionTime":8,"gameId":"24a7c82c-7333-4796-8fc4-0dce2cd1997b","found":true} -2025-08-23T00:09:12.006Z | [DATABASE] | User created successfully | Meta:{"executionTime":12,"userId":"eeb4a1da-b10e-4f05-9180-9c785f58041e","username":"testuser1_1755907751994","email":"test1_1755907751994@example.com"} -2025-08-23T00:09:12.013Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"06d5fb35-3cf9-4d4e-b16d-6183b3451cb5","username":"testuser2_1755907752007","email":"test2_1755907752007@example.com"} -2025-08-23T00:09:12.019Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"acb3f8ad-f2ec-4059-920c-d0d88a699ef3","username":"premiumuser_1755907752014","email":"premium_1755907752014@example.com"} -2025-08-23T00:09:12.026Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"7e980cc6-f196-4be3-a169-2257cd736cd9","type":"direct","participants":2} -2025-08-23T00:09:12.045Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"7e980cc6-f196-4be3-a169-2257cd736cd9"} -2025-08-23T00:09:12.047Z | [DATABASE] | Chat updated successfully | Meta:{"query":"update(7e980cc6-f196-4be3-a169-2257cd736cd9)","executionTime":11,"chatId":"7e980cc6-f196-4be3-a169-2257cd736cd9","updatedFields":["messages","lastActivity"],"success":true} -2025-08-23T00:09:12.051Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":3,"found":true,"chatId":"7e980cc6-f196-4be3-a169-2257cd736cd9"} -2025-08-23T00:09:12.057Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"8d0b0d90-a1f8-4cc1-9919-bd0db080e3ec","username":"testuser1_1755907752052","email":"test1_1755907752052@example.com"} -2025-08-23T00:09:12.063Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"717bf0c7-1396-466b-a8ea-979388170fc9","username":"testuser2_1755907752058","email":"test2_1755907752058@example.com"} -2025-08-23T00:09:12.069Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"7a934af4-babb-4c89-bb9e-43d6cc9aceef","username":"premiumuser_1755907752065","email":"premium_1755907752065@example.com"} -2025-08-23T00:09:12.089Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":18,"chatId":"b1a78b02-6d28-4804-804d-04e3ef2c1433","type":"direct","participants":2} -2025-08-23T00:09:12.099Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(b1a78b02-6d28-4804-804d-04e3ef2c1433)","executionTime":9,"chatId":"b1a78b02-6d28-4804-804d-04e3ef2c1433","messageCount":1,"archiveId":"6e2fed98-da08-45a3-bede-1bf59ad9b078"} -2025-08-23T00:09:12.103Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":3,"found":true,"chatId":"b1a78b02-6d28-4804-804d-04e3ef2c1433"} -2025-08-23T00:09:12.110Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"4730352a-7e03-468b-a319-43057797fdb2","username":"testuser1_1755907752104","email":"test1_1755907752104@example.com"} -2025-08-23T00:09:12.116Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"2423ec4a-c73c-4215-b97e-f009b8067688","username":"testuser2_1755907752111","email":"test2_1755907752111@example.com"} -2025-08-23T00:09:12.123Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"23f018ec-8e3b-4ba9-90cd-0315d8cee7ac","username":"premiumuser_1755907752117","email":"premium_1755907752117@example.com"} -2025-08-23T00:09:12.130Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"c1a51f01-c0fa-48d9-8890-196e139cdb28","type":"direct","participants":2} -2025-08-23T00:09:12.141Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(c1a51f01-c0fa-48d9-8890-196e139cdb28)","executionTime":10,"chatId":"c1a51f01-c0fa-48d9-8890-196e139cdb28","messageCount":1,"archiveId":"612fe81e-20d1-4c52-8fc3-8cf3c84c0b0a"} -2025-08-23T00:09:12.145Z | [DATABASE] | Archived chat retrieved | Meta:{"query":"getArchivedChat(c1a51f01-c0fa-48d9-8890-196e139cdb28)","executionTime":3,"chatId":"c1a51f01-c0fa-48d9-8890-196e139cdb28","found":true} -2025-08-23T00:09:12.154Z | [DATABASE] | User created successfully | Meta:{"executionTime":8,"userId":"e1034456-1b0d-45e8-8330-e8a4496fec28","username":"testuser1_1755907752146","email":"test1_1755907752146@example.com"} -2025-08-23T00:09:12.163Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"80b0114a-f2f1-468d-a0a7-2b2f1ead1025","username":"testuser2_1755907752156","email":"test2_1755907752156@example.com"} -2025-08-23T00:09:12.172Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"e06ef2b9-dbbf-4e83-9199-2feed9ecd166","username":"premiumuser_1755907752165","email":"premium_1755907752165@example.com"} -2025-08-23T00:09:12.179Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"9702cd8a-edaf-47aa-957c-7d480aa73247","type":"direct","participants":2} -2025-08-23T00:09:12.190Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":10,"chatId":"5fb8eabe-d4d2-4264-9ad6-e60a5d038e32","type":"group","participants":2} -2025-08-23T00:09:12.194Z | [DATABASE] | Chats retrieved by user id | Meta:{"query":"findByUserId(e1034456-1b0d-45e8-8330-e8a4496fec28)","executionTime":3,"userId":"e1034456-1b0d-45e8-8330-e8a4496fec28","count":2} -2025-08-23T00:09:12.203Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"e3a2683f-00b2-43d3-bbdb-b0f210834e42","username":"testuser1_1755907752196","email":"test1_1755907752196@example.com"} -2025-08-23T00:09:12.209Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"68e4ca8c-de25-4161-accf-8e6368749958","username":"testuser2_1755907752204","email":"test2_1755907752204@example.com"} -2025-08-23T00:09:12.219Z | [DATABASE] | User created successfully | Meta:{"executionTime":9,"userId":"db339082-a965-4183-aa35-f8ab6d5b7b5f","username":"premiumuser_1755907752210","email":"premium_1755907752210@example.com"} -2025-08-23T00:09:12.231Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":10,"chatId":"35e37a74-4275-44ca-aedd-a461a58386c9","type":"direct","participants":2} -2025-08-23T00:09:12.236Z | [DATABASE] | Active chats retrieved for user | Meta:{"query":"findActiveChatsForUser(e3a2683f-00b2-43d3-bbdb-b0f210834e42)","executionTime":4,"userId":"e3a2683f-00b2-43d3-bbdb-b0f210834e42","count":1} -2025-08-23T00:09:12.246Z | [DATABASE] | User created successfully | Meta:{"executionTime":8,"userId":"4bb03bca-d1b8-4cc4-a6c4-5e3955948c56","username":"testuser1_1755907752238","email":"test1_1755907752238@example.com"} -2025-08-23T00:09:12.254Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"c9522626-3ec0-44f1-8f8c-0b4180643f9d","username":"testuser2_1755907752247","email":"test2_1755907752247@example.com"} -2025-08-23T00:09:12.263Z | [DATABASE] | User created successfully | Meta:{"executionTime":8,"userId":"06990fa1-0b44-4414-bdd8-1a92889029d1","username":"premiumuser_1755907752255","email":"premium_1755907752255@example.com"} -2025-08-23T00:09:12.273Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":8,"chatId":"3cbd542f-13d7-4da1-8be0-b16de6d371ba","type":"direct","participants":2} -2025-08-23T00:09:12.289Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(60min)","executionTime":15,"inactivityMinutes":60,"count":237,"cutoffDate":"2025-08-22T23:09:12.274Z"} -2025-08-23T00:09:12.309Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-375Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-375Z.log deleted file mode 100644 index 5bbb06ff..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-11-375Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:11.375Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.009Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:09:13.031Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-477Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-477Z.log deleted file mode 100644 index 724d93d0..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-477Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.477Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.506Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"ctype":0,"cardCount":1} -2025-08-23T00:09:12.595Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-639Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-639Z.log deleted file mode 100644 index c9877ce7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-639Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.639Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.741Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-641Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-641Z.log deleted file mode 100644 index becd9902..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-641Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.641Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.752Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-675Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-675Z.log deleted file mode 100644 index 94865ee6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-675Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.675Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.706Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:09:12.767Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:09:12.772Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:09:12.791Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:09:12.793Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:09:12.832Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-697Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-697Z.log deleted file mode 100644 index 478cddbf..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-697Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.697Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.793Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-707Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-707Z.log deleted file mode 100644 index 5baa23bb..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-707Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.707Z -# Max entries per file: 10000 - -2025-08-23T00:09:14.897Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:09:14.963Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:09:15.005Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:15.024Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:15.032Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:15.037Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:09:15.047Z | [DATABASE] | User lookup completed | Meta:{"executionTime":10,"found":true,"searchBy":"username"} -2025-08-23T00:09:15.055Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":1} -2025-08-23T00:09:15.068Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":31} -2025-08-23T00:09:15.072Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:09:15.084Z | [DATABASE] | User lookup completed | Meta:{"executionTime":12,"found":false,"searchBy":"username"} -2025-08-23T00:09:15.085Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:09:15.095Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:09:15.109Z | [DATABASE] | User lookup completed | Meta:{"executionTime":14,"found":true,"searchBy":"username"} -2025-08-23T00:09:15.115Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:09:15.126Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:09:15.133Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:09:15.168Z | [DATABASE] | User lookup completed | Meta:{"executionTime":35,"found":true,"searchBy":"username"} -2025-08-23T00:09:15.169Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:09:15.174Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":41} -2025-08-23T00:09:16.616Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:09:16.748Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:09:16.751Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:09:16.752Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:09:16.753Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:09:16.783Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-748Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-748Z.log deleted file mode 100644 index 76d375d7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-748Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.748Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-750Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-750Z.log deleted file mode 100644 index 982200fa..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-750Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.750Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.817Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:09:12.863Z | [DATABASE] | User lookup completed | Meta:{"executionTime":46,"found":true,"searchBy":"username"} -2025-08-23T00:09:12.865Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:09:12.867Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"org-123","requiresOrgReauth":false,"totalLoginTime":50} -2025-08-23T00:09:12.872Z | [AUTH] | Login attempt | Meta:{"username":"adminuser"} -2025-08-23T00:09:12.874Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:09:12.876Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:09:12.877Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":5} -2025-08-23T00:09:12.879Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:09:12.881Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:09:12.882Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:09:12.885Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:09:12.886Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:09:12.887Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:09:12.888Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:09:12.898Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:09:12.900Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:09:12.909Z | [ERROR] | Password verification error | Meta:{"name":"Error","message":"password verification failed","stack":"Error: password verification failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:176:60)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.913Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:09:12.915Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"database connection error","stack":"Error: database connection error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:195:59)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.921Z | [DATABASE] | Database connection error during login | Meta:{"executionTime":8} -2025-08-23T00:09:12.925Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:09:12.927Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:09:12.928Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:09:12.930Z | [ERROR] | Token creation failed during login | Meta:{"name":"Error","message":"JWT creation failed","stack":"Error: JWT creation failed\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:217:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at JWTService.mockConstructor [as create] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:78:39)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:09:12.933Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"Login failed due to internal error","stack":"Error: Login failed due to internal error\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:133:15)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:09:12.970Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-842Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-842Z.log deleted file mode 100644 index f7f7585c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-842Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.842Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.846Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-23T00:09:12.855Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:12.857Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-23T00:09:12.858Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-23T00:09:12.863Z | [STARTUP] | Test message -2025-08-23T00:09:12.864Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-23T00:09:12.869Z | [STARTUP] | Test for directory creation -2025-08-23T00:09:12.904Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-886Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-886Z.log deleted file mode 100644 index 0d126090..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-886Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.886Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.904Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-929Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-929Z.log deleted file mode 100644 index fa87d073..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-929Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.929Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.945Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-931Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-931Z.log deleted file mode 100644 index ed7e0c83..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-931Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.931Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-961Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-961Z.log deleted file mode 100644 index 480d299a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-12-961Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:12.961Z -# Max entries per file: 10000 - -2025-08-23T00:09:12.977Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-13-094Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-13-094Z.log deleted file mode 100644 index c4ec2fc8..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-13-094Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:13.094Z -# Max entries per file: 10000 - -2025-08-23T00:09:13.104Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.106Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.106Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.109Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.127Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-13-505Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-13-505Z.log deleted file mode 100644 index ad2fe6d6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-13-505Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:13.505Z -# Max entries per file: 10000 - -2025-08-23T00:09:13.524Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.536Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.542Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.549Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.553Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.560Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.565Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.567Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:09:13.640Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-13-583Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-13-583Z.log deleted file mode 100644 index 46b13ce7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-09-13-583Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:09:13.583Z -# Max entries per file: 10000 - -2025-08-23T00:09:13.585Z | [AUTH] | Authentication successful | ReqId:k0s3lnv88 | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:09:13.589Z | [AUTH] | Authentication failed - No valid token | ReqId:4fmgykvux | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-23T00:09:13.591Z | [AUTH] | Authentication successful | ReqId:7snjrqaa3 | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:09:13.591Z | [AUTH] | Token refreshed | ReqId:zqsv4eujc | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-23T00:09:13.593Z | [AUTH] | Admin authentication successful | ReqId:mldpfa4qg | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:09:13.594Z | [WARNING] | Admin access denied | ReqId:nlgthgokt | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-23T00:09:13.597Z | [WARNING] | Admin access denied | ReqId:n9oo70tch | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-23T00:09:13.602Z | [AUTH] | Admin authentication successful | ReqId:0phzvoffx | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:09:13.603Z | [AUTH] | Admin token refreshed | ReqId:22gakdkpc | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-23T00:09:13.618Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-11-30-055Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-11-30-055Z.log deleted file mode 100644 index 7c9cd535..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-11-30-055Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:11:30.055Z -# Max entries per file: 10000 - -2025-08-23T00:11:30.352Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"ctype":0,"cardCount":1} -2025-08-23T00:11:30.413Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-14-08-890Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-14-08-890Z.log deleted file mode 100644 index d980b184..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-14-08-890Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:14:08.890Z -# Max entries per file: 10000 - -2025-08-23T00:14:08.910Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:14:08.938Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:14:08.938Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:14:08.943Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:14:08.946Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:14:08.962Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:14:08.966Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:14:08.989Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-15-23-535Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-15-23-535Z.log deleted file mode 100644 index 6ed9ea43..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-15-23-535Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:15:23.535Z -# Max entries per file: 10000 - -2025-08-23T00:15:23.554Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:15:23.580Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:15:23.580Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:15:23.584Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:15:23.586Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:15:23.600Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:15:23.602Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:15:23.624Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-15-54-057Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-15-54-057Z.log deleted file mode 100644 index 9227f6b3..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-15-54-057Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:15:54.057Z -# Max entries per file: 10000 - -2025-08-23T00:15:54.076Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:15:54.103Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:15:54.103Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:15:54.106Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:15:54.109Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:15:54.122Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:15:54.124Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:15:54.154Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-374Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-374Z.log deleted file mode 100644 index 4d42081f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-374Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:13.374Z -# Max entries per file: 10000 - -2025-08-23T00:16:13.418Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"ctype":0,"cardCount":1} -2025-08-23T00:16:13.626Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-537Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-537Z.log deleted file mode 100644 index 5a24787e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-537Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:13.537Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.233Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:16:15.248Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-818Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-818Z.log deleted file mode 100644 index dda6c9c6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-818Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:13.818Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.002Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-838Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-838Z.log deleted file mode 100644 index e2fe7392..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-838Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:13.838Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.010Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-849Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-849Z.log deleted file mode 100644 index a703594a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-849Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:13.849Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.023Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-927Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-927Z.log deleted file mode 100644 index 9b73a862..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-927Z.log +++ /dev/null @@ -1,57 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:13.927Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.166Z | [DATABASE] | User created successfully | Meta:{"executionTime":21,"userId":"08ea393a-c227-47aa-9a8c-25b4a8de3dc7","username":"testuser1_1755908174145","email":"test1_1755908174145@example.com"} -2025-08-23T00:16:14.244Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"e7c0b31a-bb35-4cf3-aaf6-cf2c571d6b7d","username":"testuser2_1755908174238","email":"test2_1755908174238@example.com"} -2025-08-23T00:16:14.251Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"c430ad39-a1dc-45b2-84d9-d8c273bf7b62","username":"premiumuser_1755908174246","email":"premium_1755908174246@example.com"} -2025-08-23T00:16:14.262Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":8,"chatId":"44707b2e-8981-40d6-9686-23150b25292f","type":"direct","participants":2} -2025-08-23T00:16:14.276Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"fc3a57b5-ca64-4eb5-b80a-a23586b99f98","username":"testuser1_1755908174269","email":"test1_1755908174269@example.com"} -2025-08-23T00:16:14.285Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"2d39a9ac-3a1d-4815-a087-6635af3692be","username":"testuser2_1755908174278","email":"test2_1755908174278@example.com"} -2025-08-23T00:16:14.292Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"833525e3-d5f7-40ed-bccb-09cd5406c068","username":"premiumuser_1755908174287","email":"premium_1755908174287@example.com"} -2025-08-23T00:16:14.300Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"b269a51c-bdb4-4e8d-99ef-5be6657230b7","type":"group","participants":3} -2025-08-23T00:16:14.309Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"cff8c3d2-cc03-4d63-9c9b-bf3761031c94","username":"testuser1_1755908174303","email":"test1_1755908174303@example.com"} -2025-08-23T00:16:14.315Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"7aaa3d6f-7743-4fc5-8896-ac03e3cc03fd","username":"testuser2_1755908174310","email":"test2_1755908174310@example.com"} -2025-08-23T00:16:14.321Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"f6fe89a1-034f-41ff-beb6-d2b34866a2cf","username":"premiumuser_1755908174316","email":"premium_1755908174316@example.com"} -2025-08-23T00:16:14.329Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"dafe326c-c523-4945-87bb-44ee13f9b8c3","type":"game","participants":2} -2025-08-23T00:16:14.336Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"e9bf799f-17bc-4452-bd7a-139d37ee08d1","username":"testuser1_1755908174331","email":"test1_1755908174331@example.com"} -2025-08-23T00:16:14.343Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"2123fb6d-41c7-4912-b4eb-409bd57e700f","username":"testuser2_1755908174338","email":"test2_1755908174338@example.com"} -2025-08-23T00:16:14.353Z | [DATABASE] | User created successfully | Meta:{"executionTime":8,"userId":"ebb496f3-b3d9-43ac-a9db-c9832ad25133","username":"premiumuser_1755908174345","email":"premium_1755908174345@example.com"} -2025-08-23T00:16:14.359Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"0b22e8f4-904a-461f-b585-33ff1927b955","type":"game","participants":2} -2025-08-23T00:16:14.368Z | [DATABASE] | Chat retrieved by game id | Meta:{"query":"findByGameId(cc81c08e-3b8f-4f26-ab19-00db028d4262)","executionTime":8,"gameId":"cc81c08e-3b8f-4f26-ab19-00db028d4262","found":true} -2025-08-23T00:16:14.375Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"d201d785-2fce-484f-8b02-909c828f1168","username":"testuser1_1755908174370","email":"test1_1755908174370@example.com"} -2025-08-23T00:16:14.381Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"21019bc3-71aa-4c49-9569-541e66092af7","username":"testuser2_1755908174376","email":"test2_1755908174376@example.com"} -2025-08-23T00:16:14.387Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"f7156ae8-5f31-47e9-9b71-bba130e9f023","username":"premiumuser_1755908174383","email":"premium_1755908174383@example.com"} -2025-08-23T00:16:14.393Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"4f2362f6-c8b3-4d26-bdd0-aea20a7bc018","type":"direct","participants":2} -2025-08-23T00:16:14.402Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"4f2362f6-c8b3-4d26-bdd0-aea20a7bc018"} -2025-08-23T00:16:14.403Z | [DATABASE] | Chat updated successfully | Meta:{"query":"update(4f2362f6-c8b3-4d26-bdd0-aea20a7bc018)","executionTime":8,"chatId":"4f2362f6-c8b3-4d26-bdd0-aea20a7bc018","updatedFields":["messages","lastActivity"],"success":true} -2025-08-23T00:16:14.406Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"4f2362f6-c8b3-4d26-bdd0-aea20a7bc018"} -2025-08-23T00:16:14.412Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"3996ce7c-d8bc-4d0e-ab32-1da8f1431875","username":"testuser1_1755908174407","email":"test1_1755908174407@example.com"} -2025-08-23T00:16:14.417Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"904e5038-00c3-4a5c-a0ee-c13d22e69504","username":"testuser2_1755908174413","email":"test2_1755908174413@example.com"} -2025-08-23T00:16:14.424Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"fc8ee6d7-e96e-4f62-8322-b57cc66b6e84","username":"premiumuser_1755908174418","email":"premium_1755908174418@example.com"} -2025-08-23T00:16:14.432Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":6,"chatId":"e209b810-4e5e-4e59-a497-c4c6fa9e43c4","type":"direct","participants":2} -2025-08-23T00:16:14.441Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(e209b810-4e5e-4e59-a497-c4c6fa9e43c4)","executionTime":8,"chatId":"e209b810-4e5e-4e59-a497-c4c6fa9e43c4","messageCount":1,"archiveId":"4704b536-9b4e-42e9-87d2-cacb122869d9"} -2025-08-23T00:16:14.444Z | [DATABASE] | Chat findById query completed | Meta:{"executionTime":2,"found":true,"chatId":"e209b810-4e5e-4e59-a497-c4c6fa9e43c4"} -2025-08-23T00:16:14.452Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"c57f8c6b-0245-43f3-baf9-37dd089e147e","username":"testuser1_1755908174446","email":"test1_1755908174446@example.com"} -2025-08-23T00:16:14.459Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"d8d6b726-1f96-4b7a-a916-51a90cd70753","username":"testuser2_1755908174453","email":"test2_1755908174453@example.com"} -2025-08-23T00:16:14.465Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"60514455-2bd8-48f7-b856-ee95b922ebf9","username":"premiumuser_1755908174460","email":"premium_1755908174460@example.com"} -2025-08-23T00:16:14.470Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"5ae7d45f-e38c-4ee0-ade6-06dde09be65e","type":"direct","participants":2} -2025-08-23T00:16:14.478Z | [DATABASE] | Chat archived successfully | Meta:{"query":"archiveChat(5ae7d45f-e38c-4ee0-ade6-06dde09be65e)","executionTime":6,"chatId":"5ae7d45f-e38c-4ee0-ade6-06dde09be65e","messageCount":1,"archiveId":"272fa3f9-e339-49cb-8914-a0c58ba5ade7"} -2025-08-23T00:16:14.482Z | [DATABASE] | Archived chat retrieved | Meta:{"query":"getArchivedChat(5ae7d45f-e38c-4ee0-ade6-06dde09be65e)","executionTime":2,"chatId":"5ae7d45f-e38c-4ee0-ade6-06dde09be65e","found":true} -2025-08-23T00:16:14.490Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"8bb99cb0-da7e-405c-96ff-85cad2780a7e","username":"testuser1_1755908174484","email":"test1_1755908174484@example.com"} -2025-08-23T00:16:14.496Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"555c6668-e7d9-48f4-b7cb-81833e3f25d0","username":"testuser2_1755908174491","email":"test2_1755908174491@example.com"} -2025-08-23T00:16:14.506Z | [DATABASE] | User created successfully | Meta:{"executionTime":9,"userId":"43f27f24-52a8-489e-8989-137463e152d2","username":"premiumuser_1755908174497","email":"premium_1755908174497@example.com"} -2025-08-23T00:16:14.512Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":4,"chatId":"74517ccd-502e-47be-99d6-2b94f794cfa9","type":"direct","participants":2} -2025-08-23T00:16:14.518Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"a22f4ca0-5656-40f6-a504-73a2f7e2043b","type":"group","participants":2} -2025-08-23T00:16:14.522Z | [DATABASE] | Chats retrieved by user id | Meta:{"query":"findByUserId(8bb99cb0-da7e-405c-96ff-85cad2780a7e)","executionTime":3,"userId":"8bb99cb0-da7e-405c-96ff-85cad2780a7e","count":2} -2025-08-23T00:16:14.529Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"fd304106-dc78-4db9-b56c-9b9d5a54525c","username":"testuser1_1755908174524","email":"test1_1755908174524@example.com"} -2025-08-23T00:16:14.534Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"078e8fd5-a00c-4d34-ae1d-31236f929abe","username":"testuser2_1755908174530","email":"test2_1755908174530@example.com"} -2025-08-23T00:16:14.542Z | [DATABASE] | User created successfully | Meta:{"executionTime":7,"userId":"3888e9c6-3d87-4520-810d-10005063ce30","username":"premiumuser_1755908174535","email":"premium_1755908174535@example.com"} -2025-08-23T00:16:14.548Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"94d10796-2ef9-4d4b-b29c-b20c4de2e696","type":"direct","participants":2} -2025-08-23T00:16:14.552Z | [DATABASE] | Active chats retrieved for user | Meta:{"query":"findActiveChatsForUser(fd304106-dc78-4db9-b56c-9b9d5a54525c)","executionTime":3,"userId":"fd304106-dc78-4db9-b56c-9b9d5a54525c","count":1} -2025-08-23T00:16:14.557Z | [DATABASE] | User created successfully | Meta:{"executionTime":4,"userId":"bcbdf70d-4078-400b-884d-d292d9b1f2a7","username":"testuser1_1755908174553","email":"test1_1755908174553@example.com"} -2025-08-23T00:16:14.563Z | [DATABASE] | User created successfully | Meta:{"executionTime":5,"userId":"b09516e8-e02e-48cb-8ee2-b3dfbfea11ee","username":"testuser2_1755908174558","email":"test2_1755908174558@example.com"} -2025-08-23T00:16:14.570Z | [DATABASE] | User created successfully | Meta:{"executionTime":6,"userId":"5a8e8fec-a1d8-4898-a337-1cf7edf8f945","username":"premiumuser_1755908174564","email":"premium_1755908174564@example.com"} -2025-08-23T00:16:14.576Z | [DATABASE] | Chat created successfully | Meta:{"executionTime":5,"chatId":"fc9d4a03-39d7-417c-9831-034bd14fd56b","type":"direct","participants":2} -2025-08-23T00:16:14.610Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(60min)","executionTime":33,"inactivityMinutes":60,"count":238,"cutoffDate":"2025-08-22T23:16:14.577Z"} -2025-08-23T00:16:14.625Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-938Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-938Z.log deleted file mode 100644 index 5228a168..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-938Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:13.938Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.099Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-946Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-946Z.log deleted file mode 100644 index 39c5cd97..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-13-946Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:13.946Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.022Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:16:14.273Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-179Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-179Z.log deleted file mode 100644 index b9db740e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-179Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:14.179Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.592Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:16:14.648Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:16:14.678Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.686Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.694Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:16:14.696Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.700Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.704Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-23T00:16:14.706Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.708Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.712Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-23T00:16:14.714Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.717Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.723Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:16:14.725Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.728Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.731Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:16:14.732Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.734Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.737Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:16:14.738Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.741Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.744Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:16:14.747Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.750Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:14.762Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:16:14.805Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-478Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-478Z.log deleted file mode 100644 index f01a1b5e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-478Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:14.478Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.945Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:16:15.987Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:16:15.999Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:16.004Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:16.008Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:16.013Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:16:16.017Z | [DATABASE] | User lookup completed | Meta:{"executionTime":4,"found":true,"searchBy":"username"} -2025-08-23T00:16:16.020Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:16:16.024Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":11} -2025-08-23T00:16:16.026Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:16:16.028Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:16:16.029Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:16:16.031Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:16:16.032Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:16:16.034Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:16:16.035Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:16:16.039Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:16:16.041Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:16:16.042Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:16:16.044Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":5} -2025-08-23T00:16:17.310Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:16:17.314Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:16:17.329Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:16:17.335Z | [DATABASE] | User lookup completed | Meta:{"executionTime":6,"found":false,"searchBy":"username"} -2025-08-23T00:16:17.355Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:16:17.507Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-504Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-504Z.log deleted file mode 100644 index 0ebf9f4a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-504Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:14.504Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.614Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-596Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-596Z.log deleted file mode 100644 index 7f5a7d13..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-596Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:14.596Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.679Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-844Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-844Z.log deleted file mode 100644 index 698d55c0..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-844Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:14.844Z -# Max entries per file: 10000 - -2025-08-23T00:16:14.940Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-961Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-961Z.log deleted file mode 100644 index 4c3082fd..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-961Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:14.961Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-964Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-964Z.log deleted file mode 100644 index 18cb2ba7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-14-964Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:14.964Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.019Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:16:15.059Z | [DATABASE] | User lookup completed | Meta:{"executionTime":40,"found":true,"searchBy":"username"} -2025-08-23T00:16:15.061Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:16:15.063Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"org-123","requiresOrgReauth":false,"totalLoginTime":44} -2025-08-23T00:16:15.067Z | [AUTH] | Login attempt | Meta:{"username":"adminuser"} -2025-08-23T00:16:15.069Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:16:15.071Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:16:15.072Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":5} -2025-08-23T00:16:15.075Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:16:15.077Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:16:15.084Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:16:15.086Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:16:15.092Z | [DATABASE] | User lookup completed | Meta:{"executionTime":6,"found":true,"searchBy":"username"} -2025-08-23T00:16:15.096Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:16:15.098Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:16:15.105Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:16:15.106Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:16:15.115Z | [ERROR] | Password verification error | Meta:{"name":"Error","message":"password verification failed","stack":"Error: password verification failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:176:60)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.120Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:16:15.128Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"database connection error","stack":"Error: database connection error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:195:59)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.132Z | [DATABASE] | Database connection error during login | Meta:{"executionTime":12} -2025-08-23T00:16:15.143Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:16:15.146Z | [DATABASE] | User lookup completed | Meta:{"executionTime":3,"found":true,"searchBy":"username"} -2025-08-23T00:16:15.147Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:16:15.165Z | [ERROR] | Token creation failed during login | Meta:{"name":"Error","message":"JWT creation failed","stack":"Error: JWT creation failed\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:217:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at JWTService. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at JWTService.mockConstructor [as create] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:78:39)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:16:15.168Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"Login failed due to internal error","stack":"Error: Login failed due to internal error\n at LoginCommandHandler.execute (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\User\\commands\\LoginCommandHandler.ts:133:15)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\LoginCommandHandler.test.ts:221:7)"} -2025-08-23T00:16:15.207Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-017Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-017Z.log deleted file mode 100644 index fd4a58a3..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-017Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.017Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.023Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:16:15.035Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:16:15.035Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:16:15.040Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:16:15.043Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:16:15.054Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:16:15.060Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:16:15.076Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-099Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-099Z.log deleted file mode 100644 index 4201cf1e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-099Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.099Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.133Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:16:15.182Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:16:15.187Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:16:15.190Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:16:15.191Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:16:15.223Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-334Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-334Z.log deleted file mode 100644 index e7b0c89e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-334Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.334Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.351Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.366Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.378Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.384Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.389Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.395Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.401Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.406Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.470Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-379Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-379Z.log deleted file mode 100644 index 7d3b234c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-379Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.379Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.394Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-407Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-407Z.log deleted file mode 100644 index c56986f2..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-407Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.407Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-434Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-434Z.log deleted file mode 100644 index 63a06534..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-434Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.434Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.447Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-444Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-444Z.log deleted file mode 100644 index d98a721b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-444Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.444Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.457Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-494Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-494Z.log deleted file mode 100644 index 60ae9960..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-494Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.494Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.497Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-23T00:16:15.505Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.506Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-23T00:16:15.507Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-23T00:16:15.507Z | [STARTUP] | Test message -2025-08-23T00:16:15.508Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-23T00:16:15.511Z | [STARTUP] | Test for directory creation -2025-08-23T00:16:15.536Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-803Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-803Z.log deleted file mode 100644 index 2d955199..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-803Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.803Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.805Z | [AUTH] | Authentication successful | ReqId:8nx62vwtf | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:16:15.809Z | [AUTH] | Authentication failed - No valid token | ReqId:y5ioe4n1a | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-23T00:16:15.811Z | [AUTH] | Authentication successful | ReqId:xii078z42 | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:16:15.812Z | [AUTH] | Token refreshed | ReqId:k018eq9eh | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-23T00:16:15.818Z | [AUTH] | Admin authentication successful | ReqId:yi54zph57 | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:16:15.820Z | [WARNING] | Admin access denied | ReqId:7z2ooeseb | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-23T00:16:15.825Z | [WARNING] | Admin access denied | ReqId:4cgbnnw7s | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-23T00:16:15.829Z | [AUTH] | Admin authentication successful | ReqId:ghvljwjk7 | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:16:15.829Z | [AUTH] | Admin token refreshed | ReqId:fjn2nakyu | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-23T00:16:15.842Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-842Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-842Z.log deleted file mode 100644 index b2750c7d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-16-15-842Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:16:15.842Z -# Max entries per file: 10000 - -2025-08-23T00:16:15.851Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.853Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.854Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.856Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:16:15.873Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-20-46-386Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-20-46-386Z.log deleted file mode 100644 index 7219d5d7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-20-46-386Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:20:46.386Z -# Max entries per file: 10000 - -2025-08-23T00:20:46.433Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-24-24-917Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-24-24-917Z.log deleted file mode 100644 index 5d9f951f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-24-24-917Z.log +++ /dev/null @@ -1,36 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:24:24.917Z -# Max entries per file: 10000 - -2025-08-23T00:24:34.359Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T00:24:34.375Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T00:24:34.375Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T00:24:36.059Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T00:24:36.087Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:24:36.089Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T00:24:36.092Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:39:45.668Z | [REQUEST] | Incoming request | ReqId:2qmmr12w9 | IP:::ffff:172.19.0.1 | GET / | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:45.671Z | [REQUEST] | GET / | ReqId:2qmmr12w9 | IP:::ffff:172.19.0.1 | GET / | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:45.676Z | [REQUEST] | Request completed | ReqId:2qmmr12w9 | IP:::ffff:172.19.0.1 | GET / | Status:304 | Time:8ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:45.712Z | [REQUEST] | Incoming request | ReqId:gc4lsvxbq | IP:::ffff:172.19.0.1 | GET /favicon.ico | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:45.713Z | [REQUEST] | GET /favicon.ico | ReqId:gc4lsvxbq | IP:::ffff:172.19.0.1 | GET /favicon.ico | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:45.716Z | [REQUEST] | Request completed | ReqId:gc4lsvxbq | IP:::ffff:172.19.0.1 | GET /favicon.ico | Status:404 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.606Z | [REQUEST] | Incoming request | ReqId:fkv1mw7wq | IP:::ffff:172.19.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.608Z | [REQUEST] | GET /api-docs/ | ReqId:fkv1mw7wq | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.611Z | [REQUEST] | Request completed | ReqId:fkv1mw7wq | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.629Z | [REQUEST] | Incoming request | ReqId:8w9odijux | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.631Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:8w9odijux | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.637Z | [REQUEST] | Request completed | ReqId:8w9odijux | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui.css | Status:200 | Time:8ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.639Z | [REQUEST] | Incoming request | ReqId:rup3l7wfx | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.641Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:rup3l7wfx | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.642Z | [REQUEST] | Request completed | ReqId:rup3l7wfx | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.664Z | [REQUEST] | Incoming request | ReqId:vtf0pk6ic | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.667Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:vtf0pk6ic | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.670Z | [REQUEST] | Incoming request | ReqId:7wzy0fy7r | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.672Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:7wzy0fy7r | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.677Z | [REQUEST] | Request completed | ReqId:vtf0pk6ic | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | Time:13ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.685Z | [REQUEST] | Request completed | ReqId:7wzy0fy7r | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | Time:15ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.790Z | [REQUEST] | Incoming request | ReqId:wvl2x5qm8 | IP:::ffff:172.19.0.1 | GET /api-docs/favicon-16x16.png | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:39:52.791Z | [REQUEST] | GET /api-docs/favicon-16x16.png | ReqId:wvl2x5qm8 | IP:::ffff:172.19.0.1 | GET /api-docs/favicon-16x16.png | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:40:49.749Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T00:40:49.751Z | [STARTUP] | HTTP server closed -2025-08-23T00:40:49.753Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-37-11-854Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-37-11-854Z.log deleted file mode 100644 index b53c38b5..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-37-11-854Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:37:11.854Z -# Max entries per file: 10000 - -2025-08-23T00:37:11.947Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:37:11.949Z | [STARTUP] | Created Minio bucket: serpentrace-logs diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-40-44-283Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-40-44-283Z.log deleted file mode 100644 index e06a2502..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-40-44-283Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:40:44.283Z -# Max entries per file: 10000 - -2025-08-23T00:40:44.336Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-42-08-461Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-42-08-461Z.log deleted file mode 100644 index a8dc1678..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-42-08-461Z.log +++ /dev/null @@ -1,37 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:42:08.461Z -# Max entries per file: 10000 - -2025-08-23T00:42:17.297Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T00:42:17.309Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T00:42:17.309Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T00:42:18.450Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T00:42:18.510Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:42:18.511Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T00:42:18.520Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:42:39.705Z | [REQUEST] | Incoming request | ReqId:hilkjjko6 | IP:::ffff:172.19.0.1 | GET / | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:39.707Z | [REQUEST] | GET / | ReqId:hilkjjko6 | IP:::ffff:172.19.0.1 | GET / | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:39.710Z | [REQUEST] | Request completed | ReqId:hilkjjko6 | IP:::ffff:172.19.0.1 | GET / | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:39.732Z | [REQUEST] | Incoming request | ReqId:kxa5ltr4f | IP:::ffff:172.19.0.1 | GET /favicon.ico | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:39.734Z | [REQUEST] | GET /favicon.ico | ReqId:kxa5ltr4f | IP:::ffff:172.19.0.1 | GET /favicon.ico | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:39.736Z | [REQUEST] | Request completed | ReqId:kxa5ltr4f | IP:::ffff:172.19.0.1 | GET /favicon.ico | Status:404 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.373Z | [REQUEST] | Incoming request | ReqId:oxnztb7s9 | IP:::ffff:172.19.0.1 | GET /api-docs | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.375Z | [REQUEST] | GET /api-docs | ReqId:oxnztb7s9 | IP:::ffff:172.19.0.1 | GET /api-docs | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.377Z | [REQUEST] | Request completed | ReqId:oxnztb7s9 | IP:::ffff:172.19.0.1 | GET /api-docs | Status:301 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.383Z | [REQUEST] | Incoming request | ReqId:2oixxr8ha | IP:::ffff:172.19.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.385Z | [REQUEST] | GET /api-docs/ | ReqId:2oixxr8ha | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.387Z | [REQUEST] | Request completed | ReqId:2oixxr8ha | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.402Z | [REQUEST] | Incoming request | ReqId:i5d79svag | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.404Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:i5d79svag | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.407Z | [REQUEST] | Request completed | ReqId:i5d79svag | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.409Z | [REQUEST] | Incoming request | ReqId:w0ew05uqd | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.411Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:w0ew05uqd | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.413Z | [REQUEST] | Request completed | ReqId:w0ew05uqd | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.415Z | [REQUEST] | Incoming request | ReqId:vwjyz41ri | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.417Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:vwjyz41ri | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.419Z | [REQUEST] | Request completed | ReqId:vwjyz41ri | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.422Z | [REQUEST] | Incoming request | ReqId:dyi0lg3mr | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.424Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:dyi0lg3mr | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:42:49.425Z | [REQUEST] | Request completed | ReqId:dyi0lg3mr | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:47:11.134Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T00:47:11.137Z | [STARTUP] | HTTP server closed -2025-08-23T00:47:11.139Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-46-39-239Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-46-39-239Z.log deleted file mode 100644 index f1c7218c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-46-39-239Z.log +++ /dev/null @@ -1,8 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:46:39.239Z -# Max entries per file: 10000 - -2025-08-23T00:46:39.300Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:46:39.323Z | [REQUEST] | Contact hard deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"hard"} -2025-08-23T00:46:39.326Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:46:39.357Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-47-15-288Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-47-15-288Z.log deleted file mode 100644 index e3012687..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-47-15-288Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:47:15.288Z -# Max entries per file: 10000 - -2025-08-23T00:47:22.845Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T00:47:22.856Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T00:47:22.856Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T00:47:23.972Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T00:47:23.997Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:47:23.999Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T00:47:24.001Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:47:25.437Z | [REQUEST] | Incoming request | ReqId:lq7oxjcgt | IP:::ffff:172.19.0.1 | GET /api-docs?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910045430 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:47:25.440Z | [REQUEST] | GET /api-docs | ReqId:lq7oxjcgt | IP:::ffff:172.19.0.1 | GET /api-docs?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910045430 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:47:25.443Z | [REQUEST] | Request completed | ReqId:lq7oxjcgt | IP:::ffff:172.19.0.1 | GET /api-docs?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910045430 | Status:301 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:47:25.449Z | [REQUEST] | Incoming request | ReqId:19p3nk7ox | IP:::ffff:172.19.0.1 | GET /api-docs/?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910045430 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:47:25.451Z | [REQUEST] | GET /api-docs/ | ReqId:19p3nk7ox | IP:::ffff:172.19.0.1 | GET /api-docs/?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910045430 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:47:25.454Z | [REQUEST] | Request completed | ReqId:19p3nk7ox | IP:::ffff:172.19.0.1 | GET /api-docs/?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910045430 | Status:200 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:47:34.982Z | [REQUEST] | Incoming request | ReqId:s8e8rkbei | IP:::ffff:172.19.0.1 | GET / | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:47:34.983Z | [REQUEST] | GET / | ReqId:s8e8rkbei | IP:::ffff:172.19.0.1 | GET / | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:47:34.985Z | [REQUEST] | Request completed | ReqId:s8e8rkbei | IP:::ffff:172.19.0.1 | GET / | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:48:50.184Z | [REQUEST] | Incoming request | ReqId:f42x8d34f | IP:::ffff:172.19.0.1 | GET / | UA:node -2025-08-23T00:48:50.191Z | [REQUEST] | GET / | ReqId:f42x8d34f | IP:::ffff:172.19.0.1 | GET / | Status:200 | UA:node -2025-08-23T00:48:50.203Z | [REQUEST] | Request completed | ReqId:f42x8d34f | IP:::ffff:172.19.0.1 | GET / | Status:200 | Time:20ms | UA:node -2025-08-23T00:48:50.222Z | [REQUEST] | Incoming request | ReqId:eagncxihh | IP:::ffff:172.19.0.1 | GET /api-docs/ | UA:node -2025-08-23T00:48:50.224Z | [REQUEST] | GET /api-docs/ | ReqId:eagncxihh | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | UA:node -2025-08-23T00:48:50.229Z | [REQUEST] | Request completed | ReqId:eagncxihh | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | Time:7ms | UA:node -2025-08-23T00:48:50.237Z | [REQUEST] | Incoming request | ReqId:59b9k39tw | IP:::ffff:172.19.0.1 | GET /api-docs/swagger.json | UA:node -2025-08-23T00:48:50.239Z | [REQUEST] | GET /api-docs/swagger.json | ReqId:59b9k39tw | IP:::ffff:172.19.0.1 | GET /api-docs/swagger.json | Status:200 | UA:node -2025-08-23T00:48:50.246Z | [REQUEST] | Request completed | ReqId:59b9k39tw | IP:::ffff:172.19.0.1 | GET /api-docs/swagger.json | Status:200 | Time:9ms | UA:node -2025-08-23T00:50:17.076Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T00:50:17.081Z | [STARTUP] | HTTP server closed -2025-08-23T00:50:17.084Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-27-150Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-27-150Z.log deleted file mode 100644 index b0165a47..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-27-150Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:27.150Z -# Max entries per file: 10000 - -2025-08-23T00:48:27.293Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:27.397Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:27.408Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:27.421Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:27.431Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:27.444Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:27.464Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:27.469Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:28.164Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-254Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-254Z.log deleted file mode 100644 index dd7f1a1a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-254Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:29.254Z -# Max entries per file: 10000 - -2025-08-23T00:48:29.533Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:48:31.702Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-592Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-592Z.log deleted file mode 100644 index 43ba0fd6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-592Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:29.592Z -# Max entries per file: 10000 - -2025-08-23T00:48:31.595Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-623Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-623Z.log deleted file mode 100644 index 4c854ca1..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-623Z.log +++ /dev/null @@ -1,8 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:29.623Z -# Max entries per file: 10000 - -2025-08-23T00:48:30.058Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:48:30.512Z | [REQUEST] | Contact hard deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"hard"} -2025-08-23T00:48:30.715Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:48:31.556Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-649Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-649Z.log deleted file mode 100644 index f7d86134..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-649Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:29.649Z -# Max entries per file: 10000 - -2025-08-23T00:48:31.553Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-655Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-655Z.log deleted file mode 100644 index cfb68cdb..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-29-655Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:29.655Z -# Max entries per file: 10000 - -2025-08-23T00:48:31.583Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-058Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-058Z.log deleted file mode 100644 index 6494f956..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-058Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:30.058Z -# Max entries per file: 10000 - -2025-08-23T00:48:31.553Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-072Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-072Z.log deleted file mode 100644 index 852786a2..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-072Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:30.072Z -# Max entries per file: 10000 - -2025-08-23T00:48:31.518Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-368Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-368Z.log deleted file mode 100644 index 1991d899..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-368Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:30.368Z -# Max entries per file: 10000 - -2025-08-23T00:48:32.345Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:48:33.406Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-591Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-591Z.log deleted file mode 100644 index 7f01c187..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-30-591Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:30.591Z -# Max entries per file: 10000 - -2025-08-23T00:48:32.437Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:48:32.497Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:48:32.620Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.643Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.664Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:48:32.669Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.678Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.698Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-23T00:48:32.702Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.707Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.716Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-23T00:48:32.723Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.739Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.751Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:48:32.753Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.757Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.761Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:48:32.764Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.770Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.780Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:48:32.787Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.790Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.794Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:48:32.801Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.804Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:32.820Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:48:32.880Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-31-473Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-31-473Z.log deleted file mode 100644 index 1c0ac868..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-31-473Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:31.473Z -# Max entries per file: 10000 - -2025-08-23T00:48:31.634Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-432Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-432Z.log deleted file mode 100644 index 8b7f2d52..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-432Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:32.432Z -# Max entries per file: 10000 - -2025-08-23T00:48:32.490Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-456Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-456Z.log deleted file mode 100644 index d80a5d4f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-456Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:32.456Z -# Max entries per file: 10000 - -2025-08-23T00:48:32.679Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-469Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-469Z.log deleted file mode 100644 index 3fd5505b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-469Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:32.469Z -# Max entries per file: 10000 - -2025-08-23T00:48:32.707Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-527Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-527Z.log deleted file mode 100644 index 62e6438b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-527Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:32.527Z -# Max entries per file: 10000 - -2025-08-23T00:48:35.203Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:48:35.282Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:48:35.428Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:35.772Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:35.778Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:35.795Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:48:35.925Z | [DATABASE] | User lookup completed | Meta:{"executionTime":130,"found":true,"searchBy":"username"} -2025-08-23T00:48:36.001Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:48:36.077Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":282} -2025-08-23T00:48:36.103Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:48:36.163Z | [DATABASE] | User lookup completed | Meta:{"executionTime":60,"found":false,"searchBy":"username"} -2025-08-23T00:48:36.237Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:48:36.255Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:48:36.289Z | [DATABASE] | User lookup completed | Meta:{"executionTime":34,"found":true,"searchBy":"username"} -2025-08-23T00:48:36.326Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:48:36.332Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:48:36.338Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:48:36.343Z | [DATABASE] | User lookup completed | Meta:{"executionTime":5,"found":true,"searchBy":"username"} -2025-08-23T00:48:36.351Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:48:36.355Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":17} -2025-08-23T00:48:37.993Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:48:37.996Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:48:37.998Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:48:37.999Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:48:38.000Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:48:38.021Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-935Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-935Z.log deleted file mode 100644 index 674862ec..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-32-935Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:32.935Z -# Max entries per file: 10000 - -2025-08-23T00:48:32.968Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:48:33.081Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:48:33.089Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:48:33.103Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:48:33.106Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:48:33.249Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-131Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-131Z.log deleted file mode 100644 index 2108f36a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-131Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:33.131Z -# Max entries per file: 10000 - -2025-08-23T00:48:33.136Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-23T00:48:33.156Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:33.158Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-23T00:48:33.233Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-23T00:48:33.237Z | [STARTUP] | Test message -2025-08-23T00:48:33.243Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-23T00:48:33.248Z | [STARTUP] | Test for directory creation -2025-08-23T00:48:33.405Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-233Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-233Z.log deleted file mode 100644 index b0abc966..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-233Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:33.233Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-252Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-252Z.log deleted file mode 100644 index 3ddd7613..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-252Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:33.252Z -# Max entries per file: 10000 - -2025-08-23T00:48:33.255Z | [AUTH] | Authentication successful | ReqId:cgykr0b51 | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:48:33.268Z | [AUTH] | Authentication failed - No valid token | ReqId:mhdto2ing | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-23T00:48:33.286Z | [AUTH] | Authentication successful | ReqId:obr879u3u | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:48:33.294Z | [AUTH] | Token refreshed | ReqId:d55jb3xo9 | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-23T00:48:33.301Z | [AUTH] | Admin authentication successful | ReqId:yqxhq4awp | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:48:33.315Z | [WARNING] | Admin access denied | ReqId:jb6d6qp4u | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-23T00:48:33.325Z | [WARNING] | Admin access denied | ReqId:xlxpiequm | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-23T00:48:33.335Z | [AUTH] | Admin authentication successful | ReqId:qapneq0kg | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:48:33.338Z | [AUTH] | Admin token refreshed | ReqId:tl0o2npqq | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-23T00:48:33.405Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-271Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-271Z.log deleted file mode 100644 index 34e58ca5..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-271Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:33.271Z -# Max entries per file: 10000 - -2025-08-23T00:48:33.323Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:33.328Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:33.334Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:33.339Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:48:33.399Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-279Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-279Z.log deleted file mode 100644 index 9e7bd039..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-279Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:33.279Z -# Max entries per file: 10000 - -2025-08-23T00:48:33.396Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-288Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-288Z.log deleted file mode 100644 index 87e1500a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-33-288Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:33.288Z -# Max entries per file: 10000 - -2025-08-23T00:48:33.326Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-37-268Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-37-268Z.log deleted file mode 100644 index e14e62d1..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-48-37-268Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:48:37.268Z -# Max entries per file: 10000 - -2025-08-23T00:48:37.281Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:48:37.297Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:48:37.297Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:48:37.339Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:48:37.341Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:48:37.358Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:48:37.360Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:48:37.381Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-22-284Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-22-284Z.log deleted file mode 100644 index a07ef6f4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-22-284Z.log +++ /dev/null @@ -1,61 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:22.284Z -# Max entries per file: 10000 - -2025-08-23T00:50:30.750Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T00:50:30.765Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T00:50:30.765Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T00:50:32.198Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T00:50:32.234Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:50:32.240Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T00:50:32.244Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:50:50.668Z | [REQUEST] | Incoming request | ReqId:bmql6ji9q | IP:::ffff:172.19.0.1 | GET / | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:50:50.673Z | [REQUEST] | GET / | ReqId:bmql6ji9q | IP:::ffff:172.19.0.1 | GET / | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:50:50.679Z | [REQUEST] | Request completed | ReqId:bmql6ji9q | IP:::ffff:172.19.0.1 | GET / | Status:200 | Time:11ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:50:59.046Z | [REQUEST] | Incoming request | ReqId:futxb8j10 | IP:::ffff:172.19.0.1 | GET / | UA:node -2025-08-23T00:50:59.047Z | [REQUEST] | GET / | ReqId:futxb8j10 | IP:::ffff:172.19.0.1 | GET / | Status:200 | UA:node -2025-08-23T00:50:59.049Z | [REQUEST] | Request completed | ReqId:futxb8j10 | IP:::ffff:172.19.0.1 | GET / | Status:200 | Time:3ms | UA:node -2025-08-23T00:50:59.066Z | [REQUEST] | Incoming request | ReqId:xmsq0ndrd | IP:::ffff:172.19.0.1 | GET /api-docs/ | UA:node -2025-08-23T00:50:59.068Z | [REQUEST] | GET /api-docs/ | ReqId:xmsq0ndrd | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | UA:node -2025-08-23T00:50:59.073Z | [REQUEST] | Request completed | ReqId:xmsq0ndrd | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | Time:7ms | UA:node -2025-08-23T00:50:59.080Z | [REQUEST] | Incoming request | ReqId:v0mpnwbvh | IP:::ffff:172.19.0.1 | GET /api-docs/swagger.json | UA:node -2025-08-23T00:50:59.082Z | [REQUEST] | GET /api-docs/swagger.json | ReqId:v0mpnwbvh | IP:::ffff:172.19.0.1 | GET /api-docs/swagger.json | Status:200 | UA:node -2025-08-23T00:50:59.085Z | [REQUEST] | Request completed | ReqId:v0mpnwbvh | IP:::ffff:172.19.0.1 | GET /api-docs/swagger.json | Status:200 | Time:5ms | UA:node -2025-08-23T00:51:03.280Z | [REQUEST] | Incoming request | ReqId:5f8c6x11m | IP:::ffff:172.19.0.1 | GET /api-docs?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910263287 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:51:03.283Z | [REQUEST] | GET /api-docs | ReqId:5f8c6x11m | IP:::ffff:172.19.0.1 | GET /api-docs?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910263287 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:51:03.285Z | [REQUEST] | Request completed | ReqId:5f8c6x11m | IP:::ffff:172.19.0.1 | GET /api-docs?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910263287 | Status:301 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:51:03.294Z | [REQUEST] | Incoming request | ReqId:cgz104rbk | IP:::ffff:172.19.0.1 | GET /api-docs/?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910263287 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:51:03.297Z | [REQUEST] | GET /api-docs/ | ReqId:cgz104rbk | IP:::ffff:172.19.0.1 | GET /api-docs/?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910263287 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:51:03.300Z | [REQUEST] | Request completed | ReqId:cgz104rbk | IP:::ffff:172.19.0.1 | GET /api-docs/?id=b7010505-df36-4f60-b08d-492574a6a8e8&vscodeBrowserReqId=1755910263287 | Status:200 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T00:51:07.988Z | [REQUEST] | Incoming request | ReqId:hsbysirnz | IP:::ffff:172.19.0.1 | GET /api-docs | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:07.990Z | [REQUEST] | GET /api-docs | ReqId:hsbysirnz | IP:::ffff:172.19.0.1 | GET /api-docs | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.029Z | [REQUEST] | Request completed | ReqId:hsbysirnz | IP:::ffff:172.19.0.1 | GET /api-docs | Status:301 | Time:42ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.036Z | [REQUEST] | Incoming request | ReqId:a6h469jtx | IP:::ffff:172.19.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.039Z | [REQUEST] | GET /api-docs/ | ReqId:a6h469jtx | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.044Z | [REQUEST] | Request completed | ReqId:a6h469jtx | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:304 | Time:8ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.070Z | [REQUEST] | Incoming request | ReqId:uwvcp882e | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.073Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:uwvcp882e | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.121Z | [REQUEST] | Request completed | ReqId:uwvcp882e | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:51ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.123Z | [REQUEST] | Incoming request | ReqId:4yqrt9n14 | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.125Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:4yqrt9n14 | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.127Z | [REQUEST] | Request completed | ReqId:4yqrt9n14 | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.130Z | [REQUEST] | Incoming request | ReqId:ut5i3vyso | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.131Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:ut5i3vyso | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.134Z | [REQUEST] | Request completed | ReqId:ut5i3vyso | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.182Z | [REQUEST] | Incoming request | ReqId:x1783pkrx | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.184Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:x1783pkrx | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:51:08.186Z | [REQUEST] | Request completed | ReqId:x1783pkrx | IP:::ffff:172.19.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T00:55:05.018Z | [REQUEST] | Incoming request | ReqId:j2mgee9d3 | IP:::ffff:172.19.0.1 | GET /api-docs | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:05.020Z | [REQUEST] | GET /api-docs | ReqId:j2mgee9d3 | IP:::ffff:172.19.0.1 | GET /api-docs | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:05.023Z | [REQUEST] | Request completed | ReqId:j2mgee9d3 | IP:::ffff:172.19.0.1 | GET /api-docs | Status:301 | Time:5ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:05.028Z | [REQUEST] | Incoming request | ReqId:gp5iqt8g2 | IP:::ffff:172.19.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:05.030Z | [REQUEST] | GET /api-docs/ | ReqId:gp5iqt8g2 | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:05.032Z | [REQUEST] | Request completed | ReqId:gp5iqt8g2 | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:10.881Z | [REQUEST] | Incoming request | ReqId:7n9cwsm8a | IP:::ffff:172.19.0.1 | GET /api-docs/swagger.json | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:10.883Z | [REQUEST] | GET /api-docs/swagger.json | ReqId:7n9cwsm8a | IP:::ffff:172.19.0.1 | GET /api-docs/swagger.json | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:10.885Z | [REQUEST] | Request completed | ReqId:7n9cwsm8a | IP:::ffff:172.19.0.1 | GET /api-docs/swagger.json | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:16.425Z | [REQUEST] | Incoming request | ReqId:zm9rvpl5o | IP:::ffff:172.19.0.1 | GET / | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:16.427Z | [REQUEST] | GET / | ReqId:zm9rvpl5o | IP:::ffff:172.19.0.1 | GET / | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T00:55:16.429Z | [REQUEST] | Request completed | ReqId:zm9rvpl5o | IP:::ffff:172.19.0.1 | GET / | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:00:58.971Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T01:00:58.973Z | [STARTUP] | HTTP server closed -2025-08-23T01:00:58.975Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-43-647Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-43-647Z.log deleted file mode 100644 index 62ccd88e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-43-647Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:43.647Z -# Max entries per file: 10000 - -2025-08-23T00:50:43.711Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:43.811Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:43.819Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:43.827Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:43.835Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:43.841Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:43.849Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:43.853Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:43.926Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-106Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-106Z.log deleted file mode 100644 index c64a2eb4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-106Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.106Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.741Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:50:44.793Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:50:44.825Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.835Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.840Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:50:44.843Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.846Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.849Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-23T00:50:44.850Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.853Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.858Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-23T00:50:44.859Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.863Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.866Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:50:44.868Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.871Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.874Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:50:44.876Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.879Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.882Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:50:44.883Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.886Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.891Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:50:44.892Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.894Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:44.903Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:50:44.931Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-146Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-146Z.log deleted file mode 100644 index fd6519aa..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-146Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.146Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.666Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:50:45.708Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-153Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-153Z.log deleted file mode 100644 index 231df0b6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-153Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.153Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.188Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:50:44.255Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:50:44.262Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:50:44.265Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:50:44.269Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:50:44.330Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-246Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-246Z.log deleted file mode 100644 index c5120f34..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-246Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.246Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.410Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-265Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-265Z.log deleted file mode 100644 index ef67733f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-265Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.265Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.417Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-326Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-326Z.log deleted file mode 100644 index 98200870..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-326Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.326Z -# Max entries per file: 10000 - -2025-08-23T00:50:45.678Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:50:45.742Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:50:45.770Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:45.783Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:45.792Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:45.799Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:50:45.813Z | [DATABASE] | User lookup completed | Meta:{"executionTime":14,"found":true,"searchBy":"username"} -2025-08-23T00:50:45.819Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:50:45.823Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":24} -2025-08-23T00:50:45.827Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:50:45.829Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":false,"searchBy":"username"} -2025-08-23T00:50:45.839Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:50:45.845Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:50:45.853Z | [DATABASE] | User lookup completed | Meta:{"executionTime":8,"found":true,"searchBy":"username"} -2025-08-23T00:50:45.855Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:50:45.857Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:50:45.864Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:50:45.869Z | [DATABASE] | User lookup completed | Meta:{"executionTime":5,"found":true,"searchBy":"username"} -2025-08-23T00:50:45.875Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:50:45.879Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":15} -2025-08-23T00:50:47.096Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:50:47.098Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:50:47.244Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:50:47.245Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:50:47.248Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:50:47.393Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-413Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-413Z.log deleted file mode 100644 index 36afe8d7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-413Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.413Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.605Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-511Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-511Z.log deleted file mode 100644 index cf585649..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-511Z.log +++ /dev/null @@ -1,8 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.511Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.599Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:50:44.670Z | [REQUEST] | Contact hard deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"hard"} -2025-08-23T00:50:44.672Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:50:44.735Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-563Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-563Z.log deleted file mode 100644 index 8fae9cbf..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-563Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.563Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.620Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:50:44.841Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-570Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-570Z.log deleted file mode 100644 index ce157f50..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-570Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.570Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.708Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-671Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-671Z.log deleted file mode 100644 index 7160948d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-671Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.671Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.784Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-685Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-685Z.log deleted file mode 100644 index de0414d0..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-685Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.685Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.800Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-728Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-728Z.log deleted file mode 100644 index 8423cd2a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-728Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.728Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.833Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-737Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-737Z.log deleted file mode 100644 index 72e71112..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-44-737Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:44.737Z -# Max entries per file: 10000 - -2025-08-23T00:50:44.865Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-429Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-429Z.log deleted file mode 100644 index 9848ab1c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-429Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:45.429Z -# Max entries per file: 10000 - -2025-08-23T00:50:45.437Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:50:45.449Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:50:45.449Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:50:45.452Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:50:45.460Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:50:45.475Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:50:45.477Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:50:45.494Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-667Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-667Z.log deleted file mode 100644 index 8550b86b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-667Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:45.667Z -# Max entries per file: 10000 - -2025-08-23T00:50:45.672Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-23T00:50:45.684Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:45.687Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-23T00:50:45.688Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-23T00:50:45.689Z | [STARTUP] | Test message -2025-08-23T00:50:45.690Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-23T00:50:45.695Z | [STARTUP] | Test for directory creation -2025-08-23T00:50:45.788Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-700Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-700Z.log deleted file mode 100644 index db68b10d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-700Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:45.700Z -# Max entries per file: 10000 - -2025-08-23T00:50:45.718Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:45.727Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:45.731Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:45.739Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:50:45.790Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-738Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-738Z.log deleted file mode 100644 index 4eb671fb..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-738Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:45.738Z -# Max entries per file: 10000 - -2025-08-23T00:50:45.790Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-995Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-995Z.log deleted file mode 100644 index ac55a53f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-45-995Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:45.995Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-46-023Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-46-023Z.log deleted file mode 100644 index 13f8abde..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-46-023Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:46.023Z -# Max entries per file: 10000 - -2025-08-23T00:50:46.078Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-46-310Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-46-310Z.log deleted file mode 100644 index c250d03c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-46-310Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:46.310Z -# Max entries per file: 10000 - -2025-08-23T00:50:46.313Z | [AUTH] | Authentication successful | ReqId:6heho2m4l | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:50:46.322Z | [AUTH] | Authentication failed - No valid token | ReqId:l8irgibya | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-23T00:50:46.325Z | [AUTH] | Authentication successful | ReqId:78zsesew3 | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:50:46.335Z | [AUTH] | Token refreshed | ReqId:3bzb4ap87 | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-23T00:50:46.340Z | [AUTH] | Admin authentication successful | ReqId:9f4j6ukze | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:50:46.343Z | [WARNING] | Admin access denied | ReqId:i8aehddm4 | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-23T00:50:46.350Z | [WARNING] | Admin access denied | ReqId:pwsh6llkt | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-23T00:50:46.361Z | [AUTH] | Admin authentication successful | ReqId:8app1gojc | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:50:46.362Z | [AUTH] | Admin token refreshed | ReqId:0gubbgw1u | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-23T00:50:46.429Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-46-490Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-46-490Z.log deleted file mode 100644 index fc294a57..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-50-46-490Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:50:46.490Z -# Max entries per file: 10000 - -2025-08-23T00:50:46.569Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-485Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-485Z.log deleted file mode 100644 index 8160284c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-485Z.log +++ /dev/null @@ -1,8 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:54:21.485Z -# Max entries per file: 10000 - -2025-08-23T00:54:21.538Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:54:21.577Z | [REQUEST] | Contact hard deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"hard"} -2025-08-23T00:54:21.580Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:54:21.643Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-486Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-486Z.log deleted file mode 100644 index 5e0a5aa8..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-486Z.log +++ /dev/null @@ -1,17 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:54:21.486Z -# Max entries per file: 10000 - -2025-08-23T00:54:21.518Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:54:21.521Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:54:21.568Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:54:21.576Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:54:21.581Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:54:21.582Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:54:21.579Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:54:21.579Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:54:21.593Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:54:21.597Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:54:21.630Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:54:21.632Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:54:21.632Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:54:21.669Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-508Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-508Z.log deleted file mode 100644 index 900ad4d2..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-508Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:54:21.508Z -# Max entries per file: 10000 - -2025-08-23T00:54:21.613Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-527Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-527Z.log deleted file mode 100644 index 699ea8a9..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-527Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:54:21.527Z -# Max entries per file: 10000 - -2025-08-23T00:54:21.645Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-548Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-548Z.log deleted file mode 100644 index 69bd4bd7..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-54-21-548Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:54:21.548Z -# Max entries per file: 10000 - -2025-08-23T00:54:23.138Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:54:23.170Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:54:23.185Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:54:23.190Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:54:23.194Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:54:23.199Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:54:23.203Z | [DATABASE] | User lookup completed | Meta:{"executionTime":5,"found":true,"searchBy":"username"} -2025-08-23T00:54:23.204Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:54:23.204Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":6} -2025-08-23T00:54:23.206Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:54:23.207Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:54:23.207Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:54:23.208Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:54:23.209Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:54:23.210Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:54:23.211Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:54:23.215Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:54:23.216Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:54:23.217Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:54:23.217Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":2} -2025-08-23T00:54:24.376Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:54:24.378Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:54:24.380Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:54:24.380Z | [DATABASE] | User lookup completed | Meta:{"executionTime":0,"found":false,"searchBy":"username"} -2025-08-23T00:54:24.381Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:54:24.392Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-092Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-092Z.log deleted file mode 100644 index e406f646..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-092Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:56:51.092Z -# Max entries per file: 10000 - -2025-08-23T00:56:51.257Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-182Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-182Z.log deleted file mode 100644 index 1e2361f2..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-182Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:56:51.182Z -# Max entries per file: 10000 - -2025-08-23T00:56:51.285Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-226Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-226Z.log deleted file mode 100644 index f11676a1..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-226Z.log +++ /dev/null @@ -1,8 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:56:51.226Z -# Max entries per file: 10000 - -2025-08-23T00:56:51.299Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:56:51.346Z | [REQUEST] | Contact hard deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"hard"} -2025-08-23T00:56:51.354Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:56:51.415Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-245Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-245Z.log deleted file mode 100644 index fe7132aa..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-245Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:56:51.245Z -# Max entries per file: 10000 - -2025-08-23T00:56:51.283Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:56:51.337Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:56:51.342Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:56:51.347Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:56:51.353Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:56:51.417Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-425Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-425Z.log deleted file mode 100644 index 21897884..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-425Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:56:51.425Z -# Max entries per file: 10000 - -2025-08-23T00:56:51.470Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:56:51.519Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:56:51.519Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:56:51.524Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:56:51.527Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:56:51.542Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:56:51.544Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:56:51.575Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-478Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-478Z.log deleted file mode 100644 index a7b9ce75..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-56-51-478Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:56:51.478Z -# Max entries per file: 10000 - -2025-08-23T00:56:52.773Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:56:52.808Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:56:52.820Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:56:52.825Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:56:52.830Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:56:52.833Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:56:52.838Z | [DATABASE] | User lookup completed | Meta:{"executionTime":5,"found":true,"searchBy":"username"} -2025-08-23T00:56:52.839Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:56:52.839Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":6} -2025-08-23T00:56:52.841Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:56:52.842Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:56:52.842Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:56:52.844Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:56:52.845Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:56:52.845Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:56:52.846Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:56:52.849Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:56:52.850Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:56:52.851Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:56:52.851Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":2} -2025-08-23T00:56:54.037Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:56:54.039Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:56:54.041Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:56:54.042Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:56:54.043Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:56:54.056Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-51-926Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-51-926Z.log deleted file mode 100644 index 4e4bcab2..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-51-926Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:51.926Z -# Max entries per file: 10000 - -2025-08-23T00:58:52.000Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:52.150Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:52.158Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:52.172Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:52.180Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:52.187Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:52.199Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:52.206Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:52.284Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-394Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-394Z.log deleted file mode 100644 index e1145bd6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-394Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:52.394Z -# Max entries per file: 10000 - -2025-08-23T00:58:52.540Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-658Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-658Z.log deleted file mode 100644 index 278db5df..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-658Z.log +++ /dev/null @@ -1,8 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:52.658Z -# Max entries per file: 10000 - -2025-08-23T00:58:52.744Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:58:52.830Z | [REQUEST] | Contact hard deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"hard"} -2025-08-23T00:58:52.833Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:58:52.905Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-711Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-711Z.log deleted file mode 100644 index 72b1f030..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-711Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:52.711Z -# Max entries per file: 10000 - -2025-08-23T00:58:52.869Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-731Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-731Z.log deleted file mode 100644 index 29ef0125..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-731Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:52.731Z -# Max entries per file: 10000 - -2025-08-23T00:58:52.799Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:58:52.881Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:58:52.891Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:58:52.895Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:58:52.898Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:58:52.955Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-962Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-962Z.log deleted file mode 100644 index 1a10bce6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-962Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:52.962Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.082Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-992Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-992Z.log deleted file mode 100644 index 4d8a48ba..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-992Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:52.992Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.128Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-994Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-994Z.log deleted file mode 100644 index fc3299b6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-52-994Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:52.994Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.123Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-000Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-000Z.log deleted file mode 100644 index 4f8520c5..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-000Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:53.000Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.062Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:58:53.287Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-011Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-011Z.log deleted file mode 100644 index 3af0bb92..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-011Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:53.011Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.142Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-026Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-026Z.log deleted file mode 100644 index f5fa92e3..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-026Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:53.026Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.142Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-033Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-033Z.log deleted file mode 100644 index b0be046f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-033Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:53.033Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.203Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-039Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-039Z.log deleted file mode 100644 index 3405ab37..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-039Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:53.039Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.392Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:58:54.405Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-146Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-146Z.log deleted file mode 100644 index 0b8ce4b8..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-146Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:53.146Z -# Max entries per file: 10000 - -2025-08-23T00:58:54.590Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:58:54.623Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:58:54.638Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:54.643Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:54.647Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:54.650Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:58:54.655Z | [DATABASE] | User lookup completed | Meta:{"executionTime":5,"found":true,"searchBy":"username"} -2025-08-23T00:58:54.656Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:58:54.657Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":7} -2025-08-23T00:58:54.659Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:58:54.660Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:58:54.661Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:58:54.663Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:58:54.664Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:58:54.665Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:58:54.665Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:58:54.671Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:58:54.672Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:58:54.672Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:58:54.673Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":2} -2025-08-23T00:58:55.776Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:58:55.779Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:58:55.781Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:58:55.782Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:58:55.783Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:58:55.795Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-162Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-162Z.log deleted file mode 100644 index 7668e333..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-162Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:53.162Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.511Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:58:53.561Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:58:53.592Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.599Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.606Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:58:53.608Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.611Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.615Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-23T00:58:53.616Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.618Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.621Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-23T00:58:53.623Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.627Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.630Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:58:53.632Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.634Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.636Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:58:53.637Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.639Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.641Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:58:53.643Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.645Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.650Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:58:53.652Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.655Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:53.666Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:58:53.694Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-791Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-791Z.log deleted file mode 100644 index 5c5ca496..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-791Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:53.791Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.804Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-855Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-855Z.log deleted file mode 100644 index 2ae4377d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-53-855Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:53.855Z -# Max entries per file: 10000 - -2025-08-23T00:58:53.864Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:58:53.876Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:58:53.876Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:58:53.879Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:58:53.881Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:58:53.888Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:58:53.890Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:58:53.902Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-133Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-133Z.log deleted file mode 100644 index 143d1bc6..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-133Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:54.133Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-150Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-150Z.log deleted file mode 100644 index ed1e2881..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-150Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:54.150Z -# Max entries per file: 10000 - -2025-08-23T00:58:54.152Z | [AUTH] | Authentication successful | ReqId:swns07hzc | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:58:54.229Z | [AUTH] | Authentication failed - No valid token | ReqId:3h7rbnwfj | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-23T00:58:54.231Z | [AUTH] | Authentication successful | ReqId:xum4po9gk | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:58:54.232Z | [AUTH] | Token refreshed | ReqId:jfqxpvavg | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-23T00:58:54.234Z | [AUTH] | Admin authentication successful | ReqId:3vv1x0hku | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:58:54.235Z | [WARNING] | Admin access denied | ReqId:80hftgeok | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-23T00:58:54.241Z | [WARNING] | Admin access denied | ReqId:nsd12rg7v | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-23T00:58:54.245Z | [AUTH] | Admin authentication successful | ReqId:kfw9oilol | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:58:54.246Z | [AUTH] | Admin token refreshed | ReqId:tyvv0t0cx | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-23T00:58:54.260Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-159Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-159Z.log deleted file mode 100644 index fedb2e0f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-159Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:54.159Z -# Max entries per file: 10000 - -2025-08-23T00:58:54.200Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-196Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-196Z.log deleted file mode 100644 index b4cec8d3..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-196Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:54.196Z -# Max entries per file: 10000 - -2025-08-23T00:58:54.208Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-331Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-331Z.log deleted file mode 100644 index eef27b43..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-331Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:54.331Z -# Max entries per file: 10000 - -2025-08-23T00:58:54.334Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-23T00:58:54.342Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:54.344Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-23T00:58:54.345Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-23T00:58:54.345Z | [STARTUP] | Test message -2025-08-23T00:58:54.346Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-23T00:58:54.349Z | [STARTUP] | Test for directory creation -2025-08-23T00:58:54.382Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-371Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-371Z.log deleted file mode 100644 index acbebe92..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-58-54-371Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:58:54.371Z -# Max entries per file: 10000 - -2025-08-23T00:58:54.385Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:54.386Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:54.387Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:54.390Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:58:54.405Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-249Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-249Z.log deleted file mode 100644 index be5833be..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-249Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:30.249Z -# Max entries per file: 10000 - -2025-08-23T00:59:30.307Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Crypto error","stack":"Error: Crypto error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:78:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:82:56)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:30.397Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:111:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:30.405Z | [ERROR] | TokenService.generateVerificationToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generateVerificationToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:41:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:115:62)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:30.417Z | [ERROR] | TokenService.generateSecureToken error | Meta:{"name":"Error","message":"Random bytes failed","stack":"Error: Random bytes failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:143:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.randomBytes (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:57)\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:28:21)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:30.422Z | [ERROR] | TokenService.generatePasswordResetToken error | Meta:{"name":"Error","message":"Failed to generate secure token","stack":"Error: Failed to generate secure token\n at Function.generateSecureToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:31:13)\n at Function.generatePasswordResetToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:62:26)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:33\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:1824:9)\n at Object.throwingMatcher [as toThrow] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\expect\\build\\index.js:2235:93)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:147:63)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:30.431Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hashing failed","stack":"Error: Hashing failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:172:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:176:33)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:30.440Z | [ERROR] | TokenService.hashToken error | Meta:{"name":"Error","message":"Hash creation failed","stack":"Error: Hash creation failed\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:219:15)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:305:39\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:312:13)\n at Object.mockConstructor (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:102:19)\n at Object.createHash (eval at _createMockFunction (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-mock\\build\\index.js:460:31), :3:56)\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:158:21)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:30.446Z | [ERROR] | TokenService.verifyToken error | Meta:{"name":"Error","message":"Failed to hash token","stack":"Error: Failed to hash token\n at Function.hashToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:161:13)\n at Function.verifyToken (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\TokenService.ts:177:43)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\TokenService.test.ts:223:41)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:30.520Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-887Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-887Z.log deleted file mode 100644 index 15902d39..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-887Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:30.887Z -# Max entries per file: 10000 - -2025-08-23T00:59:32.103Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:59:32.141Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:59:32.156Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:32.162Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:32.166Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:32.169Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:59:32.172Z | [DATABASE] | User lookup completed | Meta:{"executionTime":3,"found":true,"searchBy":"username"} -2025-08-23T00:59:32.173Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:59:32.174Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":5} -2025-08-23T00:59:32.176Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:59:32.177Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:59:32.177Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:59:32.179Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:59:32.180Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:59:32.181Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:59:32.182Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:59:32.185Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:59:32.186Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:59:32.187Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:59:32.188Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":3} -2025-08-23T00:59:33.373Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:59:33.375Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:59:33.377Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:59:33.378Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:59:33.379Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:59:33.395Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-912Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-912Z.log deleted file mode 100644 index b1726abb..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-912Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:30.912Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.086Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-931Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-931Z.log deleted file mode 100644 index 2ff98891..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-931Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:30.931Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.089Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-952Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-952Z.log deleted file mode 100644 index 953fddff..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-30-952Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:30.952Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.113Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-113Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-113Z.log deleted file mode 100644 index 3471f82d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-113Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.113Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.172Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:59:31.375Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-158Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-158Z.log deleted file mode 100644 index 968afb86..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-158Z.log +++ /dev/null @@ -1,8 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.158Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.218Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:59:31.275Z | [REQUEST] | Contact hard deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"hard"} -2025-08-23T00:59:31.283Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:59:31.352Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-178Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-178Z.log deleted file mode 100644 index 8d4efea4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-178Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.178Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.282Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-198Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-198Z.log deleted file mode 100644 index d181ca42..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-198Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.198Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.340Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-201Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-201Z.log deleted file mode 100644 index b592eeca..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-201Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.201Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.351Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-209Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-209Z.log deleted file mode 100644 index 73606330..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-209Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.209Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.341Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-241Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-241Z.log deleted file mode 100644 index b7f00e9e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-241Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.241Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.303Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:59:31.369Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:31.373Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:59:31.375Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:31.377Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:31.407Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-269Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-269Z.log deleted file mode 100644 index 94db76c1..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-269Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.269Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.540Z | [STARTUP] | Logging service shutting down gracefully -2025-08-23T00:59:32.561Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-361Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-361Z.log deleted file mode 100644 index 7e5fd611..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-361Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.361Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.455Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-452Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-452Z.log deleted file mode 100644 index d0328b8f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-31-452Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:31.452Z -# Max entries per file: 10000 - -2025-08-23T00:59:31.732Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:59:31.782Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:59:31.827Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.835Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:58:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.840Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:59:31.841Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.844Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:68:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.847Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":60} -2025-08-23T00:59:31.848Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.851Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:79:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.854Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":null} -2025-08-23T00:59:31.855Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.859Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:92:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.862Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:59:31.863Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.865Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:104:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.867Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:59:31.868Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.870Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:114:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.872Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:59:31.873Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.877Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:126:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.880Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T00:59:31.882Z | [ERROR] | Failed to connect to Redis | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.883Z | [ERROR] | Failed to initialize Redis connection | Meta:{"name":"Error","message":"Socket already opened","stack":"Error: Socket already opened\n at RedisSocket.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\socket.ts:204:13)\n at Class.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\@redis\\client\\lib\\client\\index.ts:850:30)\n at RedisService.connect (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\RedisService.ts:61:35)\n at WebSocketService.initializeRedis (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:101:37)\n at new WebSocketService (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\WebSocketService.ts:89:14)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\ChatConfiguration.test.ts:141:29)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1551:26)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:31.892Z | [STARTUP] | Redis client connected successfully -2025-08-23T00:59:31.921Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-009Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-009Z.log deleted file mode 100644 index 94903f44..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-009Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:32.009Z -# Max entries per file: 10000 - -2025-08-23T00:59:32.017Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:32.027Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:59:32.027Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:32.029Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:32.035Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:59:32.042Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:59:32.043Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:32.054Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-294Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-294Z.log deleted file mode 100644 index 8d43cf0c..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-294Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:32.294Z -# Max entries per file: 10000 - -2025-08-23T00:59:32.296Z | [AUTH] | Authentication successful | ReqId:cab4p535c | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:59:32.306Z | [AUTH] | Authentication failed - No valid token | ReqId:te3uhv9fn | IP:unknown | UA:unknown | Meta:{"userAgent":"unknown"} -2025-08-23T00:59:32.308Z | [AUTH] | Authentication successful | ReqId:jgprv68yw | IP:unknown | UA:unknown | Meta:{"userId":"user-123","authLevel":0,"orgId":"org-123"} -2025-08-23T00:59:32.310Z | [AUTH] | Token refreshed | ReqId:72t3xyd96 | IP:unknown | UA:unknown | Meta:{"userId":"user-123"} -2025-08-23T00:59:32.313Z | [AUTH] | Admin authentication successful | ReqId:0ra8twgxj | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:59:32.315Z | [WARNING] | Admin access denied | ReqId:phl0ykyrj | IP:unknown | UA:unknown | Meta:{"hasPayload":false} -2025-08-23T00:59:32.324Z | [WARNING] | Admin access denied | ReqId:bh3ptk5rc | IP:unknown | UA:unknown | Meta:{"hasPayload":true,"authLevel":0,"userId":"user-123"} -2025-08-23T00:59:32.330Z | [AUTH] | Admin authentication successful | ReqId:8igdq11aq | IP:unknown | UA:unknown | Meta:{"userId":"admin-123","authLevel":1,"orgId":"org-123"} -2025-08-23T00:59:32.331Z | [AUTH] | Admin token refreshed | ReqId:9wllhhzww | IP:unknown | UA:unknown | Meta:{"userId":"admin-123"} -2025-08-23T00:59:32.345Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-334Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-334Z.log deleted file mode 100644 index efeeab85..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-334Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:32.334Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-358Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-358Z.log deleted file mode 100644 index c8acd3d2..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-358Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:32.358Z -# Max entries per file: 10000 - -2025-08-23T00:59:32.378Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-417Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-417Z.log deleted file mode 100644 index a2b45c9f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-417Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:32.417Z -# Max entries per file: 10000 - -2025-08-23T00:59:32.432Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-561Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-561Z.log deleted file mode 100644 index 07a8646d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-561Z.log +++ /dev/null @@ -1,12 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:32.561Z -# Max entries per file: 10000 - -2025-08-23T00:59:32.565Z | [AUTH] | Test auth message | Meta:{"userId":"user123","action":"login"} -2025-08-23T00:59:32.574Z | [ERROR] | Test error occurred | Meta:{"name":"Error","message":"Test error message","stack":"Error: Test error message\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\LoggingService.test.ts:50:25)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:32.597Z | [DATABASE] | Query executed | Meta:{"query":"SELECT * FROM users","executionTime":45} -2025-08-23T00:59:32.598Z | [STARTUP] | Application started | Meta:{"version":"1.0.0"} -2025-08-23T00:59:32.599Z | [STARTUP] | Test message -2025-08-23T00:59:32.600Z | [AUTH] | Test with metadata | Meta:{"userId":"123","action":"test"} -2025-08-23T00:59:32.603Z | [STARTUP] | Test for directory creation -2025-08-23T00:59:32.638Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-574Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-574Z.log deleted file mode 100644 index 4ad8572e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-574Z.log +++ /dev/null @@ -1,9 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:32.574Z -# Max entries per file: 10000 - -2025-08-23T00:59:32.585Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:47:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:32.597Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Password must be a non-empty string","stack":"Error: Password must be a non-empty string\n at Function.hashPassword (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Application\\Services\\PasswordService.ts:15:15)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:56:36)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:32.598Z | [ERROR] | PasswordService.hashPassword error | Meta:{"name":"Error","message":"Bcrypt error","stack":"Error: Bcrypt error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:63:40)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:32.601Z | [ERROR] | PasswordService.verifyPassword error | Meta:{"name":"Error","message":"Bcrypt compare error","stack":"Error: Bcrypt compare error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\Services\\PasswordService.test.ts:146:43)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:32.617Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-582Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-582Z.log deleted file mode 100644 index 59a3a8ba..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-32-582Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:32.582Z -# Max entries per file: 10000 - -2025-08-23T00:59:32.618Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-376Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-376Z.log deleted file mode 100644 index 1b35e930..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-376Z.log +++ /dev/null @@ -1,11 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:54.376Z -# Max entries per file: 10000 - -2025-08-23T00:59:54.406Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:54.459Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"admin-123","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T00:59:54.459Z","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:54.466Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:54.473Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:59:54.490Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Initial Name","deckType":1,"cardCount":0} -2025-08-23T00:59:54.492Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"deck-123","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:54.528Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-380Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-380Z.log deleted file mode 100644 index 4019152e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-380Z.log +++ /dev/null @@ -1,8 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:54.380Z -# Max entries per file: 10000 - -2025-08-23T00:59:54.433Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:59:54.473Z | [REQUEST] | Contact hard deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"hard"} -2025-08-23T00:59:54.478Z | [REQUEST] | Contact soft deleted | Meta:{"contactId":"550e8400-e29b-41d4-a716-446655440000","contactEmail":"john.doe@example.com","deleteType":"soft"} -2025-08-23T00:59:54.522Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-400Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-400Z.log deleted file mode 100644 index 6381227a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-400Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:54.400Z -# Max entries per file: 10000 - -2025-08-23T00:59:54.428Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":1} -2025-08-23T00:59:54.484Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"admin-123","deckName":"Admin Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:54.491Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Question Deck","deckType":2,"cardCount":0} -2025-08-23T00:59:54.494Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Empty Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:54.496Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"123e4567-e89b-12d3-a456-426614174002","userId":"user-123","deckName":"Test Deck","deckType":1,"cardCount":0} -2025-08-23T00:59:54.535Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-411Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-411Z.log deleted file mode 100644 index 6d55a594..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-411Z.log +++ /dev/null @@ -1,30 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:54.411Z -# Max entries per file: 10000 - -2025-08-23T00:59:55.603Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:59:55.642Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:59:55.653Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"duplicate key value violates unique constraint","stack":"Error: duplicate key value violates unique constraint\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:82:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:55.660Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"unique constraint violation","stack":"Error: unique constraint violation\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:100:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:55.665Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Database error","stack":"Error: Database error\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\tests\\Application\\User\\commands\\UserCommandHandlers.comprehensive.test.ts:119:51)\n at Promise.finally.completed (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1559:28)\n at new Promise ()\n at callAsyncCircusFn (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1499:10)\n at _callCircusTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1009:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:949:3)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:839:13)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at _runTestsForDescribeBlock (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:829:11)\n at run (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:757:3)\n at runAndTransformResultsToJestFormat (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1920:21)\n at jestAdapter (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-circus\\build\\runner.js:101:19)\n at runTestInternal (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:277:16)\n at runTest (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:345:7)\n at Object.worker (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\jest-runner\\build\\testWorker.js:499:12)"} -2025-08-23T00:59:55.672Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:59:55.674Z | [DATABASE] | User lookup completed | Meta:{"executionTime":2,"found":true,"searchBy":"username"} -2025-08-23T00:59:55.675Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:59:55.676Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":4} -2025-08-23T00:59:55.678Z | [AUTH] | Login attempt | Meta:{"username":"nonexistent"} -2025-08-23T00:59:55.679Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:59:55.679Z | [AUTH] | Login failed - User not found | Meta:{"username":"nonexistent"} -2025-08-23T00:59:55.683Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:59:55.684Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:59:55.685Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":false,"verificationTime":0} -2025-08-23T00:59:55.686Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","username":"testuser"} -2025-08-23T00:59:55.689Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:59:55.690Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":true,"searchBy":"username"} -2025-08-23T00:59:55.690Z | [AUTH] | Password verification completed | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","valid":true,"verificationTime":0} -2025-08-23T00:59:55.691Z | [AUTH] | Login successful | Meta:{"userId":"123e4567-e89b-12d3-a456-426614174000","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":2} -2025-08-23T00:59:56.807Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Invalid login: 535 5.7.8 Sorry.","stack":"Error: Invalid login: 535 5.7.8 Sorry.\n at SMTPConnection._formatError (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:809:19)\n at SMTPConnection._actionAUTHComplete (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:1588:34)\n at SMTPConnection. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:556:26)\n at SMTPConnection._processResponse (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:993:20)\n at SMTPConnection._onData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:774:14)\n at TLSSocket.SMTPConnection._onSocketData (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\nodemailer\\lib\\smtp-connection\\index.js:195:44)\n at TLSSocket.emit (node:events:519:28)\n at addChunk (node:internal/streams/readable:561:12)\n at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n at TLSSocket.Readable.push (node:internal/streams/readable:392:5)\n at TLSWrap.onStreamRead (node:internal/stream_base_commons:189:23)"} -2025-08-23T00:59:56.809Z | [WARNING] | Failed to send verification email | Meta:{"email":"test@example.com","userId":"123e4567-e89b-12d3-a456-426614174000"} -2025-08-23T00:59:56.810Z | [AUTH] | Login attempt | Meta:{"username":"testuser"} -2025-08-23T00:59:56.811Z | [DATABASE] | User lookup completed | Meta:{"executionTime":1,"found":false,"searchBy":"username"} -2025-08-23T00:59:56.812Z | [AUTH] | Login failed - User not found | Meta:{"username":"testuser"} -2025-08-23T00:59:56.822Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-419Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-419Z.log deleted file mode 100644 index 50dc6b2b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-419Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:54.419Z -# Max entries per file: 10000 - -2025-08-23T00:59:54.513Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-447Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-447Z.log deleted file mode 100644 index b565eb82..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T00-59-54-447Z.log +++ /dev/null @@ -1,5 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T00:59:54.447Z -# Max entries per file: 10000 - -2025-08-23T00:59:54.544Z | [STARTUP] | Logging service shutting down gracefully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-01-04-444Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-01-04-444Z.log deleted file mode 100644 index dc0d55ef..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-01-04-444Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T01:01:04.444Z -# Max entries per file: 10000 - -2025-08-23T01:01:12.318Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T01:01:12.333Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T01:01:12.333Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T01:01:13.468Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T01:01:13.494Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T01:01:13.496Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T01:01:13.498Z | [STARTUP] | Redis client connected successfully -2025-08-23T01:01:15.430Z | [REQUEST] | Incoming request | ReqId:gb3zxum1u | IP:::ffff:172.19.0.1 | GET /api-docs | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:01:15.432Z | [REQUEST] | GET /api-docs | ReqId:gb3zxum1u | IP:::ffff:172.19.0.1 | GET /api-docs | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:01:15.435Z | [REQUEST] | Request completed | ReqId:gb3zxum1u | IP:::ffff:172.19.0.1 | GET /api-docs | Status:301 | Time:5ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:01:15.440Z | [REQUEST] | Incoming request | ReqId:ljs5roqbv | IP:::ffff:172.19.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:01:15.442Z | [REQUEST] | GET /api-docs/ | ReqId:ljs5roqbv | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:01:15.445Z | [REQUEST] | Request completed | ReqId:ljs5roqbv | IP:::ffff:172.19.0.1 | GET /api-docs/ | Status:200 | Time:5ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:01:18.900Z | [REQUEST] | Incoming request | ReqId:zjweom4s4 | IP:::ffff:172.19.0.1 | GET /api-docs?id=915355e5-6483-4638-94be-6bd09919dfab&vscodeBrowserReqId=1755910878892 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T01:01:18.902Z | [REQUEST] | GET /api-docs | ReqId:zjweom4s4 | IP:::ffff:172.19.0.1 | GET /api-docs?id=915355e5-6483-4638-94be-6bd09919dfab&vscodeBrowserReqId=1755910878892 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T01:01:18.904Z | [REQUEST] | Request completed | ReqId:zjweom4s4 | IP:::ffff:172.19.0.1 | GET /api-docs?id=915355e5-6483-4638-94be-6bd09919dfab&vscodeBrowserReqId=1755910878892 | Status:301 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T01:01:18.911Z | [REQUEST] | Incoming request | ReqId:21bp9jwv0 | IP:::ffff:172.19.0.1 | GET /api-docs/?id=915355e5-6483-4638-94be-6bd09919dfab&vscodeBrowserReqId=1755910878892 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T01:01:18.913Z | [REQUEST] | GET /api-docs/ | ReqId:21bp9jwv0 | IP:::ffff:172.19.0.1 | GET /api-docs/?id=915355e5-6483-4638-94be-6bd09919dfab&vscodeBrowserReqId=1755910878892 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T01:01:18.915Z | [REQUEST] | Request completed | ReqId:21bp9jwv0 | IP:::ffff:172.19.0.1 | GET /api-docs/?id=915355e5-6483-4638-94be-6bd09919dfab&vscodeBrowserReqId=1755910878892 | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-08-23T01:18:57.551Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T01:18:57.553Z | [STARTUP] | HTTP server closed -2025-08-23T01:18:57.555Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-20-24-151Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-20-24-151Z.log deleted file mode 100644 index f4456498..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-20-24-151Z.log +++ /dev/null @@ -1,175 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T01:20:24.151Z -# Max entries per file: 10000 - -2025-08-23T01:20:33.131Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T01:20:33.146Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T01:20:33.146Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T01:20:34.395Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T01:20:34.417Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T01:20:34.419Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T01:20:34.428Z | [REQUEST] | Incoming request | ReqId:kdpa3nb6m | IP:::ffff:172.20.0.1 | GET / | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:34.430Z | [REQUEST] | GET / | ReqId:kdpa3nb6m | IP:::ffff:172.20.0.1 | GET / | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:34.433Z | [REQUEST] | Request completed | ReqId:kdpa3nb6m | IP:::ffff:172.20.0.1 | GET / | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:34.436Z | [STARTUP] | Redis client connected successfully -2025-08-23T01:20:34.459Z | [REQUEST] | Incoming request | ReqId:whhgssqup | IP:::ffff:172.20.0.1 | GET /favicon.ico | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:34.461Z | [REQUEST] | GET /favicon.ico | ReqId:whhgssqup | IP:::ffff:172.20.0.1 | GET /favicon.ico | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:34.464Z | [REQUEST] | Request completed | ReqId:whhgssqup | IP:::ffff:172.20.0.1 | GET /favicon.ico | Status:404 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.399Z | [REQUEST] | Incoming request | ReqId:hvjlw7a2s | IP:::ffff:172.20.0.1 | GET /api-docs | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.400Z | [REQUEST] | GET /api-docs | ReqId:hvjlw7a2s | IP:::ffff:172.20.0.1 | GET /api-docs | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.403Z | [REQUEST] | Request completed | ReqId:hvjlw7a2s | IP:::ffff:172.20.0.1 | GET /api-docs | Status:301 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.409Z | [REQUEST] | Incoming request | ReqId:qmv6fin0p | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.411Z | [REQUEST] | GET /api-docs/ | ReqId:qmv6fin0p | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.414Z | [REQUEST] | Request completed | ReqId:qmv6fin0p | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.431Z | [REQUEST] | Incoming request | ReqId:2n01mnbug | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.434Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:2n01mnbug | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.469Z | [REQUEST] | Incoming request | ReqId:mv2epkxfb | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.470Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:mv2epkxfb | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.473Z | [REQUEST] | Incoming request | ReqId:7i1bf9m3s | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.475Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:7i1bf9m3s | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.478Z | [REQUEST] | Incoming request | ReqId:t4swj8liq | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.479Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:t4swj8liq | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.481Z | [REQUEST] | Request completed | ReqId:t4swj8liq | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.483Z | [REQUEST] | Request completed | ReqId:2n01mnbug | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | Time:52ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.489Z | [REQUEST] | Request completed | ReqId:7i1bf9m3s | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | Time:16ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:20:43.496Z | [REQUEST] | Request completed | ReqId:mv2epkxfb | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | Time:27ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:21:27.206Z | [REQUEST] | Incoming request | ReqId:8xphejt55 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:21:27.208Z | [REQUEST] | POST /api/users/login | ReqId:8xphejt55 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:21:27.210Z | [REQUEST] | Login endpoint accessed | ReqId:8xphejt55 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin_user"} -2025-08-23T01:21:27.212Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:21:27.245Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":31,"found":true,"username":"admin_user"} -2025-08-23T01:21:27.246Z | [DATABASE] | User lookup completed | Meta:{"executionTime":34,"found":true,"searchBy":"username"} -2025-08-23T01:21:27.286Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":false,"verificationTime":38} -2025-08-23T01:21:27.288Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:21:27.290Z | [REQUEST] | Request completed | ReqId:8xphejt55 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:84ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:22:40.086Z | [REQUEST] | Incoming request | ReqId:9jb25u47l | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:22:40.088Z | [REQUEST] | POST /api/users/login | ReqId:9jb25u47l | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:22:40.090Z | [REQUEST] | Login endpoint accessed | ReqId:9jb25u47l | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin_user"} -2025-08-23T01:22:40.091Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:22:40.103Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":10,"found":true,"username":"admin_user"} -2025-08-23T01:22:40.105Z | [DATABASE] | User lookup completed | Meta:{"executionTime":14,"found":true,"searchBy":"username"} -2025-08-23T01:22:40.144Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":false,"verificationTime":38} -2025-08-23T01:22:40.146Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:22:40.148Z | [REQUEST] | Request completed | ReqId:9jb25u47l | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:62ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:22:54.821Z | [REQUEST] | Incoming request | ReqId:rs2jz6lx1 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:22:54.823Z | [REQUEST] | POST /api/users/login | ReqId:rs2jz6lx1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:22:54.825Z | [REQUEST] | Login endpoint accessed | ReqId:rs2jz6lx1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"john_doe"} -2025-08-23T01:22:54.826Z | [AUTH] | Login attempt | Meta:{"username":"john_doe"} -2025-08-23T01:22:54.838Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: john_doe })","executionTime":10,"found":true,"username":"john_doe"} -2025-08-23T01:22:54.840Z | [DATABASE] | User lookup completed | Meta:{"executionTime":14,"found":true,"searchBy":"username"} -2025-08-23T01:22:54.881Z | [AUTH] | Password verification completed | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","valid":false,"verificationTime":39} -2025-08-23T01:22:54.883Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","username":"john_doe"} -2025-08-23T01:22:54.885Z | [REQUEST] | Request completed | ReqId:rs2jz6lx1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:64ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:08.951Z | [REQUEST] | Incoming request | ReqId:7sbpwbxg2 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:08.953Z | [REQUEST] | POST /api/users/login | ReqId:7sbpwbxg2 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:08.955Z | [REQUEST] | Login endpoint accessed | ReqId:7sbpwbxg2 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin@serpentrace.com"} -2025-08-23T01:23:08.957Z | [AUTH] | Login attempt | Meta:{"username":"admin@serpentrace.com"} -2025-08-23T01:23:08.967Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin@serpentrace.com })","executionTime":9,"found":false,"username":"admin@serpentrace.com"} -2025-08-23T01:23:08.972Z | [DATABASE] | User findByEmail query completed | Meta:{"query":"findOneBy({ email: admin@serpentrace.com })","executionTime":3,"found":true,"email":"admin@serpentrace.com"} -2025-08-23T01:23:08.973Z | [DATABASE] | User lookup completed | Meta:{"executionTime":16,"found":true,"searchBy":"email"} -2025-08-23T01:23:09.013Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":false,"verificationTime":37} -2025-08-23T01:23:09.014Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin@serpentrace.com"} -2025-08-23T01:23:09.016Z | [REQUEST] | Request completed | ReqId:7sbpwbxg2 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:65ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:26.022Z | [REQUEST] | Incoming request | ReqId:ya086l23i | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:26.025Z | [REQUEST] | POST /api/users/login | ReqId:ya086l23i | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:26.027Z | [REQUEST] | Login endpoint accessed | ReqId:ya086l23i | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin_user"} -2025-08-23T01:23:26.029Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:23:26.042Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":11,"found":true,"username":"admin_user"} -2025-08-23T01:23:26.043Z | [DATABASE] | User lookup completed | Meta:{"executionTime":14,"found":true,"searchBy":"username"} -2025-08-23T01:23:26.083Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":false,"verificationTime":38} -2025-08-23T01:23:26.085Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:23:26.087Z | [REQUEST] | Request completed | ReqId:ya086l23i | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:65ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:30.900Z | [REQUEST] | Incoming request | ReqId:gya30duh1 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:30.902Z | [REQUEST] | POST /api/users/login | ReqId:gya30duh1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:30.904Z | [REQUEST] | Login endpoint accessed | ReqId:gya30duh1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin_user"} -2025-08-23T01:23:30.905Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:23:30.909Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":3,"found":true,"username":"admin_user"} -2025-08-23T01:23:30.911Z | [DATABASE] | User lookup completed | Meta:{"executionTime":6,"found":true,"searchBy":"username"} -2025-08-23T01:23:30.957Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":false,"verificationTime":45} -2025-08-23T01:23:30.959Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:23:30.961Z | [REQUEST] | Request completed | ReqId:gya30duh1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:61ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:37.972Z | [REQUEST] | Incoming request | ReqId:f2rgchl05 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:37.974Z | [REQUEST] | POST /api/users/login | ReqId:f2rgchl05 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:23:37.975Z | [REQUEST] | Login endpoint accessed | ReqId:f2rgchl05 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin_user"} -2025-08-23T01:23:37.977Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:23:37.980Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":2,"found":true,"username":"admin_user"} -2025-08-23T01:23:37.981Z | [DATABASE] | User lookup completed | Meta:{"executionTime":4,"found":true,"searchBy":"username"} -2025-08-23T01:23:38.021Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":false,"verificationTime":38} -2025-08-23T01:23:38.023Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:23:38.025Z | [REQUEST] | Request completed | ReqId:f2rgchl05 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:53ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:25:52.116Z | [REQUEST] | Incoming request | ReqId:61wn5xkpc | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:25:52.118Z | [REQUEST] | POST /api/users/create | ReqId:61wn5xkpc | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:25:52.120Z | [REQUEST] | Create user endpoint accessed | ReqId:61wn5xkpc | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"Test","email":"user@example.com"} -2025-08-23T01:25:52.127Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Password validation failed: Password must contain at least one uppercase letter","stack":"Error: Password validation failed: Password must contain at least one uppercase letter\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:23:15)\n at /app/src/Api/routers/userRouter.ts:77:59\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at runNext (/app/src/Application/Services/ValidationMiddleware.ts:300:28)\n at /app/src/Application/Services/ValidationMiddleware.ts:310:25\n at /app/src/Application/Services/ValidationMiddleware.ts:108:13\n at runNext (/app/src/Application/Services/ValidationMiddleware.ts:306:21)\n at /app/src/Application/Services/ValidationMiddleware.ts:310:25\n at /app/src/Application/Services/ValidationMiddleware.ts:141:13"} -2025-08-23T01:25:52.129Z | [ERROR] | Create user endpoint error | ReqId:61wn5xkpc | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"name":"Error","message":"Password validation failed: Password must contain at least one uppercase letter","stack":"Error: Password validation failed: Password must contain at least one uppercase letter\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:23:15)\n at /app/src/Api/routers/userRouter.ts:77:59\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at runNext (/app/src/Application/Services/ValidationMiddleware.ts:300:28)\n at /app/src/Application/Services/ValidationMiddleware.ts:310:25\n at /app/src/Application/Services/ValidationMiddleware.ts:108:13\n at runNext (/app/src/Application/Services/ValidationMiddleware.ts:306:21)\n at /app/src/Application/Services/ValidationMiddleware.ts:310:25\n at /app/src/Application/Services/ValidationMiddleware.ts:141:13"} -2025-08-23T01:25:52.131Z | [REQUEST] | Request completed | ReqId:61wn5xkpc | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:400 | Time:15ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:26:04.753Z | [REQUEST] | Incoming request | ReqId:b7lqkkezr | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:26:04.755Z | [REQUEST] | POST /api/users/create | ReqId:b7lqkkezr | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:26:04.758Z | [REQUEST] | Create user endpoint accessed | ReqId:b7lqkkezr | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"Test","email":"user@example.com"} -2025-08-23T01:26:04.932Z | [DATABASE] | User created successfully | Meta:{"executionTime":19,"userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","username":"Test","email":"user@example.com"} -2025-08-23T01:26:05.377Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Missing credentials for \"PLAIN\"","stack":"Error: Missing credentials for \"PLAIN\"\n at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:809:19)\n at SMTPConnection.login (/app/node_modules/nodemailer/lib/smtp-connection/index.js:454:38)\n at /app/node_modules/nodemailer/lib/smtp-transport/index.js:272:32\n at SMTPConnection. (/app/node_modules/nodemailer/lib/smtp-connection/index.js:215:17)\n at Object.onceWrapper (node:events:638:28)\n at SMTPConnection.emit (node:events:524:28)\n at SMTPConnection.emit (node:domain:489:12)\n at SMTPConnection._actionEHLO (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1371:14)\n at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:993:20)\n at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:774:14)"} -2025-08-23T01:26:05.379Z | [WARNING] | Failed to send verification email | Meta:{"email":"user@example.com","userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab"} -2025-08-23T01:26:05.380Z | [REQUEST] | User created successfully | ReqId:b7lqkkezr | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","username":"Test"} -2025-08-23T01:26:05.382Z | [REQUEST] | Request completed | ReqId:b7lqkkezr | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:201 | Time:629ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:26:16.633Z | [REQUEST] | Incoming request | ReqId:unentv6ov | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:26:16.635Z | [REQUEST] | POST /api/users/login | ReqId:unentv6ov | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:26:16.637Z | [REQUEST] | Login endpoint accessed | ReqId:unentv6ov | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"Test"} -2025-08-23T01:26:16.640Z | [AUTH] | Login attempt | Meta:{"username":"Test"} -2025-08-23T01:26:16.652Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: Test })","executionTime":11,"found":true,"username":"Test"} -2025-08-23T01:26:16.653Z | [DATABASE] | User lookup completed | Meta:{"executionTime":13,"found":true,"searchBy":"username"} -2025-08-23T01:26:16.814Z | [AUTH] | Password verification completed | Meta:{"userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","valid":true,"verificationTime":159} -2025-08-23T01:26:16.818Z | [AUTH] | Login successful | Meta:{"userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":178} -2025-08-23T01:26:16.820Z | [AUTH] | User login successful | ReqId:unentv6ov | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","username":"Test"} -2025-08-23T01:26:16.822Z | [REQUEST] | Request completed | ReqId:unentv6ov | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:189ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:31:57.171Z | [REQUEST] | Incoming request | ReqId:o1ou920un | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:31:57.173Z | [REQUEST] | POST /api/users/login | ReqId:o1ou920un | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:31:57.174Z | [REQUEST] | Login endpoint accessed | ReqId:o1ou920un | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"new_user"} -2025-08-23T01:31:57.177Z | [AUTH] | Login attempt | Meta:{"username":"new_user"} -2025-08-23T01:31:57.190Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: new_user })","executionTime":11,"found":true,"username":"new_user"} -2025-08-23T01:31:57.192Z | [DATABASE] | User lookup completed | Meta:{"executionTime":15,"found":true,"searchBy":"username"} -2025-08-23T01:31:57.231Z | [AUTH] | Password verification completed | Meta:{"userId":"eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee","valid":false,"verificationTime":38} -2025-08-23T01:31:57.233Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee","username":"new_user"} -2025-08-23T01:31:57.235Z | [REQUEST] | Request completed | ReqId:o1ou920un | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:64ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:32:13.743Z | [REQUEST] | Incoming request | ReqId:voix1xwg6 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:32:13.745Z | [REQUEST] | POST /api/users/login | ReqId:voix1xwg6 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:32:13.747Z | [REQUEST] | Login endpoint accessed | ReqId:voix1xwg6 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"john_doe"} -2025-08-23T01:32:13.749Z | [AUTH] | Login attempt | Meta:{"username":"john_doe"} -2025-08-23T01:32:13.763Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: john_doe })","executionTime":11,"found":true,"username":"john_doe"} -2025-08-23T01:32:13.765Z | [DATABASE] | User lookup completed | Meta:{"executionTime":16,"found":true,"searchBy":"username"} -2025-08-23T01:32:13.812Z | [AUTH] | Password verification completed | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","valid":false,"verificationTime":45} -2025-08-23T01:32:13.815Z | [WARNING] | Login failed - Invalid password | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","username":"john_doe"} -2025-08-23T01:32:13.818Z | [REQUEST] | Request completed | ReqId:voix1xwg6 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:75ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:34:10.808Z | [REQUEST] | Incoming request | ReqId:auhzerg6d | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:34:10.810Z | [REQUEST] | POST /api/users/login | ReqId:auhzerg6d | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:34:10.812Z | [REQUEST] | Login endpoint accessed | ReqId:auhzerg6d | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"Test"} -2025-08-23T01:34:10.814Z | [AUTH] | Login attempt | Meta:{"username":"Test"} -2025-08-23T01:34:10.824Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: Test })","executionTime":9,"found":true,"username":"Test"} -2025-08-23T01:34:10.826Z | [DATABASE] | User lookup completed | Meta:{"executionTime":12,"found":true,"searchBy":"username"} -2025-08-23T01:34:10.978Z | [AUTH] | Password verification completed | Meta:{"userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","valid":true,"verificationTime":150} -2025-08-23T01:34:10.981Z | [AUTH] | Login successful | Meta:{"userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":167} -2025-08-23T01:34:10.982Z | [AUTH] | User login successful | ReqId:auhzerg6d | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","username":"Test"} -2025-08-23T01:34:10.984Z | [REQUEST] | Request completed | ReqId:auhzerg6d | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:176ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:34:35.427Z | [REQUEST] | Incoming request | ReqId:q8sh1n0l0 | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:34:35.429Z | [REQUEST] | GET /api/users/profile | ReqId:q8sh1n0l0 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:34:35.431Z | [AUTH] | Authentication failed - No valid token | ReqId:q8sh1n0l0 | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"ip":"::ffff:172.20.0.1","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","path":"/profile"} -2025-08-23T01:34:35.433Z | [REQUEST] | Request completed | ReqId:q8sh1n0l0 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:401 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:34:49.090Z | [REQUEST] | Incoming request | ReqId:picbti2ll | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:34:49.092Z | [REQUEST] | GET /api/users/profile | ReqId:picbti2ll | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:34:49.094Z | [AUTH] | Authentication failed - No valid token | ReqId:picbti2ll | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"ip":"::ffff:172.20.0.1","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","path":"/profile"} -2025-08-23T01:34:49.096Z | [REQUEST] | Request completed | ReqId:picbti2ll | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:401 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:35:07.710Z | [REQUEST] | Incoming request | ReqId:5wzbr0ggx | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:35:07.712Z | [REQUEST] | GET /api/organizations/page/1/2 | ReqId:5wzbr0ggx | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:35:07.716Z | [AUTH] | Authentication failed - No valid token | ReqId:5wzbr0ggx | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"ip":"::ffff:172.20.0.1","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","path":"/page/1/2"} -2025-08-23T01:35:07.719Z | [REQUEST] | Request completed | ReqId:5wzbr0ggx | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | Status:401 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:36:57.451Z | [REQUEST] | Incoming request | ReqId:inq9iaa2o | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:36:57.453Z | [REQUEST] | POST /api/users/login | ReqId:inq9iaa2o | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:36:57.455Z | [REQUEST] | Login endpoint accessed | ReqId:inq9iaa2o | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"new_user"} -2025-08-23T01:36:57.456Z | [AUTH] | Login attempt | Meta:{"username":"new_user"} -2025-08-23T01:36:57.470Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: new_user })","executionTime":12,"found":true,"username":"new_user"} -2025-08-23T01:36:57.472Z | [DATABASE] | User lookup completed | Meta:{"executionTime":16,"found":true,"searchBy":"username"} -2025-08-23T01:36:57.512Z | [AUTH] | Password verification completed | Meta:{"userId":"eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee","valid":true,"verificationTime":38} -2025-08-23T01:36:57.515Z | [AUTH] | Login successful | Meta:{"userId":"eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee","authLevel":0,"userStatus":0,"orgId":"","requiresOrgReauth":false,"totalLoginTime":59} -2025-08-23T01:36:57.516Z | [AUTH] | User login successful | ReqId:inq9iaa2o | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"userId":"eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee","username":"new_user"} -2025-08-23T01:36:57.518Z | [REQUEST] | Request completed | ReqId:inq9iaa2o | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:67ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:37:14.308Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T01:37:14.310Z | [STARTUP] | HTTP server closed -2025-08-23T01:37:14.312Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-37-19-593Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-37-19-593Z.log deleted file mode 100644 index f0943d9f..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-37-19-593Z.log +++ /dev/null @@ -1,130 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T01:37:19.593Z -# Max entries per file: 10000 - -2025-08-23T01:37:28.411Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T01:37:28.422Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T01:37:28.422Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T01:37:29.599Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T01:37:29.619Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T01:37:29.621Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T01:37:29.626Z | [STARTUP] | Redis client connected successfully -2025-08-23T01:37:31.292Z | [REQUEST] | Incoming request | ReqId:qoplgf49n | IP:::ffff:172.20.0.1 | GET / | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:31.295Z | [REQUEST] | GET / | ReqId:qoplgf49n | IP:::ffff:172.20.0.1 | GET / | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:31.298Z | [REQUEST] | Request completed | ReqId:qoplgf49n | IP:::ffff:172.20.0.1 | GET / | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:31.320Z | [REQUEST] | Incoming request | ReqId:hot9iyt5y | IP:::ffff:172.20.0.1 | GET /favicon.ico | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:31.323Z | [REQUEST] | GET /favicon.ico | ReqId:hot9iyt5y | IP:::ffff:172.20.0.1 | GET /favicon.ico | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:31.325Z | [REQUEST] | Request completed | ReqId:hot9iyt5y | IP:::ffff:172.20.0.1 | GET /favicon.ico | Status:404 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:38.026Z | [REQUEST] | Incoming request | ReqId:da6mp66er | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:37:38.028Z | [REQUEST] | POST /api/users/login | ReqId:da6mp66er | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:37:38.030Z | [REQUEST] | Login endpoint accessed | ReqId:da6mp66er | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"new_user"} -2025-08-23T01:37:38.032Z | [AUTH] | Login attempt | Meta:{"username":"new_user"} -2025-08-23T01:37:38.041Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: new_user })","executionTime":8,"found":true,"username":"new_user"} -2025-08-23T01:37:38.043Z | [DATABASE] | User lookup completed | Meta:{"executionTime":12,"found":true,"searchBy":"username"} -2025-08-23T01:37:38.045Z | [AUTH] | Login failed - Account state restriction | Meta:{"userId":"eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee","username":"new_user","userState":0,"stateDescription":"Email not verified"} -2025-08-23T01:37:38.046Z | [REQUEST] | Request completed | ReqId:da6mp66er | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:20ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:37:39.002Z | [REQUEST] | Incoming request | ReqId:pv016pj7l | IP:::ffff:172.20.0.1 | GET /api-docs | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.004Z | [REQUEST] | GET /api-docs | ReqId:pv016pj7l | IP:::ffff:172.20.0.1 | GET /api-docs | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.007Z | [REQUEST] | Request completed | ReqId:pv016pj7l | IP:::ffff:172.20.0.1 | GET /api-docs | Status:301 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.013Z | [REQUEST] | Incoming request | ReqId:0vn9g1c4d | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.015Z | [REQUEST] | GET /api-docs/ | ReqId:0vn9g1c4d | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.018Z | [REQUEST] | Request completed | ReqId:0vn9g1c4d | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.040Z | [REQUEST] | Incoming request | ReqId:hymukcniw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.042Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:hymukcniw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.045Z | [REQUEST] | Request completed | ReqId:hymukcniw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.047Z | [REQUEST] | Incoming request | ReqId:44qxwp7gl | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.049Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:44qxwp7gl | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.053Z | [REQUEST] | Request completed | ReqId:44qxwp7gl | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.056Z | [REQUEST] | Incoming request | ReqId:4q80ved29 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.058Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:4q80ved29 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.061Z | [REQUEST] | Request completed | ReqId:4q80ved29 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.064Z | [REQUEST] | Incoming request | ReqId:cn9ir2juw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.068Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:cn9ir2juw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:39.073Z | [REQUEST] | Request completed | ReqId:cn9ir2juw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:37:51.435Z | [REQUEST] | Incoming request | ReqId:chkjdiq4d | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:37:51.438Z | [REQUEST] | POST /api/users/login | ReqId:chkjdiq4d | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:37:51.440Z | [REQUEST] | Login endpoint accessed | ReqId:chkjdiq4d | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"john_doe"} -2025-08-23T01:37:51.441Z | [AUTH] | Login attempt | Meta:{"username":"john_doe"} -2025-08-23T01:37:51.457Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: john_doe })","executionTime":14,"found":true,"username":"john_doe"} -2025-08-23T01:37:51.459Z | [DATABASE] | User lookup completed | Meta:{"executionTime":18,"found":true,"searchBy":"username"} -2025-08-23T01:37:51.500Z | [AUTH] | Password verification completed | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","valid":true,"verificationTime":39} -2025-08-23T01:37:51.504Z | [AUTH] | Login successful | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":63} -2025-08-23T01:37:51.506Z | [AUTH] | User login successful | ReqId:chkjdiq4d | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","username":"john_doe"} -2025-08-23T01:37:51.508Z | [REQUEST] | Request completed | ReqId:chkjdiq4d | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:73ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:37:57.435Z | [REQUEST] | Incoming request | ReqId:nm06t20fc | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:37:57.437Z | [REQUEST] | POST /api/users/login | ReqId:nm06t20fc | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:37:57.439Z | [REQUEST] | Login endpoint accessed | ReqId:nm06t20fc | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"jane_premium"} -2025-08-23T01:37:57.441Z | [AUTH] | Login attempt | Meta:{"username":"jane_premium"} -2025-08-23T01:37:57.444Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: jane_premium })","executionTime":2,"found":true,"username":"jane_premium"} -2025-08-23T01:37:57.446Z | [DATABASE] | User lookup completed | Meta:{"executionTime":5,"found":true,"searchBy":"username"} -2025-08-23T01:37:57.485Z | [AUTH] | Password verification completed | Meta:{"userId":"bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb","valid":true,"verificationTime":37} -2025-08-23T01:37:57.499Z | [AUTH] | User requires organization reauthentication | Meta:{"userId":"bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb","organizationId":"11111111-1111-1111-1111-111111111111","organizationName":"Tech Solutions Inc","lastOrgLogin":"2024-01-25T12:30:00.000Z","orgLoginUrl":"https://techsolutions.com"} -2025-08-23T01:37:57.500Z | [AUTH] | Login successful | Meta:{"userId":"bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb","authLevel":0,"userStatus":2,"orgId":"11111111-1111-1111-1111-111111111111","requiresOrgReauth":true,"organizationName":"Tech Solutions Inc","totalLoginTime":59} -2025-08-23T01:37:57.502Z | [AUTH] | User login successful | ReqId:nm06t20fc | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"userId":"bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb","username":"jane_premium"} -2025-08-23T01:37:57.503Z | [REQUEST] | Request completed | ReqId:nm06t20fc | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:68ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:38:08.454Z | [REQUEST] | Incoming request | ReqId:ppk1kj8f2 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:38:08.456Z | [REQUEST] | POST /api/users/login | ReqId:ppk1kj8f2 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:38:08.457Z | [REQUEST] | Login endpoint accessed | ReqId:ppk1kj8f2 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin_user"} -2025-08-23T01:38:08.459Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:38:08.469Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":9,"found":true,"username":"admin_user"} -2025-08-23T01:38:08.471Z | [DATABASE] | User lookup completed | Meta:{"executionTime":12,"found":true,"searchBy":"username"} -2025-08-23T01:38:08.510Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":true,"verificationTime":38} -2025-08-23T01:38:08.512Z | [AUTH] | Login successful | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":53} -2025-08-23T01:38:08.514Z | [AUTH] | User login successful | ReqId:ppk1kj8f2 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:38:08.516Z | [REQUEST] | Request completed | ReqId:ppk1kj8f2 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:62ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:38:37.872Z | [REQUEST] | Incoming request | ReqId:cyozfueis | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:38:37.874Z | [REQUEST] | GET /api/organizations/page/1/2 | ReqId:cyozfueis | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:38:37.877Z | [AUTH] | Authentication failed - No valid token | ReqId:cyozfueis | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"ip":"::ffff:172.20.0.1","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0","path":"/page/1/2"} -2025-08-23T01:38:37.879Z | [REQUEST] | Request completed | ReqId:cyozfueis | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | Status:401 | Time:7ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:39:30.061Z | [REQUEST] | Incoming request | ReqId:esgutrojv | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-08-23T01:39:30.064Z | [REQUEST] | POST /api/users/login | ReqId:esgutrojv | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-08-23T01:39:30.065Z | [WARNING] | Validation failed - missing required fields | ReqId:esgutrojv | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"missingFields":["username","password"],"endpoint":"/login"} -2025-08-23T01:39:30.067Z | [REQUEST] | Request completed | ReqId:esgutrojv | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:400 | Time:6ms | UA:PostmanRuntime/7.45.0 -2025-08-23T01:40:09.984Z | [REQUEST] | Incoming request | ReqId:fw6l898da | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-08-23T01:40:09.986Z | [REQUEST] | POST /api/users/login | ReqId:fw6l898da | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-08-23T01:40:09.988Z | [REQUEST] | Login endpoint accessed | ReqId:fw6l898da | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"admin_user"} -2025-08-23T01:40:09.989Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:40:10.001Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":9,"found":true,"username":"admin_user"} -2025-08-23T01:40:10.002Z | [DATABASE] | User lookup completed | Meta:{"executionTime":13,"found":true,"searchBy":"username"} -2025-08-23T01:40:10.041Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":true,"verificationTime":37} -2025-08-23T01:40:10.044Z | [AUTH] | Login successful | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":55} -2025-08-23T01:40:10.045Z | [AUTH] | User login successful | ReqId:fw6l898da | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:40:10.047Z | [REQUEST] | Request completed | ReqId:fw6l898da | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:63ms | UA:PostmanRuntime/7.45.0 -2025-08-23T01:40:48.682Z | [REQUEST] | Incoming request | ReqId:eks86w3my | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-08-23T01:40:48.685Z | [REQUEST] | POST /api/users/login | ReqId:eks86w3my | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-08-23T01:40:48.686Z | [REQUEST] | Login endpoint accessed | ReqId:eks86w3my | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"admin_user"} -2025-08-23T01:40:48.688Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:40:48.699Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":10,"found":true,"username":"admin_user"} -2025-08-23T01:40:48.701Z | [DATABASE] | User lookup completed | Meta:{"executionTime":13,"found":true,"searchBy":"username"} -2025-08-23T01:40:48.740Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":true,"verificationTime":38} -2025-08-23T01:40:48.743Z | [AUTH] | Login successful | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":55} -2025-08-23T01:40:48.745Z | [AUTH] | User login successful | ReqId:eks86w3my | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:40:48.747Z | [REQUEST] | Request completed | ReqId:eks86w3my | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:65ms | UA:PostmanRuntime/7.45.0 -2025-08-23T01:40:56.732Z | [REQUEST] | Incoming request | ReqId:ft3bxszae | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:40:56.734Z | [REQUEST] | POST /api/users/login | ReqId:ft3bxszae | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:40:56.737Z | [REQUEST] | Login endpoint accessed | ReqId:ft3bxszae | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"admin_user"} -2025-08-23T01:40:56.739Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:40:56.745Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":3,"found":true,"username":"admin_user"} -2025-08-23T01:40:56.746Z | [DATABASE] | User lookup completed | Meta:{"executionTime":7,"found":true,"searchBy":"username"} -2025-08-23T01:40:56.786Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":true,"verificationTime":38} -2025-08-23T01:40:56.789Z | [AUTH] | Login successful | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":50} -2025-08-23T01:40:56.790Z | [AUTH] | User login successful | ReqId:ft3bxszae | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:40:56.792Z | [REQUEST] | Request completed | ReqId:ft3bxszae | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:60ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:41:26.558Z | [REQUEST] | Incoming request | ReqId:eg8zyacs9 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:41:26.560Z | [REQUEST] | POST /api/users/login | ReqId:eg8zyacs9 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:41:26.562Z | [REQUEST] | Login endpoint accessed | ReqId:eg8zyacs9 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"new_user"} -2025-08-23T01:41:26.563Z | [AUTH] | Login attempt | Meta:{"username":"new_user"} -2025-08-23T01:41:26.575Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: new_user })","executionTime":10,"found":true,"username":"new_user"} -2025-08-23T01:41:26.577Z | [DATABASE] | User lookup completed | Meta:{"executionTime":14,"found":true,"searchBy":"username"} -2025-08-23T01:41:26.579Z | [AUTH] | Login failed - Account state restriction | Meta:{"userId":"eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee","username":"new_user","userState":3,"stateDescription":"Account deleted"} -2025-08-23T01:41:26.582Z | [REQUEST] | Request completed | ReqId:eg8zyacs9 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:24ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:41:38.716Z | [REQUEST] | Incoming request | ReqId:i4i8pdovu | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:41:38.718Z | [REQUEST] | POST /api/users/login | ReqId:i4i8pdovu | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:41:38.721Z | [REQUEST] | Login endpoint accessed | ReqId:i4i8pdovu | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"new_user"} -2025-08-23T01:41:38.722Z | [AUTH] | Login attempt | Meta:{"username":"new_user"} -2025-08-23T01:41:38.735Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: new_user })","executionTime":11,"found":true,"username":"new_user"} -2025-08-23T01:41:38.737Z | [DATABASE] | User lookup completed | Meta:{"executionTime":15,"found":true,"searchBy":"username"} -2025-08-23T01:41:38.739Z | [AUTH] | Login failed - Account state restriction | Meta:{"userId":"eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee","username":"new_user","userState":4,"stateDescription":"Account deactivated"} -2025-08-23T01:41:38.740Z | [REQUEST] | Request completed | ReqId:i4i8pdovu | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:24ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:46:36.441Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T01:46:36.443Z | [STARTUP] | HTTP server closed -2025-08-23T01:46:36.445Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-46-41-339Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-46-41-339Z.log deleted file mode 100644 index 24d5584a..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T01-46-41-339Z.log +++ /dev/null @@ -1,210 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T01:46:41.339Z -# Max entries per file: 10000 - -2025-08-23T01:46:49.746Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T01:46:49.759Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T01:46:49.759Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T01:46:50.927Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T01:46:50.953Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T01:46:50.955Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T01:46:50.957Z | [STARTUP] | Redis client connected successfully -2025-08-23T01:46:58.380Z | [REQUEST] | Incoming request | ReqId:zzaevmfc5 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:46:58.383Z | [REQUEST] | POST /api/users/login | ReqId:zzaevmfc5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:46:58.385Z | [REQUEST] | Login endpoint accessed | ReqId:zzaevmfc5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"john_doe"} -2025-08-23T01:46:58.387Z | [AUTH] | Login attempt | Meta:{"username":"john_doe"} -2025-08-23T01:46:58.399Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: john_doe })","executionTime":10,"found":true,"username":"john_doe"} -2025-08-23T01:46:58.401Z | [DATABASE] | User lookup completed | Meta:{"executionTime":13,"found":true,"searchBy":"username"} -2025-08-23T01:46:58.440Z | [AUTH] | Password verification completed | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","valid":true,"verificationTime":38} -2025-08-23T01:46:58.446Z | [AUTH] | Login successful | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":59} -2025-08-23T01:46:58.449Z | [AUTH] | User login successful | ReqId:zzaevmfc5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","username":"john_doe"} -2025-08-23T01:46:58.452Z | [REQUEST] | Request completed | ReqId:zzaevmfc5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:72ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:47:09.290Z | [REQUEST] | Incoming request | ReqId:orqgfbg2p | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:47:09.292Z | [REQUEST] | POST /api/users/login | ReqId:orqgfbg2p | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:47:09.295Z | [REQUEST] | Login endpoint accessed | ReqId:orqgfbg2p | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"john_doe"} -2025-08-23T01:47:09.296Z | [AUTH] | Login attempt | Meta:{"username":"john_doe"} -2025-08-23T01:47:09.312Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: john_doe })","executionTime":14,"found":true,"username":"john_doe"} -2025-08-23T01:47:09.314Z | [DATABASE] | User lookup completed | Meta:{"executionTime":18,"found":true,"searchBy":"username"} -2025-08-23T01:47:09.354Z | [AUTH] | Password verification completed | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","valid":true,"verificationTime":38} -2025-08-23T01:47:09.358Z | [AUTH] | Login successful | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":62} -2025-08-23T01:47:09.360Z | [AUTH] | User login successful | ReqId:orqgfbg2p | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","username":"john_doe"} -2025-08-23T01:47:09.362Z | [REQUEST] | Request completed | ReqId:orqgfbg2p | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:72ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:47:25.609Z | [REQUEST] | Incoming request | ReqId:drdxk298n | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:47:25.611Z | [REQUEST] | POST /api/users/login | ReqId:drdxk298n | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:47:25.613Z | [REQUEST] | Login endpoint accessed | ReqId:drdxk298n | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"username":"john_doe"} -2025-08-23T01:47:25.615Z | [AUTH] | Login attempt | Meta:{"username":"john_doe"} -2025-08-23T01:47:25.627Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: john_doe })","executionTime":10,"found":true,"username":"john_doe"} -2025-08-23T01:47:25.630Z | [DATABASE] | User lookup completed | Meta:{"executionTime":15,"found":true,"searchBy":"username"} -2025-08-23T01:47:25.669Z | [AUTH] | Password verification completed | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","valid":true,"verificationTime":38} -2025-08-23T01:47:25.672Z | [AUTH] | Login successful | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":57} -2025-08-23T01:47:25.674Z | [AUTH] | User login successful | ReqId:drdxk298n | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W | Meta:{"userId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","username":"john_doe"} -2025-08-23T01:47:25.676Z | [REQUEST] | Request completed | ReqId:drdxk298n | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:67ms | UA:Mozilla/5.0 (Windows NT; Windows NT 10.0; hu-HU) W -2025-08-23T01:48:02.627Z | [REQUEST] | Incoming request | ReqId:a79rrr5wm | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:02.629Z | [REQUEST] | POST /api/users/login | ReqId:a79rrr5wm | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:02.631Z | [REQUEST] | Login endpoint accessed | ReqId:a79rrr5wm | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin_user"} -2025-08-23T01:48:02.633Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T01:48:02.646Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":12,"found":true,"username":"admin_user"} -2025-08-23T01:48:02.649Z | [DATABASE] | User lookup completed | Meta:{"executionTime":15,"found":true,"searchBy":"username"} -2025-08-23T01:48:02.688Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":true,"verificationTime":38} -2025-08-23T01:48:02.691Z | [AUTH] | Login successful | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":58} -2025-08-23T01:48:02.692Z | [AUTH] | User login successful | ReqId:a79rrr5wm | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T01:48:02.694Z | [REQUEST] | Request completed | ReqId:a79rrr5wm | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:67ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:08.612Z | [REQUEST] | Incoming request | ReqId:zjkyrobt1 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css.map | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:08.614Z | [REQUEST] | GET /api-docs/swagger-ui.css.map | ReqId:zjkyrobt1 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css.map | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:08.621Z | [REQUEST] | Request completed | ReqId:zjkyrobt1 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css.map | Status:200 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:24.826Z | [REQUEST] | Incoming request | ReqId:g04vb2mdz | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:24.827Z | [REQUEST] | GET /api/organizations/page/1/2 | ReqId:g04vb2mdz | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:24.831Z | [AUTH] | Authentication successful | ReqId:g04vb2mdz | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:48:24.833Z | [REQUEST] | Get organizations by page endpoint accessed | ReqId:g04vb2mdz | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"from":1,"to":2} -2025-08-23T01:48:24.835Z | [REQUEST] | Get organizations by page query started | Meta:{"from":1,"to":2,"includeDeleted":false} -2025-08-23T01:48:24.849Z | [DATABASE] | Organization page query completed | Meta:{"query":"executionTime: 12ms, found: 2, total: 3, from: 1, to: 2"} -2025-08-23T01:48:24.851Z | [REQUEST] | Get organizations by page query completed | Meta:{"from":1,"to":2,"returned":2,"totalCount":3,"includeDeleted":false} -2025-08-23T01:48:24.852Z | [REQUEST] | Organizations page retrieved successfully | ReqId:g04vb2mdz | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"from":1,"to":2,"count":2,"totalCount":3} -2025-08-23T01:48:24.855Z | [REQUEST] | Request completed | ReqId:g04vb2mdz | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/page/1/2 | Status:200 | Time:29ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:46.165Z | [REQUEST] | Incoming request | ReqId:4dtyf6psg | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=c | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:46.167Z | [REQUEST] | GET /api/organizations/search | ReqId:4dtyf6psg | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=c | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:48:46.169Z | [AUTH] | Authentication successful | ReqId:4dtyf6psg | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=c | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:48:46.171Z | [REQUEST] | Search organizations endpoint accessed | ReqId:4dtyf6psg | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=c | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:48:46.173Z | [WARNING] | Organization search attempted without query | ReqId:4dtyf6psg | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=c | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:48:46.174Z | [REQUEST] | Request completed | ReqId:4dtyf6psg | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=c | Status:400 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:12.310Z | [REQUEST] | Incoming request | ReqId:0ow8vg8vw | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22x%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:12.313Z | [REQUEST] | GET /api/organizations/search | ReqId:0ow8vg8vw | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22x%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:12.316Z | [AUTH] | Authentication successful | ReqId:0ow8vg8vw | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22x%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:12.319Z | [REQUEST] | Search organizations endpoint accessed | ReqId:0ow8vg8vw | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22x%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:12.321Z | [WARNING] | Organization search attempted without query | ReqId:0ow8vg8vw | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22x%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:12.323Z | [REQUEST] | Request completed | ReqId:0ow8vg8vw | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22x%22 | Status:400 | Time:13ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.034Z | [REQUEST] | Incoming request | ReqId:rywel54uv | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.036Z | [REQUEST] | GET /api/organizations/search | ReqId:rywel54uv | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.039Z | [AUTH] | Authentication successful | ReqId:rywel54uv | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:20.041Z | [REQUEST] | Search organizations endpoint accessed | ReqId:rywel54uv | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:20.042Z | [WARNING] | Organization search attempted without query | ReqId:rywel54uv | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:20.044Z | [REQUEST] | Request completed | ReqId:rywel54uv | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:400 | Time:10ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.604Z | [REQUEST] | Incoming request | ReqId:metl0z9hs | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.606Z | [REQUEST] | GET /api/organizations/search | ReqId:metl0z9hs | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.608Z | [AUTH] | Authentication successful | ReqId:metl0z9hs | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:20.610Z | [REQUEST] | Search organizations endpoint accessed | ReqId:metl0z9hs | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:20.611Z | [WARNING] | Organization search attempted without query | ReqId:metl0z9hs | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:20.613Z | [REQUEST] | Request completed | ReqId:metl0z9hs | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:400 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.811Z | [REQUEST] | Incoming request | ReqId:u9j2b2q5a | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.813Z | [REQUEST] | GET /api/organizations/search | ReqId:u9j2b2q5a | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.816Z | [AUTH] | Authentication successful | ReqId:u9j2b2q5a | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:20.817Z | [REQUEST] | Search organizations endpoint accessed | ReqId:u9j2b2q5a | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:20.819Z | [WARNING] | Organization search attempted without query | ReqId:u9j2b2q5a | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:20.820Z | [REQUEST] | Request completed | ReqId:u9j2b2q5a | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:400 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.996Z | [REQUEST] | Incoming request | ReqId:rjhs04y9b | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:20.998Z | [REQUEST] | GET /api/organizations/search | ReqId:rjhs04y9b | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.001Z | [AUTH] | Authentication successful | ReqId:rjhs04y9b | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:21.003Z | [REQUEST] | Search organizations endpoint accessed | ReqId:rjhs04y9b | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:21.004Z | [WARNING] | Organization search attempted without query | ReqId:rjhs04y9b | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:21.006Z | [REQUEST] | Request completed | ReqId:rjhs04y9b | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:400 | Time:10ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.190Z | [REQUEST] | Incoming request | ReqId:l631gn8nj | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.192Z | [REQUEST] | GET /api/organizations/search | ReqId:l631gn8nj | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.195Z | [AUTH] | Authentication successful | ReqId:l631gn8nj | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:21.196Z | [REQUEST] | Search organizations endpoint accessed | ReqId:l631gn8nj | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:21.198Z | [WARNING] | Organization search attempted without query | ReqId:l631gn8nj | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:21.199Z | [REQUEST] | Request completed | ReqId:l631gn8nj | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:400 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.361Z | [REQUEST] | Incoming request | ReqId:3kd239qpt | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.363Z | [REQUEST] | GET /api/organizations/search | ReqId:3kd239qpt | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.365Z | [AUTH] | Authentication successful | ReqId:3kd239qpt | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:21.367Z | [REQUEST] | Search organizations endpoint accessed | ReqId:3kd239qpt | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:21.368Z | [WARNING] | Organization search attempted without query | ReqId:3kd239qpt | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:21.369Z | [REQUEST] | Request completed | ReqId:3kd239qpt | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:400 | Time:8ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.543Z | [REQUEST] | Incoming request | ReqId:xcwuoo3ka | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.545Z | [REQUEST] | GET /api/organizations/search | ReqId:xcwuoo3ka | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.547Z | [AUTH] | Authentication successful | ReqId:xcwuoo3ka | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:21.549Z | [REQUEST] | Search organizations endpoint accessed | ReqId:xcwuoo3ka | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:21.550Z | [WARNING] | Organization search attempted without query | ReqId:xcwuoo3ka | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:21.552Z | [REQUEST] | Request completed | ReqId:xcwuoo3ka | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:400 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.731Z | [REQUEST] | Incoming request | ReqId:la0veadee | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.733Z | [REQUEST] | GET /api/organizations/search | ReqId:la0veadee | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.737Z | [AUTH] | Authentication successful | ReqId:la0veadee | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:21.739Z | [REQUEST] | Search organizations endpoint accessed | ReqId:la0veadee | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:21.741Z | [WARNING] | Organization search attempted without query | ReqId:la0veadee | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:21.742Z | [REQUEST] | Request completed | ReqId:la0veadee | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:400 | Time:11ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.931Z | [REQUEST] | Incoming request | ReqId:lq1migg3q | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.934Z | [REQUEST] | GET /api/organizations/search | ReqId:lq1migg3q | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:50:21.937Z | [AUTH] | Authentication successful | ReqId:lq1migg3q | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:50:21.939Z | [REQUEST] | Search organizations endpoint accessed | ReqId:lq1migg3q | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:50:21.941Z | [WARNING] | Organization search attempted without query | ReqId:lq1migg3q | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:50:21.942Z | [REQUEST] | Request completed | ReqId:lq1migg3q | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=%22Inc%22 | Status:400 | Time:11ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:51:09.358Z | [REQUEST] | Incoming request | ReqId:bvjzu8apr | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:51:09.360Z | [REQUEST] | GET /api/admin/users/page/1/2 | ReqId:bvjzu8apr | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:51:09.363Z | [AUTH] | Admin authentication successful | ReqId:bvjzu8apr | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:51:09.365Z | [REQUEST] | Admin paginated users endpoint accessed | ReqId:bvjzu8apr | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"from":1,"to":2,"includeDeleted":false} -2025-08-23T01:51:09.367Z | [REQUEST] | Get users by page query started | Meta:{"from":1,"to":2,"includeDeleted":false} -2025-08-23T01:51:09.381Z | [DATABASE] | User page query completed | Meta:{"query":"from: 1, to: 2","executionTime":13,"found":2,"total":6} -2025-08-23T01:51:09.383Z | [REQUEST] | Get users by page query completed | Meta:{"from":1,"to":2,"returned":2,"totalCount":6,"includeDeleted":false} -2025-08-23T01:51:09.385Z | [REQUEST] | Admin users retrieved successfully | ReqId:bvjzu8apr | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"returnedUsers":2,"totalCount":6,"from":1,"to":2,"includeDeleted":false} -2025-08-23T01:51:09.387Z | [REQUEST] | Request completed | ReqId:bvjzu8apr | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/2 | Status:200 | Time:29ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:51:32.289Z | [REQUEST] | Incoming request | ReqId:9wjp2xrzg | IP:::ffff:172.20.0.1 | GET /api/admin/users/cccccccc-cccc-cccc-cccc-cccccccccccc | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:51:32.291Z | [REQUEST] | GET /api/admin/users/cccccccc-cccc-cccc-cccc-cccccccccccc | ReqId:9wjp2xrzg | IP:::ffff:172.20.0.1 | GET /api/admin/users/cccccccc-cccc-cccc-cccc-cccccccccccc | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:51:32.294Z | [AUTH] | Admin authentication successful | ReqId:9wjp2xrzg | IP:::ffff:172.20.0.1 | GET /api/admin/users/cccccccc-cccc-cccc-cccc-cccccccccccc | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:51:32.296Z | [WARNING] | Validation failed - invalid UUID format | ReqId:9wjp2xrzg | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/cccccccc-cccc-cccc-cccc-cccccccccccc | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"uuidErrors":["Field 'userId' must contain a valid UUID"],"endpoint":"/users/cccccccc-cccc-cccc-cccc-cccccccccccc"} -2025-08-23T01:51:32.298Z | [REQUEST] | Request completed | ReqId:9wjp2xrzg | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/cccccccc-cccc-cccc-cccc-cccccccccccc | Status:400 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:51:55.671Z | [REQUEST] | Incoming request | ReqId:xpntubjq4 | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/6 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:51:55.673Z | [REQUEST] | GET /api/admin/users/page/1/6 | ReqId:xpntubjq4 | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/6 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:51:55.676Z | [AUTH] | Admin authentication successful | ReqId:xpntubjq4 | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/6 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:51:55.677Z | [REQUEST] | Admin paginated users endpoint accessed | ReqId:xpntubjq4 | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/6 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"from":1,"to":6,"includeDeleted":false} -2025-08-23T01:51:55.679Z | [REQUEST] | Get users by page query started | Meta:{"from":1,"to":6,"includeDeleted":false} -2025-08-23T01:51:55.691Z | [DATABASE] | User page query completed | Meta:{"query":"from: 1, to: 6","executionTime":11,"found":5,"total":6} -2025-08-23T01:51:55.693Z | [REQUEST] | Get users by page query completed | Meta:{"from":1,"to":6,"returned":5,"totalCount":6,"includeDeleted":false} -2025-08-23T01:51:55.695Z | [REQUEST] | Admin users retrieved successfully | ReqId:xpntubjq4 | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/6 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"returnedUsers":5,"totalCount":6,"from":1,"to":6,"includeDeleted":false} -2025-08-23T01:51:55.696Z | [REQUEST] | Request completed | ReqId:xpntubjq4 | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/1/6 | Status:200 | Time:25ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:52:06.382Z | [REQUEST] | Incoming request | ReqId:vo8gdcc2b | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/0/6 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:52:06.384Z | [REQUEST] | GET /api/admin/users/page/0/6 | ReqId:vo8gdcc2b | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/0/6 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:52:06.387Z | [AUTH] | Admin authentication successful | ReqId:vo8gdcc2b | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/0/6 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:52:06.389Z | [REQUEST] | Admin paginated users endpoint accessed | ReqId:vo8gdcc2b | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/0/6 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"from":0,"to":6,"includeDeleted":false} -2025-08-23T01:52:06.390Z | [REQUEST] | Get users by page query started | Meta:{"from":0,"to":6,"includeDeleted":false} -2025-08-23T01:52:06.403Z | [DATABASE] | User page query completed | Meta:{"query":"from: 0, to: 6","executionTime":11,"found":6,"total":6} -2025-08-23T01:52:06.405Z | [REQUEST] | Get users by page query completed | Meta:{"from":0,"to":6,"returned":6,"totalCount":6,"includeDeleted":false} -2025-08-23T01:52:06.407Z | [REQUEST] | Admin users retrieved successfully | ReqId:vo8gdcc2b | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/0/6 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"returnedUsers":6,"totalCount":6,"from":0,"to":6,"includeDeleted":false} -2025-08-23T01:52:06.408Z | [REQUEST] | Request completed | ReqId:vo8gdcc2b | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/page/0/6 | Status:200 | Time:26ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:52:17.944Z | [REQUEST] | Incoming request | ReqId:bj93nq7kt | IP:::ffff:172.20.0.1 | GET /api/admin/users/4f8ecfd9-cf3c-4902-9aed-0e94a74305ab | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:52:17.946Z | [REQUEST] | GET /api/admin/users/4f8ecfd9-cf3c-4902-9aed-0e94a74305ab | ReqId:bj93nq7kt | IP:::ffff:172.20.0.1 | GET /api/admin/users/4f8ecfd9-cf3c-4902-9aed-0e94a74305ab | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:52:17.949Z | [AUTH] | Admin authentication successful | ReqId:bj93nq7kt | IP:::ffff:172.20.0.1 | GET /api/admin/users/4f8ecfd9-cf3c-4902-9aed-0e94a74305ab | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:52:17.951Z | [REQUEST] | Admin get user by id endpoint accessed | ReqId:bj93nq7kt | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/4f8ecfd9-cf3c-4902-9aed-0e94a74305ab | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"targetUserId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","includeDeleted":false} -2025-08-23T01:52:17.962Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: 4f8ecfd9-cf3c-4902-9aed-0e94a74305ab })","executionTime":10,"found":true,"userId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab"} -2025-08-23T01:52:17.963Z | [REQUEST] | Admin user retrieved successfully | ReqId:bj93nq7kt | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/4f8ecfd9-cf3c-4902-9aed-0e94a74305ab | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"targetUserId":"4f8ecfd9-cf3c-4902-9aed-0e94a74305ab","username":"Test","includeDeleted":false} -2025-08-23T01:52:17.965Z | [REQUEST] | Request completed | ReqId:bj93nq7kt | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/4f8ecfd9-cf3c-4902-9aed-0e94a74305ab | Status:200 | Time:21ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:52:37.410Z | [REQUEST] | Incoming request | ReqId:c2yvdwr7a | IP:::ffff:172.20.0.1 | GET /api/admin/users/search/Test | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:52:37.412Z | [REQUEST] | GET /api/admin/users/search/Test | ReqId:c2yvdwr7a | IP:::ffff:172.20.0.1 | GET /api/admin/users/search/Test | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:52:37.415Z | [AUTH] | Admin authentication successful | ReqId:c2yvdwr7a | IP:::ffff:172.20.0.1 | GET /api/admin/users/search/Test | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:52:37.417Z | [REQUEST] | Admin search users endpoint accessed | ReqId:c2yvdwr7a | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/search/Test | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"searchTerm":"Test","includeDeleted":false} -2025-08-23T01:52:37.430Z | [DATABASE] | User search completed | Meta:{"query":"Test","executionTime":12,"limit":20,"offset":0,"totalCount":1,"returnedCount":1} -2025-08-23T01:52:37.432Z | [REQUEST] | Admin user search completed | ReqId:c2yvdwr7a | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/search/Test | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"searchTerm":"Test","resultCount":1,"includeDeleted":false} -2025-08-23T01:52:37.434Z | [REQUEST] | Request completed | ReqId:c2yvdwr7a | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/users/search/Test | Status:200 | Time:24ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:53:04.367Z | [REQUEST] | Incoming request | ReqId:z5j9o0tet | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:53:04.369Z | [REQUEST] | GET /api/organizations/search | ReqId:z5j9o0tet | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:53:04.372Z | [AUTH] | Authentication successful | ReqId:z5j9o0tet | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:53:04.374Z | [REQUEST] | Search organizations endpoint accessed | ReqId:z5j9o0tet | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:53:04.375Z | [WARNING] | Organization search attempted without query | ReqId:z5j9o0tet | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:53:04.377Z | [REQUEST] | Request completed | ReqId:z5j9o0tet | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | Status:400 | Time:10ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:53:10.203Z | [REQUEST] | Incoming request | ReqId:j8zbdn0qz | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:53:10.205Z | [REQUEST] | GET /api/organizations/search | ReqId:j8zbdn0qz | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:53:10.208Z | [AUTH] | Authentication successful | ReqId:j8zbdn0qz | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:53:10.209Z | [REQUEST] | Search organizations endpoint accessed | ReqId:j8zbdn0qz | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:53:10.211Z | [WARNING] | Organization search attempted without query | ReqId:j8zbdn0qz | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:53:10.213Z | [REQUEST] | Request completed | ReqId:j8zbdn0qz | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare%20Corp | Status:400 | Time:10ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:53:12.510Z | [REQUEST] | Incoming request | ReqId:jdh0pkdyg | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:53:12.512Z | [REQUEST] | GET /api/organizations/search | ReqId:jdh0pkdyg | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T01:53:12.514Z | [AUTH] | Authentication successful | ReqId:jdh0pkdyg | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T01:53:12.516Z | [REQUEST] | Search organizations endpoint accessed | ReqId:jdh0pkdyg | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T01:53:12.518Z | [WARNING] | Organization search attempted without query | ReqId:jdh0pkdyg | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T01:53:12.519Z | [REQUEST] | Request completed | ReqId:jdh0pkdyg | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=Healthcare | Status:400 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.796Z | [REQUEST] | Incoming request | ReqId:ddjlk6qo8 | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.798Z | [REQUEST] | GET /api-docs/ | ReqId:ddjlk6qo8 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.802Z | [REQUEST] | Request completed | ReqId:ddjlk6qo8 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.820Z | [REQUEST] | Incoming request | ReqId:mcvt6e6tm | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.823Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:mcvt6e6tm | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.826Z | [REQUEST] | Request completed | ReqId:mcvt6e6tm | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.831Z | [REQUEST] | Incoming request | ReqId:31wfm04gu | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.833Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:31wfm04gu | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.836Z | [REQUEST] | Request completed | ReqId:31wfm04gu | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.838Z | [REQUEST] | Incoming request | ReqId:bfzndz938 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.840Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:bfzndz938 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.842Z | [REQUEST] | Request completed | ReqId:bfzndz938 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.845Z | [REQUEST] | Incoming request | ReqId:njxlmjgdt | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.847Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:njxlmjgdt | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:05.849Z | [REQUEST] | Request completed | ReqId:njxlmjgdt | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:02:21.928Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T02:02:21.930Z | [STARTUP] | HTTP server closed -2025-08-23T02:02:21.932Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-02-54-088Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-02-54-088Z.log deleted file mode 100644 index e925b03b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-02-54-088Z.log +++ /dev/null @@ -1,75 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T02:02:54.088Z -# Max entries per file: 10000 - -2025-08-23T02:03:02.518Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T02:03:02.533Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T02:03:02.533Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T02:03:03.725Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T02:03:03.745Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T02:03:03.747Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T02:03:03.752Z | [STARTUP] | Redis client connected successfully -2025-08-23T02:03:05.128Z | [REQUEST] | Incoming request | ReqId:quygfhbb5 | IP:::ffff:172.20.0.1 | GET / | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:05.130Z | [REQUEST] | GET / | ReqId:quygfhbb5 | IP:::ffff:172.20.0.1 | GET / | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:05.133Z | [REQUEST] | Request completed | ReqId:quygfhbb5 | IP:::ffff:172.20.0.1 | GET / | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:05.148Z | [REQUEST] | Incoming request | ReqId:5l8ypvf11 | IP:::ffff:172.20.0.1 | GET /favicon.ico | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:05.150Z | [REQUEST] | GET /favicon.ico | ReqId:5l8ypvf11 | IP:::ffff:172.20.0.1 | GET /favicon.ico | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:05.153Z | [REQUEST] | Request completed | ReqId:5l8ypvf11 | IP:::ffff:172.20.0.1 | GET /favicon.ico | Status:404 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.336Z | [REQUEST] | Incoming request | ReqId:zdt0u3vi6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.338Z | [REQUEST] | GET /api-docs/ | ReqId:zdt0u3vi6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.342Z | [REQUEST] | Request completed | ReqId:zdt0u3vi6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.359Z | [REQUEST] | Incoming request | ReqId:ai5uossiq | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.362Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:ai5uossiq | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.365Z | [REQUEST] | Request completed | ReqId:ai5uossiq | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.367Z | [REQUEST] | Incoming request | ReqId:c74qo7584 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.369Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:c74qo7584 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.371Z | [REQUEST] | Incoming request | ReqId:2jz7now1o | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.373Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:2jz7now1o | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.375Z | [REQUEST] | Request completed | ReqId:c74qo7584 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:8ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.377Z | [REQUEST] | Request completed | ReqId:2jz7now1o | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.379Z | [REQUEST] | Incoming request | ReqId:hq8a5xhtd | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.381Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:hq8a5xhtd | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:09.383Z | [REQUEST] | Request completed | ReqId:hq8a5xhtd | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:29.723Z | [REQUEST] | Incoming request | ReqId:wx2551f34 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:29.725Z | [REQUEST] | POST /api/users/login | ReqId:wx2551f34 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:29.727Z | [REQUEST] | Login endpoint accessed | ReqId:wx2551f34 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin_user"} -2025-08-23T02:03:29.729Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T02:03:29.756Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":25,"found":true,"username":"admin_user"} -2025-08-23T02:03:29.758Z | [DATABASE] | User lookup completed | Meta:{"executionTime":29,"found":true,"searchBy":"username"} -2025-08-23T02:03:29.797Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":true,"verificationTime":38} -2025-08-23T02:03:29.801Z | [AUTH] | Login successful | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":72} -2025-08-23T02:03:29.802Z | [AUTH] | User login successful | ReqId:wx2551f34 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T02:03:29.804Z | [REQUEST] | Request completed | ReqId:wx2551f34 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:81ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:54.393Z | [REQUEST] | Incoming request | ReqId:v73p4mzes | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=in&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:54.395Z | [REQUEST] | GET /api/organizations/search | ReqId:v73p4mzes | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=in&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:03:54.400Z | [AUTH] | Authentication successful | ReqId:v73p4mzes | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=in&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T02:03:54.402Z | [REQUEST] | Search organizations endpoint accessed | ReqId:v73p4mzes | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=in&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T02:03:54.403Z | [WARNING] | Organization search attempted without query | ReqId:v73p4mzes | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=in&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T02:03:54.405Z | [REQUEST] | Request completed | ReqId:v73p4mzes | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?term=in&from=1&to=2 | Status:400 | Time:12ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:04:36.521Z | [REQUEST] | Incoming request | ReqId:mi2n84wdl | IP:::ffff:172.20.0.1 | GET /api/admin/decks/search/a | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:04:36.523Z | [REQUEST] | GET /api/admin/decks/search/a | ReqId:mi2n84wdl | IP:::ffff:172.20.0.1 | GET /api/admin/decks/search/a | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:04:36.527Z | [AUTH] | Admin authentication successful | ReqId:mi2n84wdl | IP:::ffff:172.20.0.1 | GET /api/admin/decks/search/a | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T02:04:36.529Z | [REQUEST] | Admin search decks endpoint accessed | ReqId:mi2n84wdl | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/decks/search/a | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"searchTerm":"a","includeDeleted":false} -2025-08-23T02:04:36.566Z | [DATABASE] | Deck search completed | Meta:{"query":"executionTime: 34ms, found: 7, total: 7, searchTerm: \"a\", limit: 20, offset: 0"} -2025-08-23T02:04:36.568Z | [REQUEST] | Admin deck search completed | ReqId:mi2n84wdl | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/decks/search/a | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"searchTerm":"a","resultCount":7,"includeDeleted":false} -2025-08-23T02:04:36.570Z | [REQUEST] | Request completed | ReqId:mi2n84wdl | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/admin/decks/search/a | Status:200 | Time:49ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.746Z | [REQUEST] | Incoming request | ReqId:ujart0blm | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.748Z | [REQUEST] | GET /api-docs/ | ReqId:ujart0blm | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.752Z | [REQUEST] | Request completed | ReqId:ujart0blm | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.768Z | [REQUEST] | Incoming request | ReqId:svd005yiv | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.770Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:svd005yiv | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.776Z | [REQUEST] | Incoming request | ReqId:rhmhbvz0n | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.777Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:rhmhbvz0n | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.781Z | [REQUEST] | Incoming request | ReqId:r7dyk6unq | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.783Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:r7dyk6unq | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.785Z | [REQUEST] | Request completed | ReqId:r7dyk6unq | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.788Z | [REQUEST] | Incoming request | ReqId:tcpussb30 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.790Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:tcpussb30 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.792Z | [REQUEST] | Request completed | ReqId:svd005yiv | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | Time:24ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.798Z | [REQUEST] | Request completed | ReqId:tcpussb30 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | Time:10ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.809Z | [REQUEST] | Request completed | ReqId:rhmhbvz0n | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | Time:33ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.929Z | [REQUEST] | Incoming request | ReqId:7o66pvpqe | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.931Z | [REQUEST] | GET /api-docs/favicon-16x16.png | ReqId:7o66pvpqe | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:05:46.936Z | [REQUEST] | Request completed | ReqId:7o66pvpqe | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | Status:200 | Time:7ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:10:45.496Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T02:10:45.498Z | [STARTUP] | HTTP server closed -2025-08-23T02:10:45.501Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-15-18-637Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-15-18-637Z.log deleted file mode 100644 index 4cf48b4b..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-15-18-637Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T02:15:18.637Z -# Max entries per file: 10000 - -2025-08-23T02:15:25.399Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T02:15:25.416Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T02:15:25.416Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T02:15:26.592Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T02:15:26.623Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T02:15:26.625Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T02:15:26.628Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-15-55-300Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-15-55-300Z.log deleted file mode 100644 index b1317a20..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-15-55-300Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T02:15:55.300Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-15-59-043Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-15-59-043Z.log deleted file mode 100644 index 1fa565ae..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-15-59-043Z.log +++ /dev/null @@ -1,44 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T02:15:59.043Z -# Max entries per file: 10000 - -2025-08-23T02:16:06.292Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T02:16:06.304Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T02:16:06.304Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T02:16:07.365Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T02:16:07.392Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T02:16:07.394Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T02:16:07.396Z | [STARTUP] | Redis client connected successfully -2025-08-23T02:16:08.363Z | [REQUEST] | Incoming request | ReqId:8natxsh6z | IP:::ffff:172.20.0.1 | GET /api-docs | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.366Z | [REQUEST] | GET /api-docs | ReqId:8natxsh6z | IP:::ffff:172.20.0.1 | GET /api-docs | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.369Z | [REQUEST] | Request completed | ReqId:8natxsh6z | IP:::ffff:172.20.0.1 | GET /api-docs | Status:301 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.374Z | [REQUEST] | Incoming request | ReqId:6xj098cwy | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.376Z | [REQUEST] | GET /api-docs/ | ReqId:6xj098cwy | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.379Z | [REQUEST] | Request completed | ReqId:6xj098cwy | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.394Z | [REQUEST] | Incoming request | ReqId:uoea3feq4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.397Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:uoea3feq4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.400Z | [REQUEST] | Request completed | ReqId:uoea3feq4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.402Z | [REQUEST] | Incoming request | ReqId:3kgo60rcj | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.403Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:3kgo60rcj | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.405Z | [REQUEST] | Request completed | ReqId:3kgo60rcj | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.407Z | [REQUEST] | Incoming request | ReqId:j53cbps14 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.409Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:j53cbps14 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.411Z | [REQUEST] | Request completed | ReqId:j53cbps14 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.413Z | [REQUEST] | Incoming request | ReqId:sl36pv1p8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.415Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:sl36pv1p8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:08.428Z | [REQUEST] | Request completed | ReqId:sl36pv1p8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:15ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:22.530Z | [REQUEST] | Incoming request | ReqId:pbn8yzfba | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:22.532Z | [REQUEST] | POST /api/users/login | ReqId:pbn8yzfba | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:22.535Z | [REQUEST] | Login endpoint accessed | ReqId:pbn8yzfba | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"username":"admin_user"} -2025-08-23T02:16:22.536Z | [AUTH] | Login attempt | Meta:{"username":"admin_user"} -2025-08-23T02:16:22.563Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: admin_user })","executionTime":25,"found":true,"username":"admin_user"} -2025-08-23T02:16:22.565Z | [DATABASE] | User lookup completed | Meta:{"executionTime":29,"found":true,"searchBy":"username"} -2025-08-23T02:16:22.605Z | [AUTH] | Password verification completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","valid":true,"verificationTime":38} -2025-08-23T02:16:22.609Z | [AUTH] | Login successful | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":73} -2025-08-23T02:16:22.610Z | [AUTH] | User login successful | ReqId:pbn8yzfba | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","username":"admin_user"} -2025-08-23T02:16:22.612Z | [REQUEST] | Request completed | ReqId:pbn8yzfba | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:82ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:38.688Z | [REQUEST] | Incoming request | ReqId:h389wjyvi | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:38.690Z | [REQUEST] | GET /api/organizations/search | ReqId:h389wjyvi | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:16:38.693Z | [AUTH] | Authentication successful | ReqId:h389wjyvi | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T02:16:38.695Z | [REQUEST] | Search organizations endpoint accessed | ReqId:h389wjyvi | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T02:16:38.697Z | [WARNING] | Organization search attempted without query | ReqId:h389wjyvi | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T02:16:38.699Z | [REQUEST] | Request completed | ReqId:h389wjyvi | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:400 | Time:11ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-17-21-230Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-17-21-230Z.log deleted file mode 100644 index bdc1d86d..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-17-21-230Z.log +++ /dev/null @@ -1,17 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T02:17:21.230Z -# Max entries per file: 10000 - -2025-08-23T02:17:27.669Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T02:17:27.681Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T02:17:27.681Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T02:17:28.714Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T02:17:28.739Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T02:17:28.741Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T02:17:28.743Z | [STARTUP] | Redis client connected successfully -2025-08-23T02:17:29.865Z | [REQUEST] | Incoming request | ReqId:ypq8rc2e0 | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:17:29.868Z | [REQUEST] | GET /api/organizations/search | ReqId:ypq8rc2e0 | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:17:29.872Z | [AUTH] | Authentication successful | ReqId:ypq8rc2e0 | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T02:17:29.874Z | [REQUEST] | Search organizations endpoint accessed | ReqId:ypq8rc2e0 | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"query":"inc"} -2025-08-23T02:17:29.890Z | [DATABASE] | Organization search completed | Meta:{"query":"executionTime: 14ms, found: 1, total: 1, searchTerm: \"inc\", limit: 20, offset: 0"} -2025-08-23T02:17:29.892Z | [REQUEST] | Organization search completed successfully | ReqId:ypq8rc2e0 | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"query":"inc","resultCount":0} -2025-08-23T02:17:29.895Z | [REQUEST] | Request completed | ReqId:ypq8rc2e0 | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | Time:30ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-17-42-515Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-17-42-515Z.log deleted file mode 100644 index 56fc61ee..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-17-42-515Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T02:17:42.515Z -# Max entries per file: 10000 - -2025-08-23T02:17:49.423Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T02:17:49.436Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T02:17:49.436Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T02:17:50.544Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T02:17:50.567Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T02:17:50.569Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T02:17:50.578Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-18-04-282Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-18-04-282Z.log deleted file mode 100644 index c2c8bb3e..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-18-04-282Z.log +++ /dev/null @@ -1,34 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T02:18:04.282Z -# Max entries per file: 10000 - -2025-08-23T02:18:10.746Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T02:18:10.759Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T02:18:10.759Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T02:18:11.870Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T02:18:11.896Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T02:18:11.898Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T02:18:11.902Z | [REQUEST] | Incoming request | ReqId:xysv4w82y | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:11.903Z | [REQUEST] | GET /api/organizations/search | ReqId:xysv4w82y | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:11.907Z | [AUTH] | Authentication successful | ReqId:xysv4w82y | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T02:18:11.909Z | [REQUEST] | Search organizations endpoint accessed | ReqId:xysv4w82y | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"query":"inc"} -2025-08-23T02:18:11.915Z | [STARTUP] | Redis client connected successfully -2025-08-23T02:18:11.922Z | [DATABASE] | Organization search completed | Meta:{"query":"executionTime: 11ms, found: 1, total: 1, searchTerm: \"inc\", limit: 20, offset: 0"} -2025-08-23T02:18:11.923Z | [REQUEST] | Organization search completed successfully | ReqId:xysv4w82y | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"query":"inc","resultCount":0} -2025-08-23T02:18:11.926Z | [REQUEST] | Request completed | ReqId:xysv4w82y | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/organizations/search?query=inc&from=1&to=2 | Status:304 | Time:24ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:25.000Z | [REQUEST] | Incoming request | ReqId:lrj3y5nl3 | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:25.002Z | [REQUEST] | GET /api/decks/page/1/2 | ReqId:lrj3y5nl3 | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:25.005Z | [AUTH] | Authentication successful | ReqId:lrj3y5nl3 | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T02:18:25.006Z | [REQUEST] | Get decks by page endpoint accessed | ReqId:lrj3y5nl3 | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","userOrgId":"","isAdmin":true,"from":1,"to":2} -2025-08-23T02:18:25.008Z | [AUTH] | ADMIN_BYPASS: GET_DECKS_PAGE_BYPASS | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","targetId":"paginated-decks","action":"GET_DECKS_PAGE_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T02:18:25.008Z","from":1,"to":2,"includesDeleted":false,"operation":"read"} -2025-08-23T02:18:25.010Z | [REQUEST] | Get decks by page query started | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","userOrgId":"","isAdmin":true,"from":1,"to":2,"includeDeleted":false} -2025-08-23T02:18:25.011Z | [AUTH] | ADMIN_BYPASS: FIND_FILTERED_DECKS_BYPASS | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","targetId":"all-decks-filtered","action":"FIND_FILTERED_DECKS_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-08-23T02:18:25.011Z","bypassType":"admin-all-decks-filtered","userOrgId":"","from":1,"to":2,"operation":"read"} -2025-08-23T02:18:25.037Z | [DATABASE] | Admin filtered deck query completed | Meta:{"query":"executionTime: 26ms, userId: dddddddd-dddd-dddd-dddd-dddddddddddd, found: 2, totalCount: 7, isAdmin: true"} -2025-08-23T02:18:25.039Z | [REQUEST] | Get decks by page query completed | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","userOrgId":"","isAdmin":true,"from":1,"to":2,"returned":2,"totalCount":7,"includeDeleted":false} -2025-08-23T02:18:25.041Z | [REQUEST] | Get decks page completed successfully | ReqId:lrj3y5nl3 | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","from":1,"to":2,"returnedCount":2,"totalCount":7} -2025-08-23T02:18:25.043Z | [REQUEST] | Request completed | ReqId:lrj3y5nl3 | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/2 | Status:200 | Time:43ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:34.097Z | [REQUEST] | Incoming request | ReqId:gqj6d065b | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:34.099Z | [REQUEST] | GET /api/decks/search | ReqId:gqj6d065b | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:34.102Z | [AUTH] | Authentication successful | ReqId:gqj6d065b | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T02:18:34.104Z | [REQUEST] | Search decks endpoint accessed | ReqId:gqj6d065b | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{} -2025-08-23T02:18:34.107Z | [WARNING] | Deck search attempted without query | ReqId:gqj6d065b | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"hasQuery":false} -2025-08-23T02:18:34.109Z | [REQUEST] | Request completed | ReqId:gqj6d065b | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:400 | Time:12ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-18-52-235Z.log b/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-18-52-235Z.log deleted file mode 100644 index c23fcda4..00000000 --- a/SerpentRace_Backend/logs/2025-08/serpentrace-2025-08-23T02-18-52-235Z.log +++ /dev/null @@ -1,28 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-08-23T02:18:52.235Z -# Max entries per file: 10000 - -2025-08-23T02:18:58.663Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.4","chatInactivityTimeout":"30"} -2025-08-23T02:18:58.675Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-08-23T02:18:58.675Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-08-23T02:18:58.703Z | [REQUEST] | Incoming request | ReqId:eprbr5hmu | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:58.705Z | [REQUEST] | GET /api/decks/search | ReqId:eprbr5hmu | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:58.709Z | [AUTH] | Authentication successful | ReqId:eprbr5hmu | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T02:18:58.711Z | [REQUEST] | Search decks endpoint accessed | ReqId:eprbr5hmu | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"query":"a"} -2025-08-23T02:18:58.713Z | [DATABASE] | Deck search failed | Meta:{"query":"executionTime: 0ms, searchTerm: \"a\""} -2025-08-23T02:18:58.722Z | [ERROR] | DeckRepository.search error | Meta:{"name":"EntityMetadataNotFoundError","message":"No metadata for \"DeckAggregate\" was found.","stack":"EntityMetadataNotFoundError: No metadata for \"DeckAggregate\" was found.\n at DataSource.getMetadata (/app/node_modules/src/data-source/DataSource.ts:451:30)\n at Repository.get metadata [as metadata] (/app/node_modules/src/repository/Repository.ts:54:40)\n at Repository.createQueryBuilder (/app/node_modules/src/repository/Repository.ts:83:18)\n at DeckRepository.search (/app/src/Infrastructure/Repository/DeckRepository.ts:109:44)\n at GeneralSearchService.searchDecks (/app/src/Application/Search/Generalsearch.ts:108:55)\n at GeneralSearchService.searchByType (/app/src/Application/Search/Generalsearch.ts:131:27)\n at GeneralSearchService.searchFromUrl (/app/src/Application/Search/Generalsearch.ts:142:23)\n at /app/src/Api/routers/deckRouter.ts:110:38\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)"} -2025-08-23T02:18:58.726Z | [ERROR] | Search decks endpoint error | ReqId:eprbr5hmu | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"name":"Error","message":"Failed to search decks in database","stack":"Error: Failed to search decks in database\n at DeckRepository.search (/app/src/Infrastructure/Repository/DeckRepository.ts:129:19)\n at GeneralSearchService.searchDecks (/app/src/Application/Search/Generalsearch.ts:108:55)\n at GeneralSearchService.searchByType (/app/src/Application/Search/Generalsearch.ts:131:27)\n at GeneralSearchService.searchFromUrl (/app/src/Application/Search/Generalsearch.ts:142:23)\n at /app/src/Api/routers/deckRouter.ts:110:38\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:29:5)\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)"} -2025-08-23T02:18:58.729Z | [REQUEST] | Request completed | ReqId:eprbr5hmu | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:500 | Time:26ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:18:59.783Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-08-23T02:18:59.805Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-08-23T02:18:59.807Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-08-23T02:18:59.809Z | [STARTUP] | Redis client connected successfully -2025-08-23T02:19:01.010Z | [REQUEST] | Incoming request | ReqId:73ivh57my | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:19:01.012Z | [REQUEST] | GET /api/decks/search | ReqId:73ivh57my | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:19:01.015Z | [AUTH] | Authentication successful | ReqId:73ivh57my | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"userId":"dddddddd-dddd-dddd-dddd-dddddddddddd","authLevel":1,"orgId":""} -2025-08-23T02:19:01.017Z | [REQUEST] | Search decks endpoint accessed | ReqId:73ivh57my | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"query":"a"} -2025-08-23T02:19:01.031Z | [DATABASE] | Deck search completed | Meta:{"query":"executionTime: 12ms, found: 7, total: 7, searchTerm: \"a\", limit: 20, offset: 0"} -2025-08-23T02:19:01.033Z | [REQUEST] | Deck search completed successfully | ReqId:73ivh57my | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 | Meta:{"query":"a","resultCount":0} -2025-08-23T02:19:01.035Z | [REQUEST] | Request completed | ReqId:73ivh57my | UserId:dddddddd-dddd-dddd-dddd-dddddddddddd | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=a&from=1&to=2 | Status:200 | Time:25ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-08-23T02:19:33.182Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-08-23T02:19:33.184Z | [STARTUP] | HTTP server closed -2025-08-23T02:19:33.187Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-11T19-46-55-317Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-11T19-46-55-317Z.log deleted file mode 100644 index 01df8eab..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-11T19-46-55-317Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-11T19:46:55.317Z -# Max entries per file: 10000 - -2025-09-11T19:47:01.847Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-11T19:47:01.860Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-11T19:47:01.860Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-11T19:47:03.007Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-11T19:47:03.029Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-11T19:47:03.031Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-11T19:47:03.036Z | [STARTUP] | Redis client connected successfully -2025-09-11T19:50:33.982Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-09-11T19:50:33.984Z | [STARTUP] | HTTP server closed -2025-09-11T19:50:33.986Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T17-53-43-765Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T17-53-43-765Z.log deleted file mode 100644 index a34a0796..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T17-53-43-765Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T17:53:43.765Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-17-37-847Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-17-37-847Z.log deleted file mode 100644 index b9fe2cd2..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-17-37-847Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:17:37.847Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-18-23-927Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-18-23-927Z.log deleted file mode 100644 index ca10414d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-18-23-927Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:18:23.927Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-18-34-439Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-18-34-439Z.log deleted file mode 100644 index 5f456f38..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-18-34-439Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:18:34.439Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-19-23-569Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-19-23-569Z.log deleted file mode 100644 index d91ef9f5..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-19-23-569Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:19:23.569Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-20-04-021Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-20-04-021Z.log deleted file mode 100644 index e2e74687..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-20-04-021Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:20:04.021Z -# Max entries per file: 10000 - -2025-09-14T19:20:10.462Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:20:10.481Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:20:10.481Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:20:11.517Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:20:11.540Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:20:11.542Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:20:11.544Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-21-14-683Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-21-14-683Z.log deleted file mode 100644 index cd00780e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-21-14-683Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:21:14.683Z -# Max entries per file: 10000 - -2025-09-14T19:21:20.986Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:21:21.000Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:21:21.000Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:21:22.043Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:21:22.066Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:21:22.068Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:21:22.071Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-21-36-572Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-21-36-572Z.log deleted file mode 100644 index e49ce23d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-21-36-572Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:21:36.572Z -# Max entries per file: 10000 - -2025-09-14T19:21:42.689Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:21:42.701Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:21:42.701Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:21:43.715Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:21:43.736Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:21:43.737Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:21:43.742Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-22-33-778Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-22-33-778Z.log deleted file mode 100644 index 9d24e1d7..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-22-33-778Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:22:33.778Z -# Max entries per file: 10000 - -2025-09-14T19:22:40.482Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:22:40.492Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:22:40.492Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-22-43-932Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-22-43-932Z.log deleted file mode 100644 index 49c6b475..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-22-43-932Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:22:43.932Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-22-48-065Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-22-48-065Z.log deleted file mode 100644 index 298b743a..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-22-48-065Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:22:48.065Z -# Max entries per file: 10000 - -2025-09-14T19:22:54.939Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:22:54.950Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:22:54.950Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:22:56.146Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:22:56.166Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:22:56.168Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:22:56.173Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-25-44-004Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-25-44-004Z.log deleted file mode 100644 index 25386ca3..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-25-44-004Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:25:44.004Z -# Max entries per file: 10000 - -2025-09-14T19:25:50.938Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:25:50.951Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:25:50.951Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:25:52.304Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:25:52.327Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:25:52.329Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:25:52.331Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-25-59-718Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-25-59-718Z.log deleted file mode 100644 index a113ab44..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-25-59-718Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:25:59.718Z -# Max entries per file: 10000 - -2025-09-14T19:26:06.302Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:26:06.313Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:26:06.313Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:26:07.503Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:26:07.523Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:26:07.525Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:26:07.530Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-28-40-447Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-28-40-447Z.log deleted file mode 100644 index b3551b53..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-28-40-447Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:28:40.447Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-28-44-247Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-28-44-247Z.log deleted file mode 100644 index 8d036622..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-28-44-247Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:28:44.247Z -# Max entries per file: 10000 - -2025-09-14T19:28:50.571Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:28:50.583Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:28:50.583Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:28:51.978Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:28:52.002Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:28:52.004Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:28:52.006Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-29-20-730Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-29-20-730Z.log deleted file mode 100644 index 50e812b9..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-29-20-730Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:29:20.730Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-29-24-137Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-29-24-137Z.log deleted file mode 100644 index b1a47de8..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-29-24-137Z.log +++ /dev/null @@ -1,34 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:29:24.137Z -# Max entries per file: 10000 - -2025-09-14T19:29:30.670Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:29:30.683Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:29:30.683Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:29:32.101Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:29:32.122Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:29:32.124Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:29:32.126Z | [STARTUP] | Redis client connected successfully -2025-09-14T19:29:53.164Z | [REQUEST] | Incoming request | ReqId:amhtws2j0 | IP:::ffff:172.20.0.1 | GET / | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:53.168Z | [REQUEST] | GET / | ReqId:amhtws2j0 | IP:::ffff:172.20.0.1 | GET / | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:53.170Z | [REQUEST] | Request completed | ReqId:amhtws2j0 | IP:::ffff:172.20.0.1 | GET / | Status:200 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:53.204Z | [REQUEST] | Incoming request | ReqId:enbi7wzsd | IP:::ffff:172.20.0.1 | GET /favicon.ico | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:53.206Z | [REQUEST] | GET /favicon.ico | ReqId:enbi7wzsd | IP:::ffff:172.20.0.1 | GET /favicon.ico | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:53.209Z | [REQUEST] | Request completed | ReqId:enbi7wzsd | IP:::ffff:172.20.0.1 | GET /favicon.ico | Status:404 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.233Z | [REQUEST] | Incoming request | ReqId:8gdk52ggd | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.235Z | [REQUEST] | GET /api-docs/ | ReqId:8gdk52ggd | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.238Z | [REQUEST] | Request completed | ReqId:8gdk52ggd | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.257Z | [REQUEST] | Incoming request | ReqId:5qhaikidc | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.260Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:5qhaikidc | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.264Z | [REQUEST] | Incoming request | ReqId:ajms6z1qt | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.265Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:ajms6z1qt | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.268Z | [REQUEST] | Incoming request | ReqId:u5j5akkaa | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.270Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:u5j5akkaa | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.271Z | [REQUEST] | Request completed | ReqId:u5j5akkaa | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.274Z | [REQUEST] | Incoming request | ReqId:ensevj1ln | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.275Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:ensevj1ln | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.277Z | [REQUEST] | Request completed | ReqId:5qhaikidc | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | Time:20ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.283Z | [REQUEST] | Request completed | ReqId:ensevj1ln | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.290Z | [REQUEST] | Request completed | ReqId:ajms6z1qt | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | Time:26ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.402Z | [REQUEST] | Incoming request | ReqId:y8brzkde5 | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.404Z | [REQUEST] | GET /api-docs/favicon-16x16.png | ReqId:y8brzkde5 | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:29:58.407Z | [REQUEST] | Request completed | ReqId:y8brzkde5 | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | Status:200 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-31-16-080Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-31-16-080Z.log deleted file mode 100644 index d792dcdc..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-31-16-080Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:31:16.080Z -# Max entries per file: 10000 - -2025-09-14T19:31:22.883Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:31:22.895Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:31:22.895Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:31:24.314Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:31:24.340Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:31:24.342Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:31:24.344Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-35-05-539Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-35-05-539Z.log deleted file mode 100644 index ba52383b..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-35-05-539Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:35:05.539Z -# Max entries per file: 10000 - -2025-09-14T19:35:10.729Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:35:10.744Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-35-49-977Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-35-49-977Z.log deleted file mode 100644 index f0e6eee9..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-35-49-977Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:35:49.977Z -# Max entries per file: 10000 - -2025-09-14T19:35:55.314Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:35:55.326Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-35-50-418Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-35-50-418Z.log deleted file mode 100644 index f46b44c8..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-35-50-418Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:35:50.418Z -# Max entries per file: 10000 - -2025-09-14T19:35:57.577Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:35:57.588Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:35:57.588Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:35:59.015Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:35:59.036Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:35:59.038Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:35:59.043Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-36-04-541Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-36-04-541Z.log deleted file mode 100644 index db823fe9..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-36-04-541Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:36:04.541Z -# Max entries per file: 10000 - -2025-09-14T19:36:11.577Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:36:11.588Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:36:11.588Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:36:13.015Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:36:13.037Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:36:13.039Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:36:13.041Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-36-05-386Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-36-05-386Z.log deleted file mode 100644 index d90d1536..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-36-05-386Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:36:05.386Z -# Max entries per file: 10000 - -2025-09-14T19:36:10.463Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:36:10.476Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-31-110Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-31-110Z.log deleted file mode 100644 index 233ab0e9..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-31-110Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:37:31.110Z -# Max entries per file: 10000 - -2025-09-14T19:37:35.672Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3001","nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:37:35.680Z | [STARTUP] | Server started successfully | Meta:{"port":"3001","environment":"development","timestamp":"2025-09-14T19:37:35.680Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:37:36.067Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"localhost","database":"serpentrace"} -2025-09-14T19:37:36.088Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:37:36.088Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:37:36.090Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-47-755Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-47-755Z.log deleted file mode 100644 index 360c7777..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-47-755Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:37:47.755Z -# Max entries per file: 10000 - -2025-09-14T19:37:55.839Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:37:55.851Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:37:55.851Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:37:57.364Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:37:57.385Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:37:57.387Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:37:57.392Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-48-912Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-48-912Z.log deleted file mode 100644 index 81aca9f7..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-48-912Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:37:48.912Z -# Max entries per file: 10000 - -2025-09-14T19:37:54.930Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3001","nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:37:54.940Z | [STARTUP] | Server started successfully | Meta:{"port":"3001","environment":"development","timestamp":"2025-09-14T19:37:54.940Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:37:55.356Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"localhost","database":"serpentrace"} -2025-09-14T19:37:55.373Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:37:55.374Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:37:55.380Z | [STARTUP] | Redis client connected successfully -2025-09-14T19:39:02.452Z | [STARTUP] | Received SIGINT. Shutting down gracefully... -2025-09-14T19:39:02.453Z | [STARTUP] | HTTP server closed -2025-09-14T19:39:02.454Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-48-947Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-48-947Z.log deleted file mode 100644 index f9fa4e7a..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-37-48-947Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:37:48.947Z -# Max entries per file: 10000 - -2025-09-14T19:37:54.942Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:37:54.959Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-39-18-891Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-39-18-891Z.log deleted file mode 100644 index a0946fa2..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-39-18-891Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:39:18.891Z -# Max entries per file: 10000 - -2025-09-14T19:39:24.194Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:39:24.210Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-39-19-312Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-39-19-312Z.log deleted file mode 100644 index c384b369..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-39-19-312Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:39:19.312Z -# Max entries per file: 10000 - -2025-09-14T19:39:26.428Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:39:26.440Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:39:26.440Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:39:27.891Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:39:27.913Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:39:27.914Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:39:27.919Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-39-36-793Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-39-36-793Z.log deleted file mode 100644 index 209638cc..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-39-36-793Z.log +++ /dev/null @@ -1,16 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:39:36.793Z -# Max entries per file: 10000 - -2025-09-14T19:39:41.380Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3001","nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:39:41.388Z | [STARTUP] | Server started successfully | Meta:{"port":"3001","environment":"development","timestamp":"2025-09-14T19:39:41.388Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:39:41.765Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"localhost","database":"serpentrace"} -2025-09-14T19:39:41.780Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:39:41.781Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:39:41.787Z | [STARTUP] | Redis client connected successfully -2025-09-14T19:39:48.418Z | [REQUEST] | Incoming request | ReqId:1hgroipe4 | IP:::1 | GET /api-docs?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757878788411 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-09-14T19:39:48.420Z | [REQUEST] | Request completed | ReqId:1hgroipe4 | IP:::1 | GET /api-docs?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757878788411 | Status:301 | Time:2ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-09-14T19:39:48.426Z | [REQUEST] | Incoming request | ReqId:btkm4sg8l | IP:::1 | GET /api-docs/?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757878788411 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-09-14T19:39:48.427Z | [REQUEST] | Request completed | ReqId:btkm4sg8l | IP:::1 | GET /api-docs/?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757878788411 | Status:200 | Time:1ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-09-14T19:39:52.847Z | [REQUEST] | Incoming request | ReqId:37e5xhtd2 | IP:::1 | GET /?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757878792844 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-09-14T19:39:52.848Z | [REQUEST] | Request completed | ReqId:37e5xhtd2 | IP:::1 | GET /?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757878792844 | Status:200 | Time:1ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-01-700Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-01-700Z.log deleted file mode 100644 index 6218cbc6..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-01-700Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:40:01.700Z -# Max entries per file: 10000 - -2025-09-14T19:40:07.768Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:40:07.784Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-02-248Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-02-248Z.log deleted file mode 100644 index 65c6cb98..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-02-248Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:40:02.248Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-03-219Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-03-219Z.log deleted file mode 100644 index 6686764e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-03-219Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:40:03.219Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-09-601Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-09-601Z.log deleted file mode 100644 index e586cd4c..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-09-601Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:40:09.601Z -# Max entries per file: 10000 - -2025-09-14T19:40:17.332Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:40:17.342Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:40:17.342Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:40:18.750Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:40:18.770Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:40:18.772Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:40:18.776Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-11-053Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-11-053Z.log deleted file mode 100644 index 92493eed..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-11-053Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:40:11.053Z -# Max entries per file: 10000 - -2025-09-14T19:40:16.718Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:40:16.735Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-11-179Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-11-179Z.log deleted file mode 100644 index a5338d63..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-40-11-179Z.log +++ /dev/null @@ -1,13 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:40:11.179Z -# Max entries per file: 10000 - -2025-09-14T19:40:16.831Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3001","nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:40:16.841Z | [STARTUP] | Server started successfully | Meta:{"port":"3001","environment":"development","timestamp":"2025-09-14T19:40:16.841Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:40:17.228Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"localhost","database":"serpentrace"} -2025-09-14T19:40:17.245Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:40:17.245Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:40:17.250Z | [STARTUP] | Redis client connected successfully -2025-09-14T19:40:26.170Z | [STARTUP] | Received SIGINT. Shutting down gracefully... -2025-09-14T19:40:26.171Z | [STARTUP] | HTTP server closed -2025-09-14T19:40:26.173Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-41-36-857Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-41-36-857Z.log deleted file mode 100644 index 90e7ce29..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-41-36-857Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:41:36.857Z -# Max entries per file: 10000 - -2025-09-14T19:41:43.272Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:41:43.282Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:41:43.282Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:41:44.665Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:41:44.686Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:41:44.688Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:41:44.690Z | [STARTUP] | Redis client connected successfully -2025-09-14T19:48:38.950Z | [REQUEST] | Incoming request | ReqId:myhi4uo4t | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.952Z | [REQUEST] | GET /api-docs/ | ReqId:myhi4uo4t | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.956Z | [REQUEST] | Request completed | ReqId:myhi4uo4t | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.970Z | [REQUEST] | Incoming request | ReqId:0pgu57zsi | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.972Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:0pgu57zsi | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.975Z | [REQUEST] | Request completed | ReqId:0pgu57zsi | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.977Z | [REQUEST] | Incoming request | ReqId:ee2btiljk | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.978Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:ee2btiljk | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.980Z | [REQUEST] | Request completed | ReqId:ee2btiljk | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.982Z | [REQUEST] | Incoming request | ReqId:z1kr03fdf | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.984Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:z1kr03fdf | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.986Z | [REQUEST] | Request completed | ReqId:z1kr03fdf | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.988Z | [REQUEST] | Incoming request | ReqId:mh5mkf7ga | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.989Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:mh5mkf7ga | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:48:38.991Z | [REQUEST] | Request completed | ReqId:mh5mkf7ga | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-41-37-744Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-41-37-744Z.log deleted file mode 100644 index 3ea61936..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-41-37-744Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:41:37.744Z -# Max entries per file: 10000 - -2025-09-14T19:41:42.344Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:41:42.360Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-50-53-106Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-50-53-106Z.log deleted file mode 100644 index fff39a19..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-50-53-106Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:50:53.106Z -# Max entries per file: 10000 - -2025-09-14T19:50:58.355Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:50:58.370Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-50-54-167Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-50-54-167Z.log deleted file mode 100644 index 818342e5..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-50-54-167Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:50:54.167Z -# Max entries per file: 10000 - -2025-09-14T19:51:01.518Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:51:01.530Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:51:01.530Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:51:03.004Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:51:03.027Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:51:03.029Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:51:03.031Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-51-28-025Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-51-28-025Z.log deleted file mode 100644 index 05045b8c..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-51-28-025Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:51:28.025Z -# Max entries per file: 10000 - -2025-09-14T19:51:33.189Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:51:33.201Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-51-28-672Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-51-28-672Z.log deleted file mode 100644 index 83c43786..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-51-28-672Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:51:28.672Z -# Max entries per file: 10000 - -2025-09-14T19:51:35.449Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:51:35.459Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:51:35.459Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:51:36.922Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:51:36.943Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:51:36.946Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:51:36.950Z | [REQUEST] | Incoming request | ReqId:3lihqtdzl | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.952Z | [REQUEST] | GET /api-docs/ | ReqId:3lihqtdzl | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.956Z | [REQUEST] | Request completed | ReqId:3lihqtdzl | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.963Z | [STARTUP] | Redis client connected successfully -2025-09-14T19:51:36.974Z | [REQUEST] | Incoming request | ReqId:21npbeg4l | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.977Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:21npbeg4l | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.980Z | [REQUEST] | Request completed | ReqId:21npbeg4l | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.982Z | [REQUEST] | Incoming request | ReqId:6jxci6n95 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.984Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:6jxci6n95 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.987Z | [REQUEST] | Request completed | ReqId:6jxci6n95 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.989Z | [REQUEST] | Incoming request | ReqId:29kaglz53 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.991Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:29kaglz53 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.993Z | [REQUEST] | Request completed | ReqId:29kaglz53 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.996Z | [REQUEST] | Incoming request | ReqId:su6wy0x4z | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:36.998Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:su6wy0x4z | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:51:37.001Z | [REQUEST] | Request completed | ReqId:su6wy0x4z | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-51-59-846Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-51-59-846Z.log deleted file mode 100644 index 0d4a0793..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-51-59-846Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:51:59.846Z -# Max entries per file: 10000 - -2025-09-14T19:52:05.713Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:52:05.729Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-52-00-530Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-52-00-530Z.log deleted file mode 100644 index e6dd0474..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-52-00-530Z.log +++ /dev/null @@ -1,70 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:52:00.530Z -# Max entries per file: 10000 - -2025-09-14T19:52:08.107Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:52:08.123Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:52:08.122Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:52:09.707Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:52:09.732Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:52:09.734Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:52:09.737Z | [STARTUP] | Redis client connected successfully -2025-09-14T19:52:09.743Z | [REQUEST] | Incoming request | ReqId:xblab1m4b | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.745Z | [REQUEST] | GET /api-docs/ | ReqId:xblab1m4b | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.750Z | [REQUEST] | Request completed | ReqId:xblab1m4b | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:7ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.765Z | [REQUEST] | Incoming request | ReqId:2f5zww6ej | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.768Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:2f5zww6ej | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.771Z | [REQUEST] | Request completed | ReqId:2f5zww6ej | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.774Z | [REQUEST] | Incoming request | ReqId:y2ewanme8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.777Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:y2ewanme8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.779Z | [REQUEST] | Request completed | ReqId:y2ewanme8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.783Z | [REQUEST] | Incoming request | ReqId:uqp4qjj7q | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.785Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:uqp4qjj7q | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.788Z | [REQUEST] | Request completed | ReqId:uqp4qjj7q | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.791Z | [REQUEST] | Incoming request | ReqId:2dzf4n56g | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.793Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:2dzf4n56g | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:09.797Z | [REQUEST] | Request completed | ReqId:2dzf4n56g | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.669Z | [REQUEST] | Incoming request | ReqId:3x978ob6y | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.671Z | [REQUEST] | GET /api-docs/ | ReqId:3x978ob6y | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.673Z | [REQUEST] | Request completed | ReqId:3x978ob6y | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.684Z | [REQUEST] | Incoming request | ReqId:o8aezb5hh | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.686Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:o8aezb5hh | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.689Z | [REQUEST] | Request completed | ReqId:o8aezb5hh | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.691Z | [REQUEST] | Incoming request | ReqId:wzfo6i6tm | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.693Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:wzfo6i6tm | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.695Z | [REQUEST] | Request completed | ReqId:wzfo6i6tm | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.697Z | [REQUEST] | Incoming request | ReqId:g7gi3kzu3 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.699Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:g7gi3kzu3 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.702Z | [REQUEST] | Request completed | ReqId:g7gi3kzu3 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.706Z | [REQUEST] | Incoming request | ReqId:6i04zrypc | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.708Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:6i04zrypc | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:23.709Z | [REQUEST] | Request completed | ReqId:6i04zrypc | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.220Z | [REQUEST] | Incoming request | ReqId:euixru5in | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.222Z | [REQUEST] | GET /api-docs/ | ReqId:euixru5in | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.224Z | [REQUEST] | Request completed | ReqId:euixru5in | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.235Z | [REQUEST] | Incoming request | ReqId:xo8c32efn | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.237Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:xo8c32efn | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.240Z | [REQUEST] | Incoming request | ReqId:wblxyid7w | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.241Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:wblxyid7w | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.243Z | [REQUEST] | Incoming request | ReqId:b78198q08 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.245Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:b78198q08 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.248Z | [REQUEST] | Incoming request | ReqId:2oom9qei9 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.250Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:2oom9qei9 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.251Z | [REQUEST] | Request completed | ReqId:2oom9qei9 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.253Z | [REQUEST] | Request completed | ReqId:xo8c32efn | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:18ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.255Z | [REQUEST] | Request completed | ReqId:wblxyid7w | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:15ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.258Z | [REQUEST] | Request completed | ReqId:b78198q08 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:15ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.415Z | [REQUEST] | Incoming request | ReqId:ch3fux52a | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.418Z | [REQUEST] | GET /api-docs/ | ReqId:ch3fux52a | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.434Z | [REQUEST] | Request completed | ReqId:ch3fux52a | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:19ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.445Z | [REQUEST] | Incoming request | ReqId:q9e0hnwxo | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.447Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:q9e0hnwxo | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.449Z | [REQUEST] | Incoming request | ReqId:ab06uc7dn | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.451Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:ab06uc7dn | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.453Z | [REQUEST] | Incoming request | ReqId:v0kdcpmlr | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.455Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:v0kdcpmlr | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.457Z | [REQUEST] | Incoming request | ReqId:y7u3oubro | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.459Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:y7u3oubro | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.460Z | [REQUEST] | Request completed | ReqId:y7u3oubro | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.462Z | [REQUEST] | Request completed | ReqId:q9e0hnwxo | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:17ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.465Z | [REQUEST] | Request completed | ReqId:ab06uc7dn | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:16ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:52:24.467Z | [REQUEST] | Request completed | ReqId:v0kdcpmlr | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:14ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-12-706Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-12-706Z.log deleted file mode 100644 index 33a0ebf3..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-12-706Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:55:12.706Z -# Max entries per file: 10000 - -2025-09-14T19:55:18.053Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:55:18.068Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-13-224Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-13-224Z.log deleted file mode 100644 index ccef5435..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-13-224Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:55:13.224Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-20-859Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-20-859Z.log deleted file mode 100644 index 6a10da24..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-20-859Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:55:20.859Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-21-256Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-21-256Z.log deleted file mode 100644 index 9cf6ce24..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-21-256Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:55:21.256Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-26-756Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-26-756Z.log deleted file mode 100644 index 1219f420..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-26-756Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:55:26.756Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-27-530Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-27-530Z.log deleted file mode 100644 index f8da676b..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-27-530Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:55:27.530Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-34-308Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-34-308Z.log deleted file mode 100644 index c69d75ed..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-34-308Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:55:34.308Z -# Max entries per file: 10000 - -2025-09-14T19:55:41.033Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:55:41.045Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:55:41.045Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:55:42.437Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:55:42.460Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:55:42.462Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:55:42.464Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-35-273Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-35-273Z.log deleted file mode 100644 index b6146484..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-35-273Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:55:35.273Z -# Max entries per file: 10000 - -2025-09-14T19:55:40.119Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:55:40.132Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-46-899Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-46-899Z.log deleted file mode 100644 index 98812978..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-55-46-899Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:55:46.899Z -# Max entries per file: 10000 - -2025-09-14T19:55:51.808Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3001","nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:55:51.818Z | [STARTUP] | Server started successfully | Meta:{"port":"3001","environment":"development","timestamp":"2025-09-14T19:55:51.818Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:55:52.208Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"localhost","database":"serpentrace"} -2025-09-14T19:55:52.226Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:55:52.226Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:55:52.236Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-22-131Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-22-131Z.log deleted file mode 100644 index 2cb209ac..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-22-131Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:56:22.131Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-22-663Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-22-663Z.log deleted file mode 100644 index 352181cb..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-22-663Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:56:22.663Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-23-727Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-23-727Z.log deleted file mode 100644 index 922fc7f7..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-23-727Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:56:23.727Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-28-658Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-28-658Z.log deleted file mode 100644 index 8329300d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-28-658Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:56:28.658Z -# Max entries per file: 10000 - -2025-09-14T19:56:36.291Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:56:36.303Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:56:36.303Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:56:37.750Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:56:37.776Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:56:37.777Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:56:37.779Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-30-047Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-30-047Z.log deleted file mode 100644 index 27d8f5d6..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-30-047Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:56:30.047Z -# Max entries per file: 10000 - -2025-09-14T19:56:35.724Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:56:35.740Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-30-264Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-30-264Z.log deleted file mode 100644 index e3577c93..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-30-264Z.log +++ /dev/null @@ -1,8 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:56:30.264Z -# Max entries per file: 10000 - -2025-09-14T19:56:35.940Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3001","nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:56:35.949Z | [STARTUP] | Server started successfully | Meta:{"port":"3001","environment":"development","timestamp":"2025-09-14T19:56:35.949Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:56:35.955Z | [STARTUP] | Received SIGINT. Shutting down gracefully... -2025-09-14T19:56:35.956Z | [STARTUP] | HTTP server closed diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-50-987Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-50-987Z.log deleted file mode 100644 index eb164ff8..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-50-987Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:56:50.987Z -# Max entries per file: 10000 - -2025-09-14T19:56:56.338Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:56:56.350Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-51-714Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-51-714Z.log deleted file mode 100644 index 5c487d80..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-56-51-714Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:56:51.714Z -# Max entries per file: 10000 - -2025-09-14T19:56:58.570Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:56:58.586Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:56:58.586Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:57:00.050Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:57:00.075Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:57:00.077Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:57:00.084Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-22-310Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-22-310Z.log deleted file mode 100644 index b24c5c03..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-22-310Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:57:22.310Z -# Max entries per file: 10000 - -2025-09-14T19:57:29.394Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:57:29.405Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:57:29.405Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:57:30.897Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:57:30.929Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:57:30.931Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:57:30.934Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-23-216Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-23-216Z.log deleted file mode 100644 index 46acfef6..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-23-216Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:57:23.216Z -# Max entries per file: 10000 - -2025-09-14T19:57:28.407Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:57:28.421Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-34-124Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-34-124Z.log deleted file mode 100644 index 57dc327b..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-34-124Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:57:34.124Z -# Max entries per file: 10000 - -2025-09-14T19:57:39.760Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:57:39.777Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-34-793Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-34-793Z.log deleted file mode 100644 index 5293787a..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-34-793Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:57:34.793Z -# Max entries per file: 10000 - -2025-09-14T19:57:42.264Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T19:57:42.278Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T19:57:42.278Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:57:43.916Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T19:57:43.942Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:57:43.944Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:57:43.952Z | [REQUEST] | Incoming request | ReqId:0me8zlf48 | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.954Z | [REQUEST] | GET /api-docs/ | ReqId:0me8zlf48 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.962Z | [REQUEST] | Request completed | ReqId:0me8zlf48 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:10ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.966Z | [STARTUP] | Redis client connected successfully -2025-09-14T19:57:43.976Z | [REQUEST] | Incoming request | ReqId:sq278yirw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.978Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:sq278yirw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.982Z | [REQUEST] | Request completed | ReqId:sq278yirw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.985Z | [REQUEST] | Incoming request | ReqId:fqkahr9at | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.986Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:fqkahr9at | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.989Z | [REQUEST] | Request completed | ReqId:fqkahr9at | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.993Z | [REQUEST] | Incoming request | ReqId:utojci4dv | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:43.998Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:utojci4dv | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:44.002Z | [REQUEST] | Request completed | ReqId:utojci4dv | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:44.006Z | [REQUEST] | Incoming request | ReqId:grl6mvhv4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:44.009Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:grl6mvhv4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T19:57:44.011Z | [REQUEST] | Request completed | ReqId:grl6mvhv4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-46-327Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-46-327Z.log deleted file mode 100644 index 0f52b639..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T19-57-46-327Z.log +++ /dev/null @@ -1,14 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T19:57:46.327Z -# Max entries per file: 10000 - -2025-09-14T19:57:51.157Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3001","nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T19:57:51.166Z | [STARTUP] | Server started successfully | Meta:{"port":"3001","environment":"development","timestamp":"2025-09-14T19:57:51.166Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T19:57:51.571Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"localhost","database":"serpentrace"} -2025-09-14T19:57:51.589Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T19:57:51.590Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T19:57:51.596Z | [STARTUP] | Redis client connected successfully -2025-09-14T19:58:02.604Z | [REQUEST] | Incoming request | ReqId:khxdq2w4r | IP:::1 | GET /api-docs?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757879882599 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-09-14T19:58:02.606Z | [REQUEST] | Request completed | ReqId:khxdq2w4r | IP:::1 | GET /api-docs?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757879882599 | Status:301 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-09-14T19:58:02.610Z | [REQUEST] | Incoming request | ReqId:063om7yyi | IP:::1 | GET /api-docs/?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757879882599 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb -2025-09-14T19:58:02.612Z | [REQUEST] | Request completed | ReqId:063om7yyi | IP:::1 | GET /api-docs/?id=71580eb7-92cd-4e84-8d20-de8a86ab1458&vscodeBrowserReqId=1757879882599 | Status:200 | Time:2ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWeb diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-02-38-171Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-02-38-171Z.log deleted file mode 100644 index 3c1c82a1..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-02-38-171Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:02:38.171Z -# Max entries per file: 10000 - -2025-09-14T20:02:44.163Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:02:44.177Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-02-38-740Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-02-38-740Z.log deleted file mode 100644 index 64e79e26..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-02-38-740Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:02:38.740Z -# Max entries per file: 10000 - -2025-09-14T20:02:46.546Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:02:46.558Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:02:46.558Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:02:48.059Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:02:48.082Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:02:48.084Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:02:48.086Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-02-39-778Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-02-39-778Z.log deleted file mode 100644 index 6729c6ff..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-02-39-778Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:02:39.778Z -# Max entries per file: 10000 - -2025-09-14T20:02:45.618Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3001","nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:02:45.627Z | [STARTUP] | Server started successfully | Meta:{"port":"3001","environment":"development","timestamp":"2025-09-14T20:02:45.627Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:02:46.043Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"localhost","database":"serpentrace"} -2025-09-14T20:02:46.059Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:02:46.059Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:02:46.065Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-24-544Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-24-544Z.log deleted file mode 100644 index e459927f..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-24-544Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:03:24.544Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-26-103Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-26-103Z.log deleted file mode 100644 index 61acd9a9..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-26-103Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:03:26.103Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-26-308Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-26-308Z.log deleted file mode 100644 index bbc43d04..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-26-308Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:03:26.308Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-36-394Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-36-394Z.log deleted file mode 100644 index 984737e0..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-36-394Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:03:36.394Z -# Max entries per file: 10000 - -2025-09-14T20:03:44.301Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:03:44.314Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:03:44.314Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:03:45.750Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:03:45.773Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:03:45.775Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:03:45.777Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-37-940Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-37-940Z.log deleted file mode 100644 index fe43f6ba..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-37-940Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:03:37.940Z -# Max entries per file: 10000 - -2025-09-14T20:03:43.872Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3001","nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:03:43.881Z | [STARTUP] | Server started successfully | Meta:{"port":"3001","environment":"development","timestamp":"2025-09-14T20:03:43.881Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:03:44.307Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"localhost","database":"serpentrace"} -2025-09-14T20:03:44.325Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:03:44.326Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:03:44.333Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-37-988Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-37-988Z.log deleted file mode 100644 index 299ca0bd..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-03-37-988Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:03:37.988Z -# Max entries per file: 10000 - -2025-09-14T20:03:43.936Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:03:43.949Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-06-995Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-06-995Z.log deleted file mode 100644 index 7059eb3d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-06-995Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:04:06.995Z -# Max entries per file: 10000 - -2025-09-14T20:04:12.310Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:04:12.323Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-07-608Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-07-608Z.log deleted file mode 100644 index 2cd90562..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-07-608Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:04:07.608Z -# Max entries per file: 10000 - -2025-09-14T20:04:14.471Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:04:14.483Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:04:14.483Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:04:15.932Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:04:15.958Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:04:15.960Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:04:15.962Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-34-581Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-34-581Z.log deleted file mode 100644 index f6f185d2..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-34-581Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:04:34.581Z -# Max entries per file: 10000 - -2025-09-14T20:04:39.469Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:04:39.482Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-35-057Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-35-057Z.log deleted file mode 100644 index adb2035b..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-04-35-057Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:04:35.057Z -# Max entries per file: 10000 - -2025-09-14T20:04:41.474Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:04:41.485Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:04:41.485Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:04:42.847Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:04:42.872Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:04:42.874Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:04:42.876Z | [STARTUP] | Redis client connected successfully -2025-09-14T20:04:46.110Z | [REQUEST] | Incoming request | ReqId:1yyn1q5t6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.112Z | [REQUEST] | GET /api-docs/ | ReqId:1yyn1q5t6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.116Z | [REQUEST] | Request completed | ReqId:1yyn1q5t6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.134Z | [REQUEST] | Incoming request | ReqId:ksodbmdxj | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.136Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:ksodbmdxj | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.139Z | [REQUEST] | Request completed | ReqId:ksodbmdxj | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.141Z | [REQUEST] | Incoming request | ReqId:q5z3qqwtn | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.142Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:q5z3qqwtn | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.145Z | [REQUEST] | Request completed | ReqId:q5z3qqwtn | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.147Z | [REQUEST] | Incoming request | ReqId:wa3dtpx9u | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.149Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:wa3dtpx9u | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.153Z | [REQUEST] | Request completed | ReqId:wa3dtpx9u | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.156Z | [REQUEST] | Incoming request | ReqId:hpp8km4ph | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.158Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:hpp8km4ph | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:04:46.160Z | [REQUEST] | Request completed | ReqId:hpp8km4ph | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-05-53-162Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-05-53-162Z.log deleted file mode 100644 index 498ed1c3..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-05-53-162Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:05:53.162Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-05-53-638Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-05-53-638Z.log deleted file mode 100644 index 65d817bc..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-05-53-638Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:05:53.638Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-05-59-981Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-05-59-981Z.log deleted file mode 100644 index 7c60bb1a..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-05-59-981Z.log +++ /dev/null @@ -1,91 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:05:59.981Z -# Max entries per file: 10000 - -2025-09-14T20:06:06.865Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:06:06.878Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:06:06.878Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:06:08.423Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:06:08.457Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:06:08.459Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:06:08.465Z | [STARTUP] | Redis client connected successfully -2025-09-14T20:06:25.226Z | [REQUEST] | Incoming request | ReqId:am94kk6mw | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.228Z | [REQUEST] | GET /api-docs/ | ReqId:am94kk6mw | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.233Z | [REQUEST] | Request completed | ReqId:am94kk6mw | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:7ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.245Z | [REQUEST] | Incoming request | ReqId:ym563icb4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.247Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:ym563icb4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.250Z | [REQUEST] | Request completed | ReqId:ym563icb4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.252Z | [REQUEST] | Incoming request | ReqId:ry1k9aw66 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.254Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:ry1k9aw66 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.256Z | [REQUEST] | Request completed | ReqId:ry1k9aw66 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.258Z | [REQUEST] | Incoming request | ReqId:g0svs24ty | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.260Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:g0svs24ty | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.263Z | [REQUEST] | Request completed | ReqId:g0svs24ty | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.266Z | [REQUEST] | Incoming request | ReqId:v5g6qkrjt | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.268Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:v5g6qkrjt | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:25.282Z | [REQUEST] | Request completed | ReqId:v5g6qkrjt | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:16ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.495Z | [REQUEST] | Incoming request | ReqId:u20sx1lyq | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.498Z | [REQUEST] | GET /api-docs/ | ReqId:u20sx1lyq | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.500Z | [REQUEST] | Request completed | ReqId:u20sx1lyq | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.511Z | [REQUEST] | Incoming request | ReqId:uf1mmdj9r | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.513Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:uf1mmdj9r | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.516Z | [REQUEST] | Incoming request | ReqId:jtr47plur | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.517Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:jtr47plur | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.520Z | [REQUEST] | Incoming request | ReqId:q337vnr8t | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.521Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:q337vnr8t | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.523Z | [REQUEST] | Incoming request | ReqId:alliw3ju5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.525Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:alliw3ju5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.526Z | [REQUEST] | Request completed | ReqId:alliw3ju5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.528Z | [REQUEST] | Request completed | ReqId:uf1mmdj9r | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:17ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.530Z | [REQUEST] | Request completed | ReqId:jtr47plur | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:14ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.532Z | [REQUEST] | Request completed | ReqId:q337vnr8t | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:13ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.838Z | [REQUEST] | Incoming request | ReqId:rzbm2n2d6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.840Z | [REQUEST] | GET /api-docs/ | ReqId:rzbm2n2d6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.842Z | [REQUEST] | Request completed | ReqId:rzbm2n2d6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.854Z | [REQUEST] | Incoming request | ReqId:x417iclxa | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.856Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:x417iclxa | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.858Z | [REQUEST] | Incoming request | ReqId:a10yltzew | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.860Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:a10yltzew | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.862Z | [REQUEST] | Incoming request | ReqId:53hgiewt7 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.864Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:53hgiewt7 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.866Z | [REQUEST] | Incoming request | ReqId:v4dvuj5ec | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.867Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:v4dvuj5ec | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.869Z | [REQUEST] | Request completed | ReqId:v4dvuj5ec | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.872Z | [REQUEST] | Request completed | ReqId:x417iclxa | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:18ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.874Z | [REQUEST] | Request completed | ReqId:a10yltzew | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:16ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:26.876Z | [REQUEST] | Request completed | ReqId:53hgiewt7 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:14ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.969Z | [REQUEST] | Incoming request | ReqId:5b9tk7htx | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.971Z | [REQUEST] | GET /api-docs/ | ReqId:5b9tk7htx | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.974Z | [REQUEST] | Request completed | ReqId:5b9tk7htx | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.988Z | [REQUEST] | Incoming request | ReqId:ciuyk74zw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.990Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:ciuyk74zw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.992Z | [REQUEST] | Incoming request | ReqId:7su3rk26l | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.994Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:7su3rk26l | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.995Z | [REQUEST] | Request completed | ReqId:7su3rk26l | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.997Z | [REQUEST] | Incoming request | ReqId:fc9jgpgy0 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:28.999Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:fc9jgpgy0 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:29.001Z | [REQUEST] | Incoming request | ReqId:hpjzyp6q4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:29.002Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:hpjzyp6q4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:29.004Z | [REQUEST] | Request completed | ReqId:ciuyk74zw | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:16ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:29.006Z | [REQUEST] | Request completed | ReqId:fc9jgpgy0 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:29.008Z | [REQUEST] | Request completed | ReqId:hpjzyp6q4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:7ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.296Z | [REQUEST] | Incoming request | ReqId:b0fy5z668 | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.298Z | [REQUEST] | GET /api-docs/ | ReqId:b0fy5z668 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.300Z | [REQUEST] | Request completed | ReqId:b0fy5z668 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.311Z | [REQUEST] | Incoming request | ReqId:iqxhi9r4z | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.313Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:iqxhi9r4z | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.319Z | [REQUEST] | Incoming request | ReqId:klimkepb2 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.320Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:klimkepb2 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.323Z | [REQUEST] | Incoming request | ReqId:5e6xamgv6 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.324Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:5e6xamgv6 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.327Z | [REQUEST] | Incoming request | ReqId:u00i5vmjk | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.328Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:u00i5vmjk | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.330Z | [REQUEST] | Request completed | ReqId:u00i5vmjk | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.332Z | [REQUEST] | Request completed | ReqId:iqxhi9r4z | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | Time:21ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.337Z | [REQUEST] | Request completed | ReqId:5e6xamgv6 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | Time:14ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.344Z | [REQUEST] | Request completed | ReqId:klimkepb2 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | Time:25ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.447Z | [REQUEST] | Incoming request | ReqId:njo7qe6h2 | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.449Z | [REQUEST] | GET /api-docs/favicon-16x16.png | ReqId:njo7qe6h2 | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:31.452Z | [REQUEST] | Request completed | ReqId:njo7qe6h2 | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | Status:200 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:06:38.747Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-09-14T20:06:38.749Z | [STARTUP] | HTTP server closed -2025-09-14T20:06:38.750Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-06-01-139Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-06-01-139Z.log deleted file mode 100644 index e30b328d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-06-01-139Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:06:01.139Z -# Max entries per file: 10000 - -2025-09-14T20:06:05.936Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:06:05.951Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-07-02-912Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-07-02-912Z.log deleted file mode 100644 index 3844d87a..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-07-02-912Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:07:02.912Z -# Max entries per file: 10000 - -2025-09-14T20:07:09.099Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:07:09.117Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:07:09.116Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:07:09.517Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:07:09.538Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:07:09.540Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:07:09.549Z | [STARTUP] | Redis client connected successfully -2025-09-14T20:07:11.349Z | [REQUEST] | Incoming request | ReqId:cryjoxei6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.351Z | [REQUEST] | GET /api-docs/ | ReqId:cryjoxei6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.355Z | [REQUEST] | Request completed | ReqId:cryjoxei6 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.373Z | [REQUEST] | Incoming request | ReqId:jinfpn5ty | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.375Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:jinfpn5ty | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.378Z | [REQUEST] | Request completed | ReqId:jinfpn5ty | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.381Z | [REQUEST] | Incoming request | ReqId:b9k3wztje | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.382Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:b9k3wztje | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.384Z | [REQUEST] | Request completed | ReqId:b9k3wztje | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.386Z | [REQUEST] | Incoming request | ReqId:ijjrg0hv4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.388Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:ijjrg0hv4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.390Z | [REQUEST] | Request completed | ReqId:ijjrg0hv4 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.394Z | [REQUEST] | Incoming request | ReqId:a87yylovk | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.396Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:a87yylovk | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:07:11.398Z | [REQUEST] | Request completed | ReqId:a87yylovk | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-00-227Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-00-227Z.log deleted file mode 100644 index eb31e65a..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-00-227Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:08:00.227Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-00-798Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-00-798Z.log deleted file mode 100644 index a2d4b6af..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-00-798Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:08:00.798Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-07-227Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-07-227Z.log deleted file mode 100644 index d7962a1e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-07-227Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:08:07.227Z -# Max entries per file: 10000 - -2025-09-14T20:08:14.471Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:08:14.483Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:08:14.483Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:08:14.869Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:08:14.901Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:08:14.903Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:08:14.912Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-07-983Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-07-983Z.log deleted file mode 100644 index 8d1222e9..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-08-07-983Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:08:07.983Z -# Max entries per file: 10000 - -2025-09-14T20:08:13.360Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:08:13.377Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-39-137Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-39-137Z.log deleted file mode 100644 index 5cb6b130..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-39-137Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:09:39.137Z -# Max entries per file: 10000 - -2025-09-14T20:09:45.937Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:09:45.950Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:09:45.950Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:09:46.340Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:09:46.372Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:09:46.374Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:09:46.384Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-39-957Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-39-957Z.log deleted file mode 100644 index 34e8065d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-39-957Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:09:39.957Z -# Max entries per file: 10000 - -2025-09-14T20:09:45.006Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:09:45.018Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-48-920Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-48-920Z.log deleted file mode 100644 index 449d4d33..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-48-920Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:09:48.920Z -# Max entries per file: 10000 - -2025-09-14T20:09:54.298Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:09:54.312Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-49-547Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-49-547Z.log deleted file mode 100644 index 044113c8..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-49-547Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:09:49.547Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-58-049Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-58-049Z.log deleted file mode 100644 index ff3607f3..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-58-049Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:09:58.049Z -# Max entries per file: 10000 - -2025-09-14T20:10:03.082Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:10:03.096Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-58-619Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-58-619Z.log deleted file mode 100644 index c3c75803..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-09-58-619Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:09:58.619Z -# Max entries per file: 10000 - -2025-09-14T20:10:05.346Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:10:05.358Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:10:05.358Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:10:05.779Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:10:05.802Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:10:05.804Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:10:05.823Z | [STARTUP] | Redis client connected successfully -2025-09-14T20:10:49.221Z | [REQUEST] | Incoming request | ReqId:cymen6mtp | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.224Z | [REQUEST] | GET /api-docs/ | ReqId:cymen6mtp | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.228Z | [REQUEST] | Request completed | ReqId:cymen6mtp | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:7ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.250Z | [REQUEST] | Incoming request | ReqId:77bal0bui | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.253Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:77bal0bui | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.257Z | [REQUEST] | Request completed | ReqId:77bal0bui | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:7ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.260Z | [REQUEST] | Incoming request | ReqId:2u3nxw1vs | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.262Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:2u3nxw1vs | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.265Z | [REQUEST] | Request completed | ReqId:2u3nxw1vs | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.269Z | [REQUEST] | Incoming request | ReqId:brdg5c91e | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.272Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:brdg5c91e | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.275Z | [REQUEST] | Request completed | ReqId:brdg5c91e | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.278Z | [REQUEST] | Incoming request | ReqId:3unaqja0j | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.280Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:3unaqja0j | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:10:49.282Z | [REQUEST] | Request completed | ReqId:3unaqja0j | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-10-47-240Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-10-47-240Z.log deleted file mode 100644 index 36806c8f..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-10-47-240Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:10:47.240Z -# Max entries per file: 10000 - -2025-09-14T20:10:52.507Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:10:52.520Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-11-03-972Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-11-03-972Z.log deleted file mode 100644 index 79dea904..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-11-03-972Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:11:03.972Z -# Max entries per file: 10000 - -2025-09-14T20:11:10.326Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:11:10.338Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:11:10.338Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:11:10.727Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:11:10.750Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:11:10.752Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:11:10.773Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-11-55-344Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-11-55-344Z.log deleted file mode 100644 index 70e91025..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-11-55-344Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:11:55.344Z -# Max entries per file: 10000 - -2025-09-14T20:12:01.808Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:12:01.821Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:12:01.821Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:12:02.222Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:12:02.245Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:12:02.247Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:12:02.269Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-05-216Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-05-216Z.log deleted file mode 100644 index 9605a65a..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-05-216Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:12:05.216Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-10-978Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-10-978Z.log deleted file mode 100644 index a17c569f..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-10-978Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:12:10.978Z -# Max entries per file: 10000 - -2025-09-14T20:12:17.617Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:12:17.632Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:12:17.632Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:12:18.063Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:12:18.104Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:12:18.108Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:12:18.118Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-22-724Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-22-724Z.log deleted file mode 100644 index d57c44ee..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-22-724Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:12:22.724Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-27-642Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-27-642Z.log deleted file mode 100644 index 26a28f95..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-27-642Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:12:27.642Z -# Max entries per file: 10000 - -2025-09-14T20:12:33.901Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:12:33.912Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:12:33.912Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:12:34.292Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:12:34.325Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:12:34.327Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:12:34.335Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-40-587Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-40-587Z.log deleted file mode 100644 index 4be18a53..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-12-40-587Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:12:40.587Z -# Max entries per file: 10000 - -2025-09-14T20:12:46.791Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:12:46.802Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:12:46.802Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:12:47.170Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:12:47.192Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:12:47.193Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:12:47.210Z | [STARTUP] | Redis client connected successfully -2025-09-14T20:12:47.233Z | [REQUEST] | Incoming request | ReqId:kkv72ie1q | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.235Z | [REQUEST] | GET /api-docs/ | ReqId:kkv72ie1q | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.240Z | [REQUEST] | Request completed | ReqId:kkv72ie1q | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.262Z | [REQUEST] | Incoming request | ReqId:8onq1yhwd | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.264Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:8onq1yhwd | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.267Z | [REQUEST] | Request completed | ReqId:8onq1yhwd | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.279Z | [REQUEST] | Incoming request | ReqId:lqy3wbx07 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.282Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:lqy3wbx07 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.284Z | [REQUEST] | Request completed | ReqId:lqy3wbx07 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.286Z | [REQUEST] | Incoming request | ReqId:tbk28cbpz | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.289Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:tbk28cbpz | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.291Z | [REQUEST] | Request completed | ReqId:tbk28cbpz | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.294Z | [REQUEST] | Incoming request | ReqId:y4hu9r8s8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.295Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:y4hu9r8s8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:12:47.297Z | [REQUEST] | Request completed | ReqId:y4hu9r8s8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-13-00-379Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-13-00-379Z.log deleted file mode 100644 index eb626f0e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-13-00-379Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:13:00.379Z -# Max entries per file: 10000 - -2025-09-14T20:13:06.910Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:13:06.922Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:13:06.922Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:13:07.333Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:13:07.362Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:13:07.364Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:13:07.386Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-13-15-653Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-13-15-653Z.log deleted file mode 100644 index 00617a93..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-13-15-653Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:13:15.653Z -# Max entries per file: 10000 - -2025-09-14T20:13:21.986Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:13:21.998Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:13:21.998Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:13:22.407Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:13:22.437Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:13:22.439Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:13:22.447Z | [STARTUP] | Redis client connected successfully -2025-09-14T20:13:24.171Z | [REQUEST] | Incoming request | ReqId:cymkg9nvg | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.173Z | [REQUEST] | GET /api-docs/ | ReqId:cymkg9nvg | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.177Z | [REQUEST] | Request completed | ReqId:cymkg9nvg | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.191Z | [REQUEST] | Incoming request | ReqId:1w5odnf0k | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.193Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:1w5odnf0k | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.196Z | [REQUEST] | Request completed | ReqId:1w5odnf0k | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.199Z | [REQUEST] | Incoming request | ReqId:18hfakfg5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.200Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:18hfakfg5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.202Z | [REQUEST] | Request completed | ReqId:18hfakfg5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:3ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.204Z | [REQUEST] | Incoming request | ReqId:x9q7c26c6 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.206Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:x9q7c26c6 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.208Z | [REQUEST] | Request completed | ReqId:x9q7c26c6 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.213Z | [REQUEST] | Incoming request | ReqId:q43h8m5zl | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.215Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:q43h8m5zl | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:24.217Z | [REQUEST] | Request completed | ReqId:q43h8m5zl | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-13-43-268Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-13-43-268Z.log deleted file mode 100644 index 83cede0f..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-13-43-268Z.log +++ /dev/null @@ -1,25 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:13:43.268Z -# Max entries per file: 10000 - -2025-09-14T20:13:49.367Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:13:49.378Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:13:49.378Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:13:49.773Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:13:49.795Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:13:49.797Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:13:49.800Z | [REQUEST] | Incoming request | ReqId:62wqvzyx9 | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.802Z | [REQUEST] | GET /api-docs/ | ReqId:62wqvzyx9 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.807Z | [REQUEST] | Request completed | ReqId:62wqvzyx9 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:7ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.836Z | [STARTUP] | Redis client connected successfully -2025-09-14T20:13:49.842Z | [REQUEST] | Incoming request | ReqId:byythpo6r | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.844Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:byythpo6r | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.847Z | [REQUEST] | Request completed | ReqId:byythpo6r | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.849Z | [REQUEST] | Incoming request | ReqId:2p7zzx3j5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.851Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:2p7zzx3j5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.853Z | [REQUEST] | Request completed | ReqId:2p7zzx3j5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.856Z | [REQUEST] | Incoming request | ReqId:0xpvjdlnf | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.858Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:0xpvjdlnf | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.860Z | [REQUEST] | Request completed | ReqId:0xpvjdlnf | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.863Z | [REQUEST] | Incoming request | ReqId:h5uden8u8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.865Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:h5uden8u8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:13:49.867Z | [REQUEST] | Request completed | ReqId:h5uden8u8 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-14-38-501Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-14-38-501Z.log deleted file mode 100644 index 61bd9a49..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-14-38-501Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:14:38.501Z -# Max entries per file: 10000 - -2025-09-14T20:14:44.798Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:14:44.811Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:14:44.811Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:14:45.190Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:14:45.222Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:14:45.224Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:14:45.232Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-15-32-215Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-15-32-215Z.log deleted file mode 100644 index 0561e0a9..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-15-32-215Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:15:32.215Z -# Max entries per file: 10000 - -2025-09-14T20:15:38.507Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:15:38.519Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:15:38.519Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:15:38.889Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:15:38.920Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:15:38.922Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:15:38.930Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-15-44-576Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-15-44-576Z.log deleted file mode 100644 index c852f506..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-15-44-576Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:15:44.576Z -# Max entries per file: 10000 - -2025-09-14T20:15:50.873Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:15:50.886Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:15:50.886Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:15:51.279Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:15:51.311Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:15:51.313Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:15:51.322Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-00-949Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-00-949Z.log deleted file mode 100644 index 0cb2f9ed..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-00-949Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:16:00.949Z -# Max entries per file: 10000 - -2025-09-14T20:16:07.314Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:16:07.327Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:16:07.327Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:16:07.707Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:16:07.728Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:16:07.730Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:16:07.747Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-15-740Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-15-740Z.log deleted file mode 100644 index 03f8e2b3..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-15-740Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:16:15.740Z -# Max entries per file: 10000 - -2025-09-14T20:16:22.160Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:16:22.173Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:16:22.173Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:16:22.555Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:16:22.588Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:16:22.590Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:16:22.599Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-28-104Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-28-104Z.log deleted file mode 100644 index fa692f0b..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-28-104Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:16:28.104Z -# Max entries per file: 10000 - -2025-09-14T20:16:34.549Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:16:34.560Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:16:34.560Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:16:34.941Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:16:34.974Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:16:34.976Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:16:34.985Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-46-081Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-46-081Z.log deleted file mode 100644 index d671a95f..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-16-46-081Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:16:46.081Z -# Max entries per file: 10000 - -2025-09-14T20:16:52.700Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:16:52.713Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:16:52.713Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:16:53.106Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:16:53.129Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:16:53.131Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:16:53.151Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-17-42-278Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-17-42-278Z.log deleted file mode 100644 index 15429b28..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-17-42-278Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:17:42.278Z -# Max entries per file: 10000 - -2025-09-14T20:17:48.580Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:17:48.592Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:17:48.592Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:17:49.004Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:17:49.027Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:17:49.029Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:17:49.047Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-18-04-287Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-18-04-287Z.log deleted file mode 100644 index aaf8e292..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-18-04-287Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:18:04.287Z -# Max entries per file: 10000 - -2025-09-14T20:18:10.588Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:18:10.601Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:18:10.601Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:18:10.997Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:18:11.020Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:18:11.022Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:18:11.043Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-18-25-348Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-18-25-348Z.log deleted file mode 100644 index 09fd39e1..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-18-25-348Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:18:25.348Z -# Max entries per file: 10000 - -2025-09-14T20:18:31.556Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:18:31.568Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:18:31.568Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:18:31.950Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:18:31.982Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:18:31.984Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:18:31.992Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-18-44-491Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-18-44-491Z.log deleted file mode 100644 index 7b05e8ee..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-18-44-491Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:18:44.491Z -# Max entries per file: 10000 - -2025-09-14T20:18:50.746Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:18:50.759Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:18:50.759Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:18:51.158Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:18:51.190Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:18:51.192Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:18:51.201Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-19-04-397Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-19-04-397Z.log deleted file mode 100644 index 25d8dac5..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-19-04-397Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:19:04.397Z -# Max entries per file: 10000 - -2025-09-14T20:19:10.741Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:19:10.754Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:19:10.754Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:19:11.136Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:19:11.167Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:19:11.168Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:19:11.177Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-19-36-569Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-19-36-569Z.log deleted file mode 100644 index bd5b4309..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-19-36-569Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:19:36.569Z -# Max entries per file: 10000 - -2025-09-14T20:19:42.965Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:19:42.977Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:19:42.977Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:19:43.342Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:19:43.373Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:19:43.375Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:19:43.383Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-19-57-030Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-19-57-030Z.log deleted file mode 100644 index eba68041..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-19-57-030Z.log +++ /dev/null @@ -1,88 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:19:57.030Z -# Max entries per file: 10000 - -2025-09-14T20:20:03.240Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-14T20:20:03.252Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-14T20:20:03.252Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-14T20:20:03.612Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-14T20:20:03.643Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-14T20:20:03.645Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-14T20:20:03.653Z | [STARTUP] | Redis client connected successfully -2025-09-14T20:24:43.086Z | [REQUEST] | Incoming request | ReqId:sff45gu0i | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.088Z | [REQUEST] | GET /api-docs/ | ReqId:sff45gu0i | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.092Z | [REQUEST] | Request completed | ReqId:sff45gu0i | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.107Z | [REQUEST] | Incoming request | ReqId:cy0j894z1 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.109Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:cy0j894z1 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.112Z | [REQUEST] | Request completed | ReqId:cy0j894z1 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:5ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.114Z | [REQUEST] | Incoming request | ReqId:id69vfyzc | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.116Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:id69vfyzc | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.118Z | [REQUEST] | Request completed | ReqId:id69vfyzc | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.120Z | [REQUEST] | Incoming request | ReqId:z0rbpuuec | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.121Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:z0rbpuuec | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.124Z | [REQUEST] | Request completed | ReqId:z0rbpuuec | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.126Z | [REQUEST] | Incoming request | ReqId:f4xi5iou9 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.128Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:f4xi5iou9 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T20:24:43.130Z | [REQUEST] | Request completed | ReqId:f4xi5iou9 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-14T21:20:03.585Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":31,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-14T20:50:03.554Z"} -2025-09-14T21:20:03.590Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":3,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-17T21:20:03.587Z"} -2025-09-14T21:20:03.595Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":4,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-14T21:20:03.597Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-17T21:20:03.587Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-14T22:20:03.472Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":9,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-14T21:50:03.463Z"} -2025-09-14T22:20:03.475Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":2,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-17T22:20:03.473Z"} -2025-09-14T22:20:03.477Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":1,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-14T22:20:03.479Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-17T22:20:03.473Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-14T23:20:03.380Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":10,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-14T22:50:03.370Z"} -2025-09-14T23:20:03.382Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-17T23:20:03.381Z"} -2025-09-14T23:20:03.385Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":2,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-14T23:20:03.386Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-17T23:20:03.381Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T00:20:03.299Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":8,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-14T23:50:03.291Z"} -2025-09-15T00:20:03.302Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T00:20:03.301Z"} -2025-09-15T00:20:03.305Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":2,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T00:20:03.306Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T00:20:03.301Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T01:20:03.222Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":8,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T00:50:03.214Z"} -2025-09-15T01:20:03.225Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T01:20:03.224Z"} -2025-09-15T01:20:03.228Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":2,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T01:20:03.229Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T01:20:03.224Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T02:20:03.144Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":8,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T01:50:03.136Z"} -2025-09-15T02:20:03.146Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T02:20:03.145Z"} -2025-09-15T02:20:03.149Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":1,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T02:20:03.150Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T02:20:03.145Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T03:20:02.030Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":7,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T02:50:02.023Z"} -2025-09-15T03:20:02.033Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T03:20:02.032Z"} -2025-09-15T03:20:02.036Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":2,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T03:20:02.037Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T03:20:02.032Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T04:20:01.931Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":8,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T03:50:01.923Z"} -2025-09-15T04:20:01.934Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T04:20:01.933Z"} -2025-09-15T04:20:01.937Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":2,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T04:20:01.938Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T04:20:01.933Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T05:20:01.854Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":8,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T04:50:01.846Z"} -2025-09-15T05:20:01.857Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T05:20:01.856Z"} -2025-09-15T05:20:01.860Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":2,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T05:20:01.861Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T05:20:01.856Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T06:20:01.787Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":10,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T05:50:01.777Z"} -2025-09-15T06:20:01.789Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T06:20:01.788Z"} -2025-09-15T06:20:01.792Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":1,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T06:20:01.794Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T06:20:01.788Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T07:20:01.722Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":21,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T06:50:01.701Z"} -2025-09-15T07:20:01.727Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":3,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T07:20:01.724Z"} -2025-09-15T07:20:01.731Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":3,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T07:20:01.733Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T07:20:01.724Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T08:20:01.625Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":12,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T07:50:01.613Z"} -2025-09-15T08:20:01.628Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T08:20:01.627Z"} -2025-09-15T08:20:01.631Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":1,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T08:20:01.633Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T08:20:01.627Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T09:20:01.533Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":10,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T08:50:01.523Z"} -2025-09-15T09:20:01.536Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":2,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T09:20:01.534Z"} -2025-09-15T09:20:01.539Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":2,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T09:20:01.540Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T09:20:01.534Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T10:20:01.470Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":30,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T09:50:01.440Z"} -2025-09-15T10:20:01.474Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":2,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T10:20:01.472Z"} -2025-09-15T10:20:01.479Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":3,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T10:20:01.481Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T10:20:01.472Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T11:20:01.381Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":8,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T10:50:01.373Z"} -2025-09-15T11:20:01.385Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":1,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T11:20:01.384Z"} -2025-09-15T11:20:01.388Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":2,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T11:20:01.389Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T11:20:01.383Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T11:45:18.409Z | [STARTUP] | Received SIGTERM. Shutting down gracefully... -2025-09-15T11:45:18.474Z | [STARTUP] | HTTP server closed -2025-09-15T11:45:18.813Z | [CONNECTION] | Database connection closed | Meta:{"connectionType":"postgresql","status":"success"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-23-38-787Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-23-38-787Z.log deleted file mode 100644 index 588cd354..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-14T20-23-38-787Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-14T20:23:38.787Z -# Max entries per file: 10000 - -2025-09-14T20:23:43.504Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":3000,"nodeVersion":"v22.9.0","chatInactivityTimeout":"30"} -2025-09-14T20:23:43.522Z | [ERROR] | Uncaught Exception - Server will shut down | Meta:{"name":"Error","message":"listen EADDRINUSE: address already in use :::3000","stack":"Error: listen EADDRINUSE: address already in use :::3000\n at Server.setupListenHandle [as _listen2] (node:net:1908:16)\n at listenInCluster (node:net:1965:12)\n at Server.listen (node:net:2067:7)\n at Object. (D:\\munka\\SzeSnake\\SerpentRace_Backend\\src\\Api\\index.ts:193:27)\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\n at Module.m._compile (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1618:23)\n at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)\n at Object.require.extensions. [as .ts] (D:\\munka\\SzeSnake\\SerpentRace_Backend\\node_modules\\ts-node\\src\\index.ts:1621:12)\n at Module.load (node:internal/modules/cjs/loader:1317:32)\n at Function.Module._load (node:internal/modules/cjs/loader:1127:12)"} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-19-26-585Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-19-26-585Z.log deleted file mode 100644 index 9cbeff53..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-19-26-585Z.log +++ /dev/null @@ -1,41 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:19:26.585Z -# Max entries per file: 10000 - -2025-09-15T12:19:32.866Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:19:32.878Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:19:32.878Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:19:33.263Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:19:33.284Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:19:33.286Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:19:33.298Z | [STARTUP] | Redis client connected successfully -2025-09-15T12:28:28.318Z | [REQUEST] | Incoming request | ReqId:q9xumji83 | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.320Z | [REQUEST] | GET /api-docs/ | ReqId:q9xumji83 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.324Z | [REQUEST] | Request completed | ReqId:q9xumji83 | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.357Z | [REQUEST] | Incoming request | ReqId:qb1ye19jh | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.359Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:qb1ye19jh | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.361Z | [REQUEST] | Request completed | ReqId:qb1ye19jh | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | Time:4ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.364Z | [REQUEST] | Incoming request | ReqId:exdgz9dua | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.367Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:exdgz9dua | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.373Z | [REQUEST] | Request completed | ReqId:exdgz9dua | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.400Z | [REQUEST] | Incoming request | ReqId:eijtywrju | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.402Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:eijtywrju | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.405Z | [REQUEST] | Incoming request | ReqId:tjtedvicv | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.406Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:tjtedvicv | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.409Z | [REQUEST] | Request completed | ReqId:eijtywrju | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.411Z | [REQUEST] | Request completed | ReqId:tjtedvicv | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.464Z | [REQUEST] | Incoming request | ReqId:ywvfo1bxm | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:28:28.466Z | [REQUEST] | GET /api-docs/favicon-16x16.png | ReqId:ywvfo1bxm | IP:::ffff:172.20.0.1 | GET /api-docs/favicon-16x16.png | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T12:32:07.748Z | [REQUEST] | Incoming request | ReqId:593am1m2y | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:32:07.750Z | [REQUEST] | POST /api/users/create | ReqId:593am1m2y | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:32:07.752Z | [REQUEST] | Create user endpoint accessed | ReqId:593am1m2y | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser","email":"user@example.com"} -2025-09-15T12:32:07.979Z | [ERROR] | UserRepository.create error | Meta:{"name":"QueryFailedError","message":"null value in column \"type\" of relation \"Users\" violates not-null constraint","stack":"QueryFailedError: null value in column \"type\" of relation \"Users\" violates not-null constraint\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:16:28)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:46:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:32:07.981Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Failed to create user in database","stack":"Error: Failed to create user in database\n at UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:31:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:46:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:32:07.983Z | [ERROR] | Create user endpoint error | ReqId:593am1m2y | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to create user","stack":"Error: Failed to create user\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:86:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:32:07.985Z | [REQUEST] | Request completed | ReqId:593am1m2y | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:500 | Time:237ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:33:00.449Z | [REQUEST] | Incoming request | ReqId:mslolhmks | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:33:00.451Z | [REQUEST] | POST /api/users/create | ReqId:mslolhmks | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:33:00.453Z | [REQUEST] | Create user endpoint accessed | ReqId:mslolhmks | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser","email":"user@example.com"} -2025-09-15T12:33:00.620Z | [ERROR] | UserRepository.create error | Meta:{"name":"QueryFailedError","message":"null value in column \"type\" of relation \"Users\" violates not-null constraint","stack":"QueryFailedError: null value in column \"type\" of relation \"Users\" violates not-null constraint\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:16:28)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:46:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:33:00.622Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"Failed to create user in database","stack":"Error: Failed to create user in database\n at UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:31:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:46:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:33:00.624Z | [ERROR] | Create user endpoint error | ReqId:mslolhmks | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to create user","stack":"Error: Failed to create user\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:86:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:33:00.625Z | [REQUEST] | Request completed | ReqId:mslolhmks | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:500 | Time:176ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-10-378Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-10-378Z.log deleted file mode 100644 index 3dcbe9a9..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-10-378Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:35:10.378Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-16-712Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-16-712Z.log deleted file mode 100644 index 45a65313..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-16-712Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:35:16.712Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-26-845Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-26-845Z.log deleted file mode 100644 index 0bc19e32..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-26-845Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:35:26.845Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-35-873Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-35-873Z.log deleted file mode 100644 index e81fd9b0..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-35-35-873Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:35:35.873Z -# Max entries per file: 10000 - -2025-09-15T12:35:42.719Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:35:42.732Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:35:42.732Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:35:43.115Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:35:43.147Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:35:43.149Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:35:43.156Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-36-05-704Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-36-05-704Z.log deleted file mode 100644 index 606664c4..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-36-05-704Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:36:05.704Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-36-08-997Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-36-08-997Z.log deleted file mode 100644 index edc9ba2a..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-36-08-997Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:36:08.997Z -# Max entries per file: 10000 - -2025-09-15T12:36:15.436Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:36:15.449Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:36:15.449Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:36:15.975Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:36:16.015Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:36:16.017Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:36:16.031Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-36-58-728Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-36-58-728Z.log deleted file mode 100644 index b94ddd59..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-36-58-728Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:36:58.728Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-37-01-627Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-37-01-627Z.log deleted file mode 100644 index 53751b13..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-37-01-627Z.log +++ /dev/null @@ -1,18 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:37:01.627Z -# Max entries per file: 10000 - -2025-09-15T12:37:08.011Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:37:08.032Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:37:08.032Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:37:08.842Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:37:08.861Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:37:08.863Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:37:08.868Z | [STARTUP] | Redis client connected successfully -2025-09-15T12:37:42.174Z | [REQUEST] | Incoming request | ReqId:glvtze4j4 | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:37:42.176Z | [REQUEST] | POST /api/users/create | ReqId:glvtze4j4 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:37:42.179Z | [REQUEST] | Create user endpoint accessed | ReqId:glvtze4j4 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser","email":"user@example.com"} -2025-09-15T12:37:42.359Z | [DATABASE] | User created successfully | Meta:{"executionTime":25,"userId":"e560f2c5-055e-4911-90ba-44890e6fe661","username":"TesztUser","email":"user@example.com"} -2025-09-15T12:37:42.625Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Missing credentials for \"PLAIN\"","stack":"Error: Missing credentials for \"PLAIN\"\n at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:809:19)\n at SMTPConnection.login (/app/node_modules/nodemailer/lib/smtp-connection/index.js:454:38)\n at /app/node_modules/nodemailer/lib/smtp-transport/index.js:272:32\n at SMTPConnection. (/app/node_modules/nodemailer/lib/smtp-connection/index.js:215:17)\n at Object.onceWrapper (node:events:638:28)\n at SMTPConnection.emit (node:events:524:28)\n at SMTPConnection.emit (node:domain:489:12)\n at SMTPConnection._actionEHLO (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1371:14)\n at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:993:20)\n at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:774:14)"} -2025-09-15T12:37:42.627Z | [WARNING] | Failed to send verification email | Meta:{"email":"user@example.com","userId":"e560f2c5-055e-4911-90ba-44890e6fe661"} -2025-09-15T12:37:42.629Z | [REQUEST] | User created successfully | ReqId:glvtze4j4 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"e560f2c5-055e-4911-90ba-44890e6fe661","username":"TesztUser"} -2025-09-15T12:37:42.632Z | [REQUEST] | Request completed | ReqId:glvtze4j4 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:201 | Time:458ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-39-44-241Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-39-44-241Z.log deleted file mode 100644 index e9e81cf3..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-39-44-241Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:39:44.241Z -# Max entries per file: 10000 - -2025-09-15T12:39:50.587Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:39:50.600Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:39:50.600Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:39:51.449Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:39:51.470Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:39:51.471Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:39:51.477Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-40-00-507Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-40-00-507Z.log deleted file mode 100644 index 9af13397..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-40-00-507Z.log +++ /dev/null @@ -1,31 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:40:00.507Z -# Max entries per file: 10000 - -2025-09-15T12:40:06.929Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:40:06.942Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:40:06.942Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:40:07.745Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:40:07.765Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:40:07.767Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:40:07.772Z | [STARTUP] | Redis client connected successfully -2025-09-15T12:40:22.594Z | [REQUEST] | Incoming request | ReqId:s1v0fji91 | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:40:22.596Z | [REQUEST] | POST /api/users/create | ReqId:s1v0fji91 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:40:22.599Z | [REQUEST] | Create user endpoint accessed | ReqId:s1v0fji91 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser","email":"user@example.com"} -2025-09-15T12:40:22.775Z | [DATABASE] | User created successfully | Meta:{"executionTime":20,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztUser","email":"user@example.com"} -2025-09-15T12:40:23.015Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Missing credentials for \"PLAIN\"","stack":"Error: Missing credentials for \"PLAIN\"\n at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:809:19)\n at SMTPConnection.login (/app/node_modules/nodemailer/lib/smtp-connection/index.js:454:38)\n at /app/node_modules/nodemailer/lib/smtp-transport/index.js:272:32\n at SMTPConnection. (/app/node_modules/nodemailer/lib/smtp-connection/index.js:215:17)\n at Object.onceWrapper (node:events:638:28)\n at SMTPConnection.emit (node:events:524:28)\n at SMTPConnection.emit (node:domain:489:12)\n at SMTPConnection._actionEHLO (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1371:14)\n at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:993:20)\n at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:774:14)"} -2025-09-15T12:40:23.017Z | [WARNING] | Failed to send verification email | Meta:{"email":"user@example.com","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:40:23.019Z | [REQUEST] | User created successfully | ReqId:s1v0fji91 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztUser"} -2025-09-15T12:40:23.021Z | [REQUEST] | Request completed | ReqId:s1v0fji91 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:201 | Time:427ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:41:32.394Z | [REQUEST] | Incoming request | ReqId:vz85w21ja | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T12:41:32.396Z | [REQUEST] | POST /api/users/login | ReqId:vz85w21ja | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:41:32.398Z | [REQUEST] | Login endpoint accessed | ReqId:vz85w21ja | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T12:41:32.400Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T12:41:32.417Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":15,"found":true,"username":"TesztUser"} -2025-09-15T12:41:32.419Z | [DATABASE] | User lookup completed | Meta:{"executionTime":19,"found":true,"searchBy":"username"} -2025-09-15T12:41:32.570Z | [AUTH] | Password verification completed | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","valid":true,"verificationTime":150} -2025-09-15T12:41:32.574Z | [AUTH] | Login successful | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":174} -2025-09-15T12:41:32.576Z | [AUTH] | User login successful | ReqId:vz85w21ja | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztUser"} -2025-09-15T12:41:32.578Z | [REQUEST] | Request completed | ReqId:vz85w21ja | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:184ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:41:48.986Z | [REQUEST] | Incoming request | ReqId:amumwt25s | IP:::ffff:172.20.0.1 | POST /api/users/logout | UA:PostmanRuntime/7.45.0 -2025-09-15T12:41:48.988Z | [REQUEST] | POST /api/users/logout | ReqId:amumwt25s | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:41:48.990Z | [REQUEST] | Request completed | ReqId:amumwt25s | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:404 | Time:4ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-48-47-841Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-48-47-841Z.log deleted file mode 100644 index 02d4d91c..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-48-47-841Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:48:47.841Z -# Max entries per file: 10000 - -2025-09-15T12:48:49.684Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:48:49.698Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:48:49.698Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:48:50.561Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:48:50.565Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:48:50.567Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:48:50.569Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-49-09-893Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-49-09-893Z.log deleted file mode 100644 index be0f518a..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-49-09-893Z.log +++ /dev/null @@ -1,43 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:49:09.893Z -# Max entries per file: 10000 - -2025-09-15T12:49:11.651Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:49:11.664Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:49:11.664Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:49:12.488Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:49:12.492Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:49:12.493Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:49:12.495Z | [STARTUP] | Redis client connected successfully -2025-09-15T12:49:18.910Z | [REQUEST] | Incoming request | ReqId:x9twrmood | IP:::ffff:172.20.0.1 | POST /api/users/logout | UA:PostmanRuntime/7.45.0 -2025-09-15T12:49:18.913Z | [REQUEST] | POST /api/users/logout | ReqId:x9twrmood | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:49:18.918Z | [AUTH] | Authentication successful | ReqId:x9twrmood | IP:::ffff:172.20.0.1 | POST /api/users/logout | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T12:49:18.920Z | [AUTH] | Logout process started | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:49:18.925Z | [AUTH] | JWT token blacklisted | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","tokenExpiry":85934} -2025-09-15T12:49:18.927Z | [AUTH] | User removed from active sessions | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:49:18.942Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":5,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:49:18.943Z | [DATABASE] | User updated successfully | Meta:{"query":"update(ffa31617-2cf9-403e-ab9d-87eeec85ce58)","executionTime":14,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updatedFields":["updatedate"],"success":true} -2025-09-15T12:49:18.945Z | [AUTH] | User last logout timestamp updated | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:49:18.948Z | [AUTH] | User cache cleared | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:49:18.949Z | [AUTH] | User logout completed successfully | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:49:18.951Z | [REQUEST] | User logged out successfully | ReqId:x9twrmood | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:49:18.953Z | [REQUEST] | Request completed | ReqId:x9twrmood | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | Time:43ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:49:28.379Z | [REQUEST] | Incoming request | ReqId:t8vc1878y | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T12:49:28.381Z | [REQUEST] | POST /api/users/login | ReqId:t8vc1878y | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:49:28.383Z | [REQUEST] | Login endpoint accessed | ReqId:t8vc1878y | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T12:49:28.385Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T12:49:28.390Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":3,"found":true,"username":"TesztUser"} -2025-09-15T12:49:28.392Z | [DATABASE] | User lookup completed | Meta:{"executionTime":7,"found":true,"searchBy":"username"} -2025-09-15T12:49:28.543Z | [AUTH] | Password verification completed | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","valid":true,"verificationTime":150} -2025-09-15T12:49:28.547Z | [AUTH] | Login successful | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":162} -2025-09-15T12:49:28.549Z | [AUTH] | User login successful | ReqId:t8vc1878y | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztUser"} -2025-09-15T12:49:28.551Z | [REQUEST] | Request completed | ReqId:t8vc1878y | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:172ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:50:26.136Z | [REQUEST] | Incoming request | ReqId:wrt3pu1i2 | IP:::ffff:172.20.0.1 | POST /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T12:50:26.138Z | [REQUEST] | POST /api/users/profile | ReqId:wrt3pu1i2 | IP:::ffff:172.20.0.1 | POST /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:50:26.141Z | [REQUEST] | Request completed | ReqId:wrt3pu1i2 | IP:::ffff:172.20.0.1 | POST /api/users/profile | Status:404 | Time:5ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:50:40.248Z | [REQUEST] | Incoming request | ReqId:mdj6td86j | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T12:50:40.250Z | [REQUEST] | GET /api/users/profile | ReqId:mdj6td86j | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:50:40.254Z | [AUTH] | Authentication successful | ReqId:mdj6td86j | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T12:50:40.255Z | [REQUEST] | Get user profile endpoint accessed | ReqId:mdj6td86j | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:50:40.270Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":13,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:50:40.272Z | [REQUEST] | User profile retrieved successfully | ReqId:mdj6td86j | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztUser"} -2025-09-15T12:50:40.273Z | [REQUEST] | Request completed | ReqId:mdj6td86j | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | Time:25ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-52-01-020Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-52-01-020Z.log deleted file mode 100644 index 4d09b780..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-52-01-020Z.log +++ /dev/null @@ -1,116 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:52:01.020Z -# Max entries per file: 10000 - -2025-09-15T12:52:02.736Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:52:02.751Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:52:02.751Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:52:03.631Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:52:03.636Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:52:03.637Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:52:03.639Z | [STARTUP] | Redis client connected successfully -2025-09-15T12:52:09.917Z | [REQUEST] | Incoming request | ReqId:4t001uku2 | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T12:52:09.919Z | [REQUEST] | GET /api/users/profile | ReqId:4t001uku2 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:52:09.924Z | [AUTH] | Authentication successful | ReqId:4t001uku2 | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T12:52:09.926Z | [REQUEST] | Get user profile endpoint accessed | ReqId:4t001uku2 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:52:09.936Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":9,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:52:09.937Z | [REQUEST] | User profile retrieved successfully | ReqId:4t001uku2 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztUser"} -2025-09-15T12:52:09.940Z | [REQUEST] | Request completed | ReqId:4t001uku2 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | Time:23ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:52:31.743Z | [REQUEST] | Incoming request | ReqId:h9zwe89hh | IP:::ffff:172.20.0.1 | POST /api/users/logout | UA:PostmanRuntime/7.45.0 -2025-09-15T12:52:31.746Z | [REQUEST] | POST /api/users/logout | ReqId:h9zwe89hh | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:52:31.749Z | [AUTH] | Authentication successful | ReqId:h9zwe89hh | IP:::ffff:172.20.0.1 | POST /api/users/logout | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T12:52:31.751Z | [AUTH] | Logout process started | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:52:31.754Z | [AUTH] | JWT token blacklisted | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","tokenExpiry":86217} -2025-09-15T12:52:31.757Z | [AUTH] | User removed from active sessions | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:52:31.773Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":2,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:52:31.775Z | [DATABASE] | User updated successfully | Meta:{"query":"update(ffa31617-2cf9-403e-ab9d-87eeec85ce58)","executionTime":17,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updatedFields":["updatedate"],"success":true} -2025-09-15T12:52:31.776Z | [AUTH] | User last logout timestamp updated | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:52:31.778Z | [AUTH] | User cache cleared | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:52:31.780Z | [AUTH] | User logout completed successfully | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:52:31.781Z | [REQUEST] | User logged out successfully | ReqId:h9zwe89hh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:52:31.783Z | [REQUEST] | Request completed | ReqId:h9zwe89hh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | Time:40ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:53:25.323Z | [REQUEST] | Incoming request | ReqId:o2fg2oi9u | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T12:53:25.325Z | [REQUEST] | GET /api/users/profile | ReqId:o2fg2oi9u | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:53:25.328Z | [AUTH] | Authentication failed - Token blacklisted | ReqId:o2fg2oi9u | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 | Meta:{"ip":"::ffff:172.20.0.1","userAgent":"PostmanRuntime/7.45.0","path":"/profile"} -2025-09-15T12:53:25.330Z | [REQUEST] | Request completed | ReqId:o2fg2oi9u | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:401 | Time:7ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:53:41.156Z | [REQUEST] | Incoming request | ReqId:q4u7qdspw | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T12:53:41.158Z | [REQUEST] | POST /api/users/login | ReqId:q4u7qdspw | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:53:41.160Z | [REQUEST] | Login endpoint accessed | ReqId:q4u7qdspw | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T12:53:41.163Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T12:53:41.174Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":10,"found":true,"username":"TesztUser"} -2025-09-15T12:53:41.176Z | [DATABASE] | User lookup completed | Meta:{"executionTime":13,"found":true,"searchBy":"username"} -2025-09-15T12:53:41.327Z | [AUTH] | Password verification completed | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","valid":true,"verificationTime":149} -2025-09-15T12:53:41.331Z | [AUTH] | Login successful | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":168} -2025-09-15T12:53:41.333Z | [AUTH] | User login successful | ReqId:q4u7qdspw | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztUser"} -2025-09-15T12:53:41.335Z | [REQUEST] | Request completed | ReqId:q4u7qdspw | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:179ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:09.875Z | [REQUEST] | Incoming request | ReqId:djcuh0yw5 | IP:::ffff:172.20.0.1 | PATCH /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:09.877Z | [REQUEST] | PATCH /api/users/profile | ReqId:djcuh0yw5 | IP:::ffff:172.20.0.1 | PATCH /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:09.880Z | [AUTH] | Authentication successful | ReqId:djcuh0yw5 | IP:::ffff:172.20.0.1 | PATCH /api/users/profile | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T12:54:09.882Z | [REQUEST] | Update user profile endpoint accessed | ReqId:djcuh0yw5 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","fieldsToUpdate":["username","password"]} -2025-09-15T12:54:10.046Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":3,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:10.048Z | [DATABASE] | User updated successfully | Meta:{"query":"update(ffa31617-2cf9-403e-ab9d-87eeec85ce58)","executionTime":15,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updatedFields":["id","username","password"],"success":true} -2025-09-15T12:54:10.050Z | [REQUEST] | User profile updated successfully | ReqId:djcuh0yw5 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztAdmin"} -2025-09-15T12:54:10.052Z | [REQUEST] | Request completed | ReqId:djcuh0yw5 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/users/profile | Status:200 | Time:177ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:18.420Z | [REQUEST] | Incoming request | ReqId:qoj2pmsic | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:18.422Z | [REQUEST] | GET /api/users/profile | ReqId:qoj2pmsic | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:18.425Z | [AUTH] | Authentication successful | ReqId:qoj2pmsic | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T12:54:18.426Z | [REQUEST] | Get user profile endpoint accessed | ReqId:qoj2pmsic | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:18.430Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":2,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:18.432Z | [REQUEST] | User profile retrieved successfully | ReqId:qoj2pmsic | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztAdmin"} -2025-09-15T12:54:18.433Z | [REQUEST] | Request completed | ReqId:qoj2pmsic | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | Time:13ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:38.465Z | [REQUEST] | Incoming request | ReqId:vrd0xj5h8 | IP:::ffff:172.20.0.1 | DELETE /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:38.467Z | [REQUEST] | DELETE /api/users/profile | ReqId:vrd0xj5h8 | IP:::ffff:172.20.0.1 | DELETE /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:38.469Z | [AUTH] | Authentication successful | ReqId:vrd0xj5h8 | IP:::ffff:172.20.0.1 | DELETE /api/users/profile | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T12:54:38.484Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":3,"found":false,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:38.486Z | [DATABASE] | User soft deleted successfully | Meta:{"query":"update(ffa31617-2cf9-403e-ab9d-87eeec85ce58, { state: SOFT_DELETE })","executionTime":15,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","success":false} -2025-09-15T12:54:38.487Z | [REQUEST] | User soft deleted successfully | ReqId:vrd0xj5h8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | DELETE /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:38.489Z | [REQUEST] | Request completed | ReqId:vrd0xj5h8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | DELETE /api/users/profile | Status:200 | Time:24ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:43.815Z | [REQUEST] | Incoming request | ReqId:yii54vgus | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:43.817Z | [REQUEST] | GET /api/users/profile | ReqId:yii54vgus | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:43.819Z | [AUTH] | Authentication successful | ReqId:yii54vgus | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T12:54:43.821Z | [REQUEST] | Get user profile endpoint accessed | ReqId:yii54vgus | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:43.824Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":2,"found":false,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:43.826Z | [WARNING] | User profile not found | ReqId:yii54vgus | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:43.827Z | [REQUEST] | Request completed | ReqId:yii54vgus | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:404 | Time:12ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:50.178Z | [REQUEST] | Incoming request | ReqId:jgp1r1dec | IP:::ffff:172.20.0.1 | GET /api/users/logout | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:50.180Z | [REQUEST] | GET /api/users/logout | ReqId:jgp1r1dec | IP:::ffff:172.20.0.1 | GET /api/users/logout | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:50.182Z | [REQUEST] | Request completed | ReqId:jgp1r1dec | IP:::ffff:172.20.0.1 | GET /api/users/logout | Status:404 | Time:4ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:57.930Z | [REQUEST] | Incoming request | ReqId:w78a7912l | IP:::ffff:172.20.0.1 | POST /api/users/logout | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:57.932Z | [REQUEST] | POST /api/users/logout | ReqId:w78a7912l | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:54:57.935Z | [AUTH] | Authentication successful | ReqId:w78a7912l | IP:::ffff:172.20.0.1 | POST /api/users/logout | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T12:54:57.937Z | [AUTH] | Logout process started | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:57.940Z | [AUTH] | JWT token blacklisted | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","tokenExpiry":86324} -2025-09-15T12:54:57.942Z | [AUTH] | User removed from active sessions | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:57.954Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":1,"found":false,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:57.956Z | [DATABASE] | User updated successfully | Meta:{"query":"update(ffa31617-2cf9-403e-ab9d-87eeec85ce58)","executionTime":12,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updatedFields":["updatedate"],"success":false} -2025-09-15T12:54:57.958Z | [AUTH] | User cache cleared | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:57.960Z | [AUTH] | User logout completed successfully | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:57.961Z | [REQUEST] | User logged out successfully | ReqId:w78a7912l | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T12:54:57.963Z | [REQUEST] | Request completed | ReqId:w78a7912l | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/users/logout | Status:200 | Time:33ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:55:22.864Z | [REQUEST] | Incoming request | ReqId:mclmp1qlh | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:55:22.866Z | [REQUEST] | POST /api/users/create | ReqId:mclmp1qlh | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:55:22.868Z | [REQUEST] | Create user endpoint accessed | ReqId:mclmp1qlh | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztAdmin","email":"user@example.com"} -2025-09-15T12:55:23.066Z | [ERROR] | UserRepository.create error | Meta:{"name":"QueryFailedError","message":"duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"","stack":"QueryFailedError: duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:16:28)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:55:23.068Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"User with this username or email already exists","stack":"Error: User with this username or email already exists\n at UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:28:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:55:23.070Z | [ERROR] | Create user endpoint error | ReqId:mclmp1qlh | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to create user","stack":"Error: Failed to create user\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:84:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:55:23.072Z | [REQUEST] | Request completed | ReqId:mclmp1qlh | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:500 | Time:208ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:55:31.890Z | [REQUEST] | Incoming request | ReqId:fjhc85an2 | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:55:31.892Z | [REQUEST] | POST /api/users/create | ReqId:fjhc85an2 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:55:31.894Z | [REQUEST] | Create user endpoint accessed | ReqId:fjhc85an2 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztAdmin","email":"user@example.com"} -2025-09-15T12:55:32.050Z | [ERROR] | UserRepository.create error | Meta:{"name":"QueryFailedError","message":"duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"","stack":"QueryFailedError: duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:16:28)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:55:32.052Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"User with this username or email already exists","stack":"Error: User with this username or email already exists\n at UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:28:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:55:32.054Z | [ERROR] | Create user endpoint error | ReqId:fjhc85an2 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to create user","stack":"Error: Failed to create user\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:84:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:55:32.056Z | [REQUEST] | Request completed | ReqId:fjhc85an2 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:500 | Time:166ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:55:58.720Z | [REQUEST] | Incoming request | ReqId:8z2pt6wls | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:55:58.723Z | [REQUEST] | POST /api/users/create | ReqId:8z2pt6wls | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:55:58.728Z | [REQUEST] | Create user endpoint accessed | ReqId:8z2pt6wls | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztAdmin","email":"user@example.com"} -2025-09-15T12:55:58.903Z | [ERROR] | UserRepository.create error | Meta:{"name":"QueryFailedError","message":"duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"","stack":"QueryFailedError: duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:16:28)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:55:58.906Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"User with this username or email already exists","stack":"Error: User with this username or email already exists\n at UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:28:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:55:58.909Z | [ERROR] | Create user endpoint error | ReqId:8z2pt6wls | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to create user","stack":"Error: Failed to create user\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:84:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:55:58.911Z | [REQUEST] | Request completed | ReqId:8z2pt6wls | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:500 | Time:191ms | UA:PostmanRuntime/7.45.0 -2025-09-15T12:56:02.539Z | [REQUEST] | Incoming request | ReqId:xarq833pk | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:56:02.541Z | [REQUEST] | POST /api/users/create | ReqId:xarq833pk | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:56:02.543Z | [REQUEST] | Create user endpoint accessed | ReqId:xarq833pk | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztAdmin1","email":"user@example.com"} -2025-09-15T12:56:02.700Z | [ERROR] | UserRepository.create error | Meta:{"name":"QueryFailedError","message":"duplicate key value violates unique constraint \"UQ_3c3ab3f49a87e6ddb607f3c4945\"","stack":"QueryFailedError: duplicate key value violates unique constraint \"UQ_3c3ab3f49a87e6ddb607f3c4945\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:16:28)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:56:02.702Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"User with this username or email already exists","stack":"Error: User with this username or email already exists\n at UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:28:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:56:02.704Z | [ERROR] | Create user endpoint error | ReqId:xarq833pk | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to create user","stack":"Error: Failed to create user\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:84:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:56:02.706Z | [REQUEST] | Request completed | ReqId:xarq833pk | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:500 | Time:167ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-57-09-147Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-57-09-147Z.log deleted file mode 100644 index e81fc689..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-57-09-147Z.log +++ /dev/null @@ -1,18 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:57:09.147Z -# Max entries per file: 10000 - -2025-09-15T12:57:10.909Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:57:10.923Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:57:10.923Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:57:11.797Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:57:11.802Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:57:11.803Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:57:11.805Z | [STARTUP] | Redis client connected successfully -2025-09-15T12:57:16.179Z | [REQUEST] | Incoming request | ReqId:lc4shv0do | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:57:16.181Z | [REQUEST] | POST /api/users/create | ReqId:lc4shv0do | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:57:16.184Z | [REQUEST] | Create user endpoint accessed | ReqId:lc4shv0do | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztAdmin","email":"user@example.com"} -2025-09-15T12:57:16.371Z | [ERROR] | UserRepository.create error | Meta:{"name":"QueryFailedError","message":"duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"","stack":"QueryFailedError: duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:16:28)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:57:16.373Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"User with this username or email already exists","stack":"Error: User with this username or email already exists\n at UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:28:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:57:16.375Z | [ERROR] | Create user endpoint error | ReqId:lc4shv0do | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to create user","stack":"Error: Failed to create user\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:84:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:57:16.377Z | [ERROR] | Create user endpoint error | ReqId:lc4shv0do | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to create user","stack":"Error: Failed to create user\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:84:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:57:16.380Z | [REQUEST] | Request completed | ReqId:lc4shv0do | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:500 | Time:201ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-59-13-517Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-59-13-517Z.log deleted file mode 100644 index 7fe31dd2..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-59-13-517Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:59:13.517Z -# Max entries per file: 10000 - -2025-09-15T12:59:15.303Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:59:15.316Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:59:15.316Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:59:16.334Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:59:16.339Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:59:16.341Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:59:16.343Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-59-33-039Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-59-33-039Z.log deleted file mode 100644 index 933e6457..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T12-59-33-039Z.log +++ /dev/null @@ -1,17 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T12:59:33.039Z -# Max entries per file: 10000 - -2025-09-15T12:59:34.745Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T12:59:34.758Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T12:59:34.758Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T12:59:35.583Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T12:59:35.587Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T12:59:35.590Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T12:59:35.592Z | [STARTUP] | Redis client connected successfully -2025-09-15T12:59:40.637Z | [REQUEST] | Incoming request | ReqId:pb09cnqv0 | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T12:59:40.639Z | [REQUEST] | POST /api/users/create | ReqId:pb09cnqv0 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T12:59:40.643Z | [REQUEST] | Create user endpoint accessed | ReqId:pb09cnqv0 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztAdmin","email":"user@example.com"} -2025-09-15T12:59:40.827Z | [ERROR] | UserRepository.create error | Meta:{"name":"QueryFailedError","message":"duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"","stack":"QueryFailedError: duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:16:28)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:59:40.829Z | [ERROR] | CreateUserCommandHandler error | Meta:{"name":"Error","message":"User with this username or email already exists","stack":"Error: User with this username or email already exists\n at UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:28:23)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:59:40.831Z | [ERROR] | Create user endpoint error | ReqId:pb09cnqv0 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to create user","stack":"Error: Failed to create user\n at CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:84:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T12:59:40.834Z | [REQUEST] | Request completed | ReqId:pb09cnqv0 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:500 | Time:197ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-01-39-531Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-01-39-531Z.log deleted file mode 100644 index 77f1e597..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-01-39-531Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:01:39.531Z -# Max entries per file: 10000 - -2025-09-15T13:01:41.391Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:01:41.404Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:01:41.404Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:01:42.306Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:01:42.311Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:01:42.312Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:01:42.314Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-04-05-024Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-04-05-024Z.log deleted file mode 100644 index 3d98c7bd..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-04-05-024Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:04:05.024Z -# Max entries per file: 10000 - -2025-09-15T13:04:06.799Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:04:06.813Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:04:06.813Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:04:07.767Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:04:07.772Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:04:07.774Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:04:07.777Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-04-16-511Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-04-16-511Z.log deleted file mode 100644 index c7b80ea4..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-04-16-511Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:04:16.511Z -# Max entries per file: 10000 - -2025-09-15T13:04:18.361Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:04:18.375Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:04:18.375Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:04:19.274Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:04:19.279Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:04:19.280Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:04:19.282Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-05-05-594Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-05-05-594Z.log deleted file mode 100644 index 60c76467..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-05-05-594Z.log +++ /dev/null @@ -1,48 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:05:05.594Z -# Max entries per file: 10000 - -2025-09-15T13:05:07.337Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:05:07.351Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:05:07.351Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:05:08.342Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:05:08.347Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:05:08.349Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:05:08.350Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:05:16.809Z | [REQUEST] | Incoming request | ReqId:1f3eifswo | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T13:05:16.812Z | [REQUEST] | POST /api/users/create | ReqId:1f3eifswo | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:05:16.816Z | [REQUEST] | Create user endpoint accessed | ReqId:1f3eifswo | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztAdmin","email":"user@example.com"} -2025-09-15T13:05:17.010Z | [ERROR] | UserRepository.create error | Meta:{"name":"QueryFailedError","message":"duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"","stack":"QueryFailedError: duplicate key value violates unique constraint \"UQ_ffc81a3b97dcbf8e320d5106c0d\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async UserRepository.create (/app/src/Infrastructure/Repository/UserRepository.ts:16:28)\n at async CreateUserCommandHandler.execute (/app/src/Application/User/commands/CreateUserCommandHandler.ts:44:23)\n at async /app/src/Api/routers/userRouter.ts:77:18"} -2025-09-15T13:05:17.014Z | [REQUEST] | Request completed | ReqId:1f3eifswo | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:409 | Time:205ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:06:06.365Z | [REQUEST] | Incoming request | ReqId:faaxhg3i1 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T13:06:06.367Z | [REQUEST] | POST /api/users/login | ReqId:faaxhg3i1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:06:06.369Z | [REQUEST] | Login endpoint accessed | ReqId:faaxhg3i1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztAdmin"} -2025-09-15T13:06:06.371Z | [AUTH] | Login attempt | Meta:{"username":"TesztAdmin"} -2025-09-15T13:06:06.394Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztAdmin })","executionTime":20,"found":true,"username":"TesztAdmin"} -2025-09-15T13:06:06.396Z | [DATABASE] | User lookup completed | Meta:{"executionTime":25,"found":true,"searchBy":"username"} -2025-09-15T13:06:06.550Z | [AUTH] | Password verification completed | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","valid":true,"verificationTime":151} -2025-09-15T13:06:06.556Z | [AUTH] | Login successful | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":185} -2025-09-15T13:06:06.558Z | [AUTH] | User login successful | ReqId:faaxhg3i1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztAdmin"} -2025-09-15T13:06:06.560Z | [REQUEST] | Request completed | ReqId:faaxhg3i1 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:195ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:07:03.023Z | [REQUEST] | Incoming request | ReqId:148mhu0kz | IP:::ffff:172.20.0.1 | GET /api-docs/ | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.025Z | [REQUEST] | GET /api-docs/ | ReqId:148mhu0kz | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.031Z | [REQUEST] | Request completed | ReqId:148mhu0kz | IP:::ffff:172.20.0.1 | GET /api-docs/ | Status:304 | Time:8ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.056Z | [REQUEST] | Incoming request | ReqId:cr24npsy5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.059Z | [REQUEST] | GET /api-docs/swagger-ui.css | ReqId:cr24npsy5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.061Z | [REQUEST] | Incoming request | ReqId:qmgartctm | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.063Z | [REQUEST] | GET /api-docs/swagger-ui-bundle.js | ReqId:qmgartctm | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.066Z | [REQUEST] | Request completed | ReqId:cr24npsy5 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui.css | Status:304 | Time:10ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.068Z | [REQUEST] | Request completed | ReqId:qmgartctm | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-bundle.js | Status:304 | Time:7ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.072Z | [REQUEST] | Incoming request | ReqId:qm5m8ga8e | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.074Z | [REQUEST] | GET /api-docs/swagger-ui-standalone-preset.js | ReqId:qm5m8ga8e | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.078Z | [REQUEST] | Request completed | ReqId:qm5m8ga8e | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-standalone-preset.js | Status:304 | Time:6ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.080Z | [REQUEST] | Incoming request | ReqId:hbywdbqe2 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.085Z | [REQUEST] | GET /api-docs/swagger-ui-init.js | ReqId:hbywdbqe2 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:200 | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:07:03.089Z | [REQUEST] | Request completed | ReqId:hbywdbqe2 | IP:::ffff:172.20.0.1 | GET /api-docs/swagger-ui-init.js | Status:304 | Time:9ms | UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0 -2025-09-15T13:21:56.108Z | [REQUEST] | Incoming request | ReqId:dyxy3fe8v | IP:::ffff:172.20.0.1 | POST /api/decks/ | UA:PostmanRuntime/7.45.0 -2025-09-15T13:21:56.110Z | [REQUEST] | POST /api/decks/ | ReqId:dyxy3fe8v | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:21:56.115Z | [AUTH] | Authentication successful | ReqId:dyxy3fe8v | IP:::ffff:172.20.0.1 | POST /api/decks/ | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:21:56.117Z | [REQUEST] | Create deck endpoint accessed | ReqId:dyxy3fe8v | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"TestLuckCard","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:21:56.128Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: undefined })","executionTime":9,"found":true} -2025-09-15T13:21:56.130Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:21:56.130Z","deckName":"TestLuckCard","deckType":2,"cardCount":3} -2025-09-15T13:21:56.145Z | [ERROR] | Create deck endpoint error | ReqId:dyxy3fe8v | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"QueryFailedError","message":"null value in column \"user_id\" of relation \"Decks\" violates not-null constraint","stack":"QueryFailedError: null value in column \"user_id\" of relation \"Decks\" violates not-null constraint\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async InsertQueryBuilder.execute (/app/node_modules/src/query-builder/InsertQueryBuilder.ts:164:33)\n at async SubjectExecutor.executeInsertOperations (/app/node_modules/src/persistence/SubjectExecutor.ts:435:42)\n at async SubjectExecutor.execute (/app/node_modules/src/persistence/SubjectExecutor.ts:137:9)\n at async EntityPersistExecutor.execute (/app/node_modules/src/persistence/EntityPersistExecutor.ts:182:21)\n at async CreateDeckCommandHandler.createDeck (/app/src/Application/Deck/commands/CreateDeckCommandHandler.ts:112:21)\n at async /app/src/Api/routers/deckRouter.ts:64:18"} -2025-09-15T13:21:56.148Z | [REQUEST] | Request completed | ReqId:dyxy3fe8v | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:500 | Time:40ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-23-41-490Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-23-41-490Z.log deleted file mode 100644 index 62d354e2..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-23-41-490Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:23:41.490Z -# Max entries per file: 10000 - -2025-09-15T13:23:43.323Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:23:43.340Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:23:43.340Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:23:44.199Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:23:44.204Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:23:44.206Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:23:44.208Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-24-35-940Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-24-35-940Z.log deleted file mode 100644 index 72891e7d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-24-35-940Z.log +++ /dev/null @@ -1,19 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:24:35.940Z -# Max entries per file: 10000 - -2025-09-15T13:24:37.729Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:24:37.742Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:24:37.742Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:24:38.621Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:24:38.625Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:24:38.626Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:24:38.628Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:24:41.226Z | [REQUEST] | Incoming request | ReqId:vf0yd6b4i | IP:::ffff:172.20.0.1 | POST /api/decks/ | UA:PostmanRuntime/7.45.0 -2025-09-15T13:24:41.228Z | [REQUEST] | POST /api/decks/ | ReqId:vf0yd6b4i | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:24:41.233Z | [AUTH] | Authentication successful | ReqId:vf0yd6b4i | IP:::ffff:172.20.0.1 | POST /api/decks/ | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:24:41.235Z | [REQUEST] | Create deck endpoint accessed | ReqId:vf0yd6b4i | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"TestLuckCard","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:24:41.244Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":8,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:24:41.246Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:24:41.246Z","deckName":"TestLuckCard","deckType":2,"cardCount":3} -2025-09-15T13:24:41.259Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"2fd99236-7748-4662-af37-2c8d17af4313","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","deckName":"TestLuckCard","deckType":2,"cardCount":3} -2025-09-15T13:24:41.260Z | [REQUEST] | Deck created successfully | ReqId:vf0yd6b4i | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"2fd99236-7748-4662-af37-2c8d17af4313","name":"TestLuckCard","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:24:41.263Z | [REQUEST] | Request completed | ReqId:vf0yd6b4i | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | Time:37ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-26-42-347Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-26-42-347Z.log deleted file mode 100644 index 0fbfb7b7..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-26-42-347Z.log +++ /dev/null @@ -1,45 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:26:42.347Z -# Max entries per file: 10000 - -2025-09-15T13:26:44.028Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:26:44.041Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:26:44.041Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:26:44.859Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:26:44.863Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:26:44.865Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:26:44.867Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:27:30.496Z | [REQUEST] | Incoming request | ReqId:qybe4z9r3 | IP:::ffff:172.20.0.1 | POST /api/decks/ | UA:PostmanRuntime/7.45.0 -2025-09-15T13:27:30.498Z | [REQUEST] | POST /api/decks/ | ReqId:qybe4z9r3 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:27:30.504Z | [AUTH] | Authentication successful | ReqId:qybe4z9r3 | IP:::ffff:172.20.0.1 | POST /api/decks/ | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:27:30.506Z | [REQUEST] | Create deck endpoint accessed | ReqId:qybe4z9r3 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"TestJOKERCard","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:27:30.522Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":14,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:27:30.524Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:27:30.524Z","deckName":"TestJOKERCard","deckType":1,"cardCount":1} -2025-09-15T13:27:30.536Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","deckName":"TestJOKERCard","deckType":1,"cardCount":1} -2025-09-15T13:27:30.538Z | [REQUEST] | Deck created successfully | ReqId:qybe4z9r3 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","name":"TestJOKERCard","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:27:30.541Z | [REQUEST] | Request completed | ReqId:qybe4z9r3 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | Time:45ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:28:08.994Z | [REQUEST] | Incoming request | ReqId:5qs85uahx | IP:::ffff:172.20.0.1 | POST /api/decks/ | UA:PostmanRuntime/7.45.0 -2025-09-15T13:28:08.996Z | [REQUEST] | POST /api/decks/ | ReqId:5qs85uahx | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:28:09.000Z | [AUTH] | Authentication successful | ReqId:5qs85uahx | IP:::ffff:172.20.0.1 | POST /api/decks/ | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:28:09.002Z | [REQUEST] | Create deck endpoint accessed | ReqId:5qs85uahx | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"TestQUESTIONCard","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:28:09.015Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":12,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:28:09.017Z | [AUTH] | ADMIN_BYPASS: CREATE_DECK_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"new-deck","action":"CREATE_DECK_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:28:09.017Z","deckName":"TestQUESTIONCard","deckType":2,"cardCount":1} -2025-09-15T13:28:09.023Z | [REQUEST] | Deck created successfully | Meta:{"deckId":"c6336b46-a80c-467a-a329-9ad51bdbba6c","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","deckName":"TestQUESTIONCard","deckType":2,"cardCount":1} -2025-09-15T13:28:09.025Z | [REQUEST] | Deck created successfully | ReqId:5qs85uahx | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"c6336b46-a80c-467a-a329-9ad51bdbba6c","name":"TestQUESTIONCard","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:28:09.027Z | [REQUEST] | Request completed | ReqId:5qs85uahx | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/decks/ | Status:200 | Time:33ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:28:34.166Z | [REQUEST] | Incoming request | ReqId:mz6qkai4y | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:28:34.167Z | [REQUEST] | GET /api/decks/page/0/50 | ReqId:mz6qkai4y | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:28:34.171Z | [AUTH] | Authentication successful | ReqId:mz6qkai4y | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:28:34.173Z | [REQUEST] | Get decks by page endpoint accessed | ReqId:mz6qkai4y | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","userOrgId":"","isAdmin":true,"from":0,"to":50} -2025-09-15T13:28:34.175Z | [AUTH] | ADMIN_BYPASS: GET_DECKS_PAGE_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"paginated-decks","action":"GET_DECKS_PAGE_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:28:34.175Z","from":0,"to":50,"includesDeleted":false,"operation":"read"} -2025-09-15T13:28:34.176Z | [REQUEST] | Get decks by page query started | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","userOrgId":"","isAdmin":true,"from":0,"to":50,"includeDeleted":false} -2025-09-15T13:28:34.178Z | [AUTH] | ADMIN_BYPASS: FIND_FILTERED_DECKS_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"all-decks-filtered","action":"FIND_FILTERED_DECKS_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:28:34.178Z","bypassType":"admin-all-decks-filtered","userOrgId":"","from":0,"to":50,"operation":"read"} -2025-09-15T13:28:34.197Z | [DATABASE] | Admin filtered deck query completed | Meta:{"query":"executionTime: 19ms, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58, found: 3, totalCount: 3, isAdmin: true"} -2025-09-15T13:28:34.199Z | [REQUEST] | Get decks by page query completed | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","userOrgId":"","isAdmin":true,"from":0,"to":50,"returned":3,"totalCount":3,"includeDeleted":false} -2025-09-15T13:28:34.201Z | [REQUEST] | Get decks page completed successfully | ReqId:mz6qkai4y | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","from":0,"to":50,"returnedCount":3,"totalCount":3} -2025-09-15T13:28:34.203Z | [REQUEST] | Request completed | ReqId:mz6qkai4y | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | Status:200 | Time:37ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:28:44.002Z | [REQUEST] | Incoming request | ReqId:ntr1851wr | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | UA:PostmanRuntime/7.45.0 -2025-09-15T13:28:44.004Z | [REQUEST] | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | ReqId:ntr1851wr | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:28:44.007Z | [AUTH] | Authentication successful | ReqId:ntr1851wr | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:28:44.009Z | [REQUEST] | Get deck by id endpoint accessed | ReqId:ntr1851wr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"c6336b46-a80c-467a-a329-9ad51bdbba6c"} -2025-09-15T13:28:44.013Z | [REQUEST] | Deck retrieved successfully | ReqId:ntr1851wr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"c6336b46-a80c-467a-a329-9ad51bdbba6c"} -2025-09-15T13:28:44.015Z | [REQUEST] | Request completed | ReqId:ntr1851wr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | Status:200 | Time:12ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-29-34-706Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-29-34-706Z.log deleted file mode 100644 index 169ca1f5..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-29-34-706Z.log +++ /dev/null @@ -1,80 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:29:34.706Z -# Max entries per file: 10000 - -2025-09-15T13:29:36.573Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:29:36.588Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:29:36.588Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:29:37.535Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:29:37.540Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:29:37.541Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:29:37.543Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:29:38.521Z | [REQUEST] | Incoming request | ReqId:up9owkuzg | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | UA:PostmanRuntime/7.45.0 -2025-09-15T13:29:38.523Z | [REQUEST] | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | ReqId:up9owkuzg | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:29:38.528Z | [AUTH] | Authentication successful | ReqId:up9owkuzg | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:29:38.530Z | [REQUEST] | Get deck by id endpoint accessed | ReqId:up9owkuzg | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"c6336b46-a80c-467a-a329-9ad51bdbba6c"} -2025-09-15T13:29:38.540Z | [REQUEST] | Deck retrieved successfully | ReqId:up9owkuzg | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"c6336b46-a80c-467a-a329-9ad51bdbba6c"} -2025-09-15T13:29:38.543Z | [REQUEST] | Request completed | ReqId:up9owkuzg | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/c6336b46-a80c-467a-a329-9ad51bdbba6c | Status:200 | Time:22ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:05.712Z | [REQUEST] | Incoming request | ReqId:p5hb1mr6q | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/50 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:05.714Z | [REQUEST] | GET /api/decks/page/1/50 | ReqId:p5hb1mr6q | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/50 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:05.718Z | [AUTH] | Authentication successful | ReqId:p5hb1mr6q | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/50 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:30:05.720Z | [REQUEST] | Get decks by page endpoint accessed | ReqId:p5hb1mr6q | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/50 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","userOrgId":"","isAdmin":true,"from":1,"to":50} -2025-09-15T13:30:05.722Z | [AUTH] | ADMIN_BYPASS: GET_DECKS_PAGE_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"paginated-decks","action":"GET_DECKS_PAGE_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:30:05.722Z","from":1,"to":50,"includesDeleted":false,"operation":"read"} -2025-09-15T13:30:05.724Z | [REQUEST] | Get decks by page query started | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","userOrgId":"","isAdmin":true,"from":1,"to":50,"includeDeleted":false} -2025-09-15T13:30:05.726Z | [AUTH] | ADMIN_BYPASS: FIND_FILTERED_DECKS_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"all-decks-filtered","action":"FIND_FILTERED_DECKS_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:30:05.726Z","bypassType":"admin-all-decks-filtered","userOrgId":"","from":1,"to":50,"operation":"read"} -2025-09-15T13:30:05.751Z | [DATABASE] | Admin filtered deck query completed | Meta:{"query":"executionTime: 26ms, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58, found: 2, totalCount: 3, isAdmin: true"} -2025-09-15T13:30:05.753Z | [REQUEST] | Get decks by page query completed | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","userOrgId":"","isAdmin":true,"from":1,"to":50,"returned":2,"totalCount":3,"includeDeleted":false} -2025-09-15T13:30:05.756Z | [REQUEST] | Get decks page completed successfully | ReqId:p5hb1mr6q | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/50 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","from":1,"to":50,"returnedCount":2,"totalCount":3} -2025-09-15T13:30:05.758Z | [REQUEST] | Request completed | ReqId:p5hb1mr6q | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/page/1/50 | Status:200 | Time:46ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:11.696Z | [REQUEST] | Incoming request | ReqId:dd51xu5s3 | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:11.698Z | [REQUEST] | GET /api/decks/page/0/50 | ReqId:dd51xu5s3 | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:11.701Z | [AUTH] | Authentication successful | ReqId:dd51xu5s3 | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:30:11.703Z | [REQUEST] | Get decks by page endpoint accessed | ReqId:dd51xu5s3 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","userOrgId":"","isAdmin":true,"from":0,"to":50} -2025-09-15T13:30:11.705Z | [AUTH] | ADMIN_BYPASS: GET_DECKS_PAGE_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"paginated-decks","action":"GET_DECKS_PAGE_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:30:11.705Z","from":0,"to":50,"includesDeleted":false,"operation":"read"} -2025-09-15T13:30:11.706Z | [REQUEST] | Get decks by page query started | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","userOrgId":"","isAdmin":true,"from":0,"to":50,"includeDeleted":false} -2025-09-15T13:30:11.708Z | [AUTH] | ADMIN_BYPASS: FIND_FILTERED_DECKS_BYPASS | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","targetId":"all-decks-filtered","action":"FIND_FILTERED_DECKS_BYPASS","bypassReason":"Admin privileges","timestamp":"2025-09-15T13:30:11.708Z","bypassType":"admin-all-decks-filtered","userOrgId":"","from":0,"to":50,"operation":"read"} -2025-09-15T13:30:11.716Z | [DATABASE] | Admin filtered deck query completed | Meta:{"query":"executionTime: 8ms, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58, found: 3, totalCount: 3, isAdmin: true"} -2025-09-15T13:30:11.719Z | [REQUEST] | Get decks by page query completed | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","userOrgId":"","isAdmin":true,"from":0,"to":50,"returned":3,"totalCount":3,"includeDeleted":false} -2025-09-15T13:30:11.720Z | [REQUEST] | Get decks page completed successfully | ReqId:dd51xu5s3 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","from":0,"to":50,"returnedCount":3,"totalCount":3} -2025-09-15T13:30:11.722Z | [REQUEST] | Request completed | ReqId:dd51xu5s3 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/page/0/50 | Status:200 | Time:26ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:20.336Z | [REQUEST] | Incoming request | ReqId:hjwse88um | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:20.338Z | [REQUEST] | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:hjwse88um | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:20.341Z | [AUTH] | Authentication successful | ReqId:hjwse88um | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:30:20.343Z | [REQUEST] | Get deck by id endpoint accessed | ReqId:hjwse88um | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T13:30:20.347Z | [REQUEST] | Deck retrieved successfully | ReqId:hjwse88um | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T13:30:20.349Z | [REQUEST] | Request completed | ReqId:hjwse88um | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:13ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:39.509Z | [REQUEST] | Incoming request | ReqId:kque0rc26 | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:39.511Z | [REQUEST] | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:kque0rc26 | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:39.515Z | [AUTH] | Authentication successful | ReqId:kque0rc26 | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:30:39.516Z | [REQUEST] | Soft delete deck endpoint accessed | ReqId:kque0rc26 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:30:39.532Z | [REQUEST] | Deck soft delete successful | ReqId:kque0rc26 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","success":true} -2025-09-15T13:30:39.534Z | [REQUEST] | Request completed | ReqId:kque0rc26 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:25ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:46.563Z | [REQUEST] | Incoming request | ReqId:mu36xi6e8 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:46.565Z | [REQUEST] | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:mu36xi6e8 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:30:46.568Z | [AUTH] | Authentication successful | ReqId:mu36xi6e8 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:30:46.570Z | [REQUEST] | Get deck by id endpoint accessed | ReqId:mu36xi6e8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T13:30:46.573Z | [WARNING] | Deck not found | ReqId:mu36xi6e8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T13:30:46.575Z | [REQUEST] | Request completed | ReqId:mu36xi6e8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:12ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:31:17.680Z | [REQUEST] | Incoming request | ReqId:7gmo2fhko | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:31:17.682Z | [REQUEST] | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:7gmo2fhko | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:31:17.687Z | [AUTH] | Admin authentication successful | ReqId:7gmo2fhko | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:31:17.690Z | [REQUEST] | Admin get deck by id endpoint accessed | ReqId:7gmo2fhko | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T13:31:17.702Z | [WARNING] | Deck not found | ReqId:7gmo2fhko | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T13:31:17.705Z | [REQUEST] | Request completed | ReqId:7gmo2fhko | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:25ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:31:42.235Z | [REQUEST] | Incoming request | ReqId:g67b01cdw | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:31:42.237Z | [REQUEST] | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:g67b01cdw | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:31:42.240Z | [AUTH] | Admin authentication successful | ReqId:g67b01cdw | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:31:42.242Z | [REQUEST] | Admin get deck by id endpoint accessed | ReqId:g67b01cdw | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T13:31:42.253Z | [WARNING] | Deck not found | ReqId:g67b01cdw | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T13:31:42.255Z | [REQUEST] | Request completed | ReqId:g67b01cdw | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:20ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:31:50.204Z | [REQUEST] | Incoming request | ReqId:0lzne8ot8 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:31:50.207Z | [REQUEST] | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:0lzne8ot8 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:31:50.210Z | [AUTH] | Admin authentication successful | ReqId:0lzne8ot8 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:31:50.212Z | [REQUEST] | Admin get deck by id endpoint accessed | ReqId:0lzne8ot8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T13:31:50.215Z | [WARNING] | Deck not found | ReqId:0lzne8ot8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T13:31:50.216Z | [REQUEST] | Request completed | ReqId:0lzne8ot8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:12ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:32:21.452Z | [REQUEST] | Incoming request | ReqId:g6rb1d954 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | UA:PostmanRuntime/7.45.0 -2025-09-15T13:32:21.454Z | [REQUEST] | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:g6rb1d954 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:32:21.458Z | [AUTH] | Admin authentication successful | ReqId:g6rb1d954 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:32:21.460Z | [REQUEST] | Admin get deck by id endpoint accessed | ReqId:g6rb1d954 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":true} -2025-09-15T13:32:21.471Z | [REQUEST] | Admin deck retrieved successfully | ReqId:g6rb1d954 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":true} -2025-09-15T13:32:21.473Z | [REQUEST] | Request completed | ReqId:g6rb1d954 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | Time:21ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-33-47-071Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-33-47-071Z.log deleted file mode 100644 index 2b73943b..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-33-47-071Z.log +++ /dev/null @@ -1,22 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:33:47.071Z -# Max entries per file: 10000 - -2025-09-15T13:33:48.872Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:33:48.886Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:33:48.886Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:33:49.727Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:33:49.731Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:33:49.733Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:33:49.735Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:34:05.538Z | [REQUEST] | Incoming request | ReqId:ycymyqimc | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:34:05.540Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:ycymyqimc | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:34:05.546Z | [AUTH] | Admin authentication successful | ReqId:ycymyqimc | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:34:05.548Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:ycymyqimc | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:34:05.569Z | [REQUEST] | Deck updated successfully by admin | ReqId:ycymyqimc | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:34:05.572Z | [REQUEST] | Request completed | ReqId:ycymyqimc | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:34ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:34:20.127Z | [REQUEST] | Incoming request | ReqId:gkyyo5yvb | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:34:20.129Z | [REQUEST] | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:gkyyo5yvb | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:34:20.133Z | [AUTH] | Authentication successful | ReqId:gkyyo5yvb | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:34:20.135Z | [REQUEST] | Get deck by id endpoint accessed | ReqId:gkyyo5yvb | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T13:34:20.148Z | [REQUEST] | Deck retrieved successfully | ReqId:gkyyo5yvb | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T13:34:20.151Z | [REQUEST] | Request completed | ReqId:gkyyo5yvb | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:24ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-35-57-280Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-35-57-280Z.log deleted file mode 100644 index 0fbdae83..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-35-57-280Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:35:57.280Z -# Max entries per file: 10000 - -2025-09-15T13:35:59.213Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:35:59.236Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:35:59.236Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:36:00.116Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:36:00.120Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:36:00.121Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:36:00.123Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-36-43-572Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-36-43-572Z.log deleted file mode 100644 index 18826ddc..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-36-43-572Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:36:43.572Z -# Max entries per file: 10000 - -2025-09-15T13:36:45.317Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:36:45.340Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:36:45.340Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:36:46.218Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:36:46.223Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:36:46.225Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:36:46.227Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-37-16-542Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-37-16-542Z.log deleted file mode 100644 index c99b51d5..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-37-16-542Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:37:16.542Z -# Max entries per file: 10000 - -2025-09-15T13:37:18.339Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:37:18.356Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:37:18.356Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:37:19.242Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:37:19.246Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:37:19.248Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:37:19.250Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-37-32-547Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-37-32-547Z.log deleted file mode 100644 index 3ec28a99..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-37-32-547Z.log +++ /dev/null @@ -1,16 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:37:32.547Z -# Max entries per file: 10000 - -2025-09-15T13:37:34.359Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:37:34.374Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:37:34.374Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:37:35.317Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:37:35.322Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:37:35.324Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:37:35.326Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:37:42.627Z | [REQUEST] | Incoming request | ReqId:i89tfam1y | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:37:42.630Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:i89tfam1y | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:37:42.638Z | [AUTH] | Authentication successful | ReqId:i89tfam1y | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:37:42.640Z | [REQUEST] | Update deck endpoint accessed | ReqId:i89tfam1y | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:37:42.650Z | [ERROR] | Update deck endpoint error | ReqId:i89tfam1y | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Only Admin users can change deck state","stack":"Error: Only Admin users can change deck state\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:11:15)\n at /app/src/Api/routers/deckRouter.ts:149:59\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:88:9)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T13:37:42.653Z | [REQUEST] | Request completed | ReqId:i89tfam1y | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:500 | Time:26ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-38-27-484Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-38-27-484Z.log deleted file mode 100644 index 27f2262e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-38-27-484Z.log +++ /dev/null @@ -1,16 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:38:27.484Z -# Max entries per file: 10000 - -2025-09-15T13:38:29.204Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:38:29.219Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:38:29.219Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:38:30.102Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:38:30.106Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:38:30.108Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:38:30.109Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:38:33.406Z | [REQUEST] | Incoming request | ReqId:8cx4pvnqf | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:38:33.409Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:8cx4pvnqf | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:38:33.414Z | [AUTH] | Authentication successful | ReqId:8cx4pvnqf | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:38:33.416Z | [REQUEST] | Update deck endpoint accessed | ReqId:8cx4pvnqf | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:38:33.421Z | [ERROR] | Update deck endpoint error | ReqId:8cx4pvnqf | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Only Admin users can change deck state","stack":"Error: Only Admin users can change deck state\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:11:15)\n at /app/src/Api/routers/deckRouter.ts:149:59\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:88:9)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T13:38:33.424Z | [REQUEST] | Request completed | ReqId:8cx4pvnqf | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:500 | Time:18ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-38-50-543Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-38-50-543Z.log deleted file mode 100644 index b3d080c3..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-38-50-543Z.log +++ /dev/null @@ -1,28 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:38:50.543Z -# Max entries per file: 10000 - -2025-09-15T13:38:52.204Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:38:52.225Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:38:52.225Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:38:53.077Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:38:53.082Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:38:53.084Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:38:53.085Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:39:02.934Z | [REQUEST] | Incoming request | ReqId:25s3ninsz | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:39:02.936Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:25s3ninsz | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:39:02.941Z | [AUTH] | Authentication successful | ReqId:25s3ninsz | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:39:02.942Z | [REQUEST] | Update deck endpoint accessed | ReqId:25s3ninsz | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:39:02.948Z | [ERROR] | Update deck endpoint error | ReqId:25s3ninsz | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Only admin users can change deck state","stack":"Error: Only admin users can change deck state\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:11:15)\n at /app/src/Api/routers/deckRouter.ts:149:59\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:88:9)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T13:39:02.951Z | [REQUEST] | Request completed | ReqId:25s3ninsz | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:403 | Time:17ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:39:14.176Z | [REQUEST] | Incoming request | ReqId:u2mn4na5w | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:39:14.178Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:u2mn4na5w | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:39:14.182Z | [AUTH] | Admin authentication successful | ReqId:u2mn4na5w | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:39:14.183Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:u2mn4na5w | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:39:14.196Z | [ERROR] | Admin update deck endpoint error | ReqId:u2mn4na5w | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"EntityPropertyNotFoundError","message":"Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.","stack":"EntityPropertyNotFoundError: Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.\n at /app/node_modules/src/query-builder/UpdateQueryBuilder.ts:500:31\n at Array.forEach ()\n at UpdateQueryBuilder.createUpdateExpression (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:493:68)\n at UpdateQueryBuilder.getQuery (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:53:21)\n at UpdateQueryBuilder.getQueryAndParameters (/app/node_modules/src/query-builder/QueryBuilder.ts:495:28)\n at UpdateQueryBuilder.execute (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:142:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async DeckRepository.update (/app/src/Infrastructure/Repository/DeckRepository.ts:91:9)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:13:21)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T13:39:14.198Z | [REQUEST] | Request completed | ReqId:u2mn4na5w | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:22ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:39:46.956Z | [REQUEST] | Incoming request | ReqId:9pokgr876 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:39:46.958Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:9pokgr876 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:39:46.962Z | [AUTH] | Admin authentication successful | ReqId:9pokgr876 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:39:46.964Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:9pokgr876 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:39:46.967Z | [ERROR] | Admin update deck endpoint error | ReqId:9pokgr876 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"EntityPropertyNotFoundError","message":"Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.","stack":"EntityPropertyNotFoundError: Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.\n at /app/node_modules/src/query-builder/UpdateQueryBuilder.ts:500:31\n at Array.forEach ()\n at UpdateQueryBuilder.createUpdateExpression (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:493:68)\n at UpdateQueryBuilder.getQuery (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:53:21)\n at UpdateQueryBuilder.getQueryAndParameters (/app/node_modules/src/query-builder/QueryBuilder.ts:495:28)\n at UpdateQueryBuilder.execute (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:142:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async DeckRepository.update (/app/src/Infrastructure/Repository/DeckRepository.ts:91:9)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:13:21)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T13:39:46.968Z | [REQUEST] | Request completed | ReqId:9pokgr876 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:12ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-40-06-108Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-40-06-108Z.log deleted file mode 100644 index 5ee9f3fd..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-40-06-108Z.log +++ /dev/null @@ -1,6 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:40:06.108Z -# Max entries per file: 10000 - -2025-09-15T13:40:08.010Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:40:08.028Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:40:08.028Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-40-23-157Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-40-23-157Z.log deleted file mode 100644 index 23c067e8..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-40-23-157Z.log +++ /dev/null @@ -1,16 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:40:23.157Z -# Max entries per file: 10000 - -2025-09-15T13:40:24.906Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:40:24.919Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:40:24.919Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:40:25.790Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:40:25.795Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:40:25.797Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:40:25.799Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:40:29.157Z | [REQUEST] | Incoming request | ReqId:nbyi7hf4b | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:40:29.159Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:nbyi7hf4b | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:40:29.164Z | [AUTH] | Admin authentication successful | ReqId:nbyi7hf4b | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:40:29.166Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:nbyi7hf4b | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:40:29.178Z | [ERROR] | Admin update deck endpoint error | ReqId:nbyi7hf4b | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"EntityPropertyNotFoundError","message":"Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.","stack":"EntityPropertyNotFoundError: Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.\n at /app/node_modules/src/query-builder/UpdateQueryBuilder.ts:500:31\n at Array.forEach ()\n at UpdateQueryBuilder.createUpdateExpression (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:493:68)\n at UpdateQueryBuilder.getQuery (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:53:21)\n at UpdateQueryBuilder.getQueryAndParameters (/app/node_modules/src/query-builder/QueryBuilder.ts:495:28)\n at UpdateQueryBuilder.execute (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:142:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async DeckRepository.update (/app/src/Infrastructure/Repository/DeckRepository.ts:91:9)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:13:21)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T13:40:29.181Z | [REQUEST] | Request completed | ReqId:nbyi7hf4b | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:24ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-41-20-719Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-41-20-719Z.log deleted file mode 100644 index fab51ca5..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-41-20-719Z.log +++ /dev/null @@ -1,16 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:41:20.719Z -# Max entries per file: 10000 - -2025-09-15T13:41:22.434Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:41:22.447Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:41:22.447Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:41:23.335Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:41:23.341Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:41:23.343Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:41:23.345Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:41:36.092Z | [REQUEST] | Incoming request | ReqId:fjofmv6l7 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:41:36.095Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:fjofmv6l7 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:41:36.101Z | [AUTH] | Admin authentication successful | ReqId:fjofmv6l7 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:41:36.103Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:fjofmv6l7 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:41:36.118Z | [ERROR] | Admin update deck endpoint error | ReqId:fjofmv6l7 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"EntityPropertyNotFoundError","message":"Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.","stack":"EntityPropertyNotFoundError: Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.\n at /app/node_modules/src/query-builder/UpdateQueryBuilder.ts:500:31\n at Array.forEach ()\n at UpdateQueryBuilder.createUpdateExpression (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:493:68)\n at UpdateQueryBuilder.getQuery (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:53:21)\n at UpdateQueryBuilder.getQueryAndParameters (/app/node_modules/src/query-builder/QueryBuilder.ts:495:28)\n at UpdateQueryBuilder.execute (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:142:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async DeckRepository.update (/app/src/Infrastructure/Repository/DeckRepository.ts:91:9)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:13:21)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T13:41:36.121Z | [REQUEST] | Request completed | ReqId:fjofmv6l7 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:29ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-42-13-170Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-42-13-170Z.log deleted file mode 100644 index 472e77e2..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-42-13-170Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:42:13.170Z -# Max entries per file: 10000 - -2025-09-15T13:42:15.156Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:42:15.172Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:42:15.172Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:42:16.074Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:42:16.078Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:42:16.080Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:42:16.082Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-42-25-322Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-42-25-322Z.log deleted file mode 100644 index d67cac7d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-42-25-322Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:42:25.322Z -# Max entries per file: 10000 - -2025-09-15T13:42:27.252Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:42:27.266Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:42:27.266Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:42:28.267Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:42:28.274Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:42:28.277Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:42:28.279Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-43-30-066Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-43-30-066Z.log deleted file mode 100644 index 0a618693..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-43-30-066Z.log +++ /dev/null @@ -1,16 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:43:30.066Z -# Max entries per file: 10000 - -2025-09-15T13:43:31.768Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:43:31.781Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:43:31.781Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:43:32.780Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:43:32.788Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:43:32.791Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:43:32.793Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:44:15.844Z | [REQUEST] | Incoming request | ReqId:19eou213r | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:44:15.846Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:19eou213r | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:44:15.852Z | [AUTH] | Admin authentication successful | ReqId:19eou213r | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:44:15.854Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:19eou213r | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:44:15.885Z | [ERROR] | Admin update deck endpoint error | ReqId:19eou213r | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"EntityPropertyNotFoundError","message":"Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.","stack":"EntityPropertyNotFoundError: Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.\n at /app/node_modules/src/query-builder/UpdateQueryBuilder.ts:500:31\n at Array.forEach ()\n at UpdateQueryBuilder.createUpdateExpression (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:493:68)\n at UpdateQueryBuilder.getQuery (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:53:21)\n at UpdateQueryBuilder.getQueryAndParameters (/app/node_modules/src/query-builder/QueryBuilder.ts:495:28)\n at UpdateQueryBuilder.execute (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:142:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async DeckRepository.update (/app/src/Infrastructure/Repository/DeckRepository.ts:91:9)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:13:21)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T13:44:15.890Z | [REQUEST] | Request completed | ReqId:19eou213r | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:46ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-46-10-832Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-46-10-832Z.log deleted file mode 100644 index dd2db47e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-46-10-832Z.log +++ /dev/null @@ -1,28 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:46:10.832Z -# Max entries per file: 10000 - -2025-09-15T13:46:12.467Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:46:12.488Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:46:12.488Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:46:13.329Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:46:13.333Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:46:13.335Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:46:13.337Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:46:14.480Z | [REQUEST] | Incoming request | ReqId:824qa6tun | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:46:14.482Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:824qa6tun | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:46:14.488Z | [AUTH] | Admin authentication successful | ReqId:824qa6tun | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:46:14.490Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:824qa6tun | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:46:14.500Z | [REQUEST] | Deck updated successfully by admin | ReqId:824qa6tun | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:46:14.503Z | [REQUEST] | Request completed | ReqId:824qa6tun | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:23ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:46:24.088Z | [REQUEST] | Incoming request | ReqId:7692alx1r | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:46:24.090Z | [REQUEST] | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:7692alx1r | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:46:24.093Z | [AUTH] | Admin authentication successful | ReqId:7692alx1r | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:46:24.095Z | [REQUEST] | Admin get deck by id endpoint accessed | ReqId:7692alx1r | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T13:46:24.099Z | [REQUEST] | Admin deck retrieved successfully | ReqId:7692alx1r | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T13:46:24.101Z | [REQUEST] | Request completed | ReqId:7692alx1r | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:13ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:46:31.366Z | [REQUEST] | Incoming request | ReqId:c8cxyi5g1 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:46:31.369Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:c8cxyi5g1 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:46:31.372Z | [AUTH] | Admin authentication successful | ReqId:c8cxyi5g1 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:46:31.374Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:c8cxyi5g1 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:46:31.382Z | [REQUEST] | Deck updated successfully by admin | ReqId:c8cxyi5g1 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T13:46:31.384Z | [REQUEST] | Request completed | ReqId:c8cxyi5g1 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:18ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-47-09-198Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-47-09-198Z.log deleted file mode 100644 index a10eeb7f..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-47-09-198Z.log +++ /dev/null @@ -1,16 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:47:09.198Z -# Max entries per file: 10000 - -2025-09-15T13:47:10.972Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:47:10.985Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:47:10.985Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:47:11.830Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:47:11.835Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:47:11.836Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:47:11.838Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:47:19.528Z | [REQUEST] | Incoming request | ReqId:2796zm2nk | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:47:19.530Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:2796zm2nk | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:47:19.536Z | [AUTH] | Admin authentication successful | ReqId:2796zm2nk | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:47:19.538Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:2796zm2nk | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:47:19.554Z | [ERROR] | Admin update deck endpoint error | ReqId:2796zm2nk | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"EntityPropertyNotFoundError","message":"Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.","stack":"EntityPropertyNotFoundError: Property \"userstate\" was not found in \"DeckAggregate\". Make sure your query is correct.\n at /app/node_modules/src/query-builder/UpdateQueryBuilder.ts:500:31\n at Array.forEach ()\n at UpdateQueryBuilder.createUpdateExpression (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:493:68)\n at UpdateQueryBuilder.getQuery (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:53:21)\n at UpdateQueryBuilder.getQueryAndParameters (/app/node_modules/src/query-builder/QueryBuilder.ts:495:28)\n at UpdateQueryBuilder.execute (/app/node_modules/src/query-builder/UpdateQueryBuilder.ts:142:50)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async DeckRepository.update (/app/src/Infrastructure/Repository/DeckRepository.ts:91:9)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:14:22)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T13:47:19.558Z | [REQUEST] | Request completed | ReqId:2796zm2nk | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:30ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-52-36-580Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-52-36-580Z.log deleted file mode 100644 index f03c041e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-52-36-580Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:52:36.580Z -# Max entries per file: 10000 - -2025-09-15T13:52:38.386Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:52:38.405Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:52:38.405Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:52:39.350Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:52:39.356Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:52:39.358Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:52:39.361Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-53-08-111Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-53-08-111Z.log deleted file mode 100644 index 7a6d62d0..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-53-08-111Z.log +++ /dev/null @@ -1,40 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:53:08.111Z -# Max entries per file: 10000 - -2025-09-15T13:53:09.775Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:53:09.789Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:53:09.789Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:53:10.592Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:53:10.597Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:53:10.599Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:53:10.600Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:53:15.284Z | [REQUEST] | Incoming request | ReqId:pkn3kcox4 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:15.286Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:pkn3kcox4 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:15.292Z | [AUTH] | Admin authentication successful | ReqId:pkn3kcox4 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:53:15.294Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:pkn3kcox4 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:53:15.313Z | [ERROR] | Admin update deck endpoint error | ReqId:pkn3kcox4 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:25:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T13:53:15.318Z | [REQUEST] | Request completed | ReqId:pkn3kcox4 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:34ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:17.396Z | [REQUEST] | Incoming request | ReqId:bvfgp2wa8 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:17.399Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:bvfgp2wa8 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:17.402Z | [AUTH] | Admin authentication successful | ReqId:bvfgp2wa8 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:53:17.404Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:bvfgp2wa8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:53:17.410Z | [ERROR] | Admin update deck endpoint error | ReqId:bvfgp2wa8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:25:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T13:53:17.412Z | [REQUEST] | Request completed | ReqId:bvfgp2wa8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:16ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:21.269Z | [REQUEST] | Incoming request | ReqId:ry801ym1c | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:21.271Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:ry801ym1c | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:21.274Z | [AUTH] | Admin authentication successful | ReqId:ry801ym1c | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:53:21.276Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:ry801ym1c | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:53:21.283Z | [ERROR] | Admin update deck endpoint error | ReqId:ry801ym1c | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:25:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T13:53:21.285Z | [REQUEST] | Request completed | ReqId:ry801ym1c | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:16ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:32.751Z | [REQUEST] | Incoming request | ReqId:nw3221p2p | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:32.753Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:nw3221p2p | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:53:32.757Z | [AUTH] | Authentication successful | ReqId:nw3221p2p | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:53:32.759Z | [REQUEST] | Update deck endpoint accessed | ReqId:nw3221p2p | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T13:53:32.762Z | [ERROR] | Update deck endpoint error | ReqId:nw3221p2p | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Only admin users can change deck state","stack":"Error: Only admin users can change deck state\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:12:15)\n at /app/src/Api/routers/deckRouter.ts:149:59\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:88:9)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T13:53:32.764Z | [REQUEST] | Request completed | ReqId:nw3221p2p | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:403 | Time:13ms | UA:PostmanRuntime/7.45.0 -2025-09-15T13:54:02.097Z | [REQUEST] | Incoming request | ReqId:a4m6eeo8u | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:54:02.099Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:a4m6eeo8u | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:54:02.106Z | [AUTH] | Authentication successful | ReqId:a4m6eeo8u | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:54:02.108Z | [REQUEST] | Update deck endpoint accessed | ReqId:a4m6eeo8u | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T13:54:02.125Z | [ERROR] | Update deck endpoint error | ReqId:a4m6eeo8u | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:25:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T13:54:02.128Z | [REQUEST] | Request completed | ReqId:a4m6eeo8u | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:31ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-55-34-710Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-55-34-710Z.log deleted file mode 100644 index fe55b317..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-55-34-710Z.log +++ /dev/null @@ -1,18 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:55:34.710Z -# Max entries per file: 10000 - -2025-09-15T13:55:36.542Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:55:36.554Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:55:36.554Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:55:37.371Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:55:37.375Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:55:37.377Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:55:37.379Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:55:41.549Z | [REQUEST] | Incoming request | ReqId:jydpdfy8s | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:55:41.552Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:jydpdfy8s | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:55:41.558Z | [AUTH] | Authentication successful | ReqId:jydpdfy8s | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:55:41.561Z | [REQUEST] | Update deck endpoint accessed | ReqId:jydpdfy8s | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T13:55:41.575Z | [ERROR] | Deck not found for update: 956870b1-c437-4591-98b3-0742dd63b77d -2025-09-15T13:55:41.583Z | [ERROR] | Error updating deck: 956870b1-c437-4591-98b3-0742dd63b77d | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:27:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T13:55:41.585Z | [ERROR] | Update deck endpoint error | ReqId:jydpdfy8s | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:27:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T13:55:41.587Z | [REQUEST] | Request completed | ReqId:jydpdfy8s | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:38ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-57-30-059Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-57-30-059Z.log deleted file mode 100644 index 44a01e24..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-57-30-059Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:57:30.059Z -# Max entries per file: 10000 - -2025-09-15T13:57:31.929Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:57:31.954Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:57:31.954Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:57:32.926Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:57:32.932Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:57:32.934Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:57:32.937Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-58-15-430Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-58-15-430Z.log deleted file mode 100644 index 028c97ca..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-58-15-430Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:58:15.430Z -# Max entries per file: 10000 - -2025-09-15T13:58:17.294Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:58:17.308Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:58:17.308Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:58:18.172Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:58:18.177Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:58:18.179Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:58:18.182Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-58-29-102Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-58-29-102Z.log deleted file mode 100644 index c532dc5f..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-58-29-102Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:58:29.102Z -# Max entries per file: 10000 - -2025-09-15T13:58:31.213Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:58:31.229Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:58:31.229Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:58:32.122Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:58:32.127Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:58:32.129Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:58:32.132Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-59-00-196Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-59-00-196Z.log deleted file mode 100644 index f4ce9cdd..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T13-59-00-196Z.log +++ /dev/null @@ -1,18 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T13:59:00.196Z -# Max entries per file: 10000 - -2025-09-15T13:59:01.866Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T13:59:01.880Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T13:59:01.880Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T13:59:02.699Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T13:59:02.704Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T13:59:02.706Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T13:59:02.709Z | [STARTUP] | Redis client connected successfully -2025-09-15T13:59:13.315Z | [REQUEST] | Incoming request | ReqId:7t55k5c5a | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T13:59:13.318Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:7t55k5c5a | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T13:59:13.326Z | [AUTH] | Authentication successful | ReqId:7t55k5c5a | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T13:59:13.328Z | [REQUEST] | Update deck endpoint accessed | ReqId:7t55k5c5a | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T13:59:13.347Z | [ERROR] | Deck not found with ID: 956870b1-c437-4591-98b3-0742dd63b77d -2025-09-15T13:59:13.354Z | [ERROR] | Error updating deck: 956870b1-c437-4591-98b3-0742dd63b77d | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T13:59:13.356Z | [ERROR] | Update deck endpoint error | ReqId:7t55k5c5a | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T13:59:13.360Z | [REQUEST] | Request completed | ReqId:7t55k5c5a | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:45ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-00-25-368Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-00-25-368Z.log deleted file mode 100644 index c0f0da92..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-00-25-368Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:00:25.368Z -# Max entries per file: 10000 - -2025-09-15T14:00:27.376Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:00:27.390Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:00:27.390Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:00:28.257Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:00:28.262Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:00:28.264Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:00:28.266Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-00-50-228Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-00-50-228Z.log deleted file mode 100644 index 8528777d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-00-50-228Z.log +++ /dev/null @@ -1,84 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:00:50.228Z -# Max entries per file: 10000 - -2025-09-15T14:00:52.016Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:00:52.038Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:00:52.038Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:00:52.919Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:00:52.924Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:00:52.926Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:00:52.935Z | [REQUEST] | Incoming request | ReqId:uwpdhqsrh | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:00:52.938Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:uwpdhqsrh | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:00:52.941Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:00:52.947Z | [AUTH] | Authentication successful | ReqId:uwpdhqsrh | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:00:52.949Z | [REQUEST] | Update deck endpoint accessed | ReqId:uwpdhqsrh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:00:52.966Z | [ERROR] | Deck update failed for ID: 956870b1-c437-4591-98b3-0742dd63b77d. Update returned null. -2025-09-15T14:00:52.972Z | [ERROR] | Error updating deck: 956870b1-c437-4591-98b3-0742dd63b77d | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:38:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:00:52.974Z | [ERROR] | Update deck endpoint error | ReqId:uwpdhqsrh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:38:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:00:52.976Z | [REQUEST] | Request completed | ReqId:uwpdhqsrh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:500 | Time:41ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:13.948Z | [REQUEST] | Incoming request | ReqId:6v41uuwjh | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:13.951Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:6v41uuwjh | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:13.955Z | [AUTH] | Admin authentication successful | ReqId:6v41uuwjh | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:01:13.957Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:6v41uuwjh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T14:01:13.983Z | [REQUEST] | Deck updated successfully by admin | ReqId:6v41uuwjh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:01:13.986Z | [REQUEST] | Request completed | ReqId:6v41uuwjh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:38ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:19.371Z | [REQUEST] | Incoming request | ReqId:d0w54y49d | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:19.373Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:d0w54y49d | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:19.376Z | [AUTH] | Admin authentication successful | ReqId:d0w54y49d | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:01:19.378Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:d0w54y49d | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T14:01:19.389Z | [REQUEST] | Deck updated successfully by admin | ReqId:d0w54y49d | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:01:19.392Z | [REQUEST] | Request completed | ReqId:d0w54y49d | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:21ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:25.642Z | [REQUEST] | Incoming request | ReqId:vo2kzhgxr | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:25.644Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:vo2kzhgxr | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:25.647Z | [AUTH] | Authentication successful | ReqId:vo2kzhgxr | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:01:25.649Z | [REQUEST] | Update deck endpoint accessed | ReqId:vo2kzhgxr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T14:01:25.653Z | [ERROR] | Update deck endpoint error | ReqId:vo2kzhgxr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Only admin users can change deck state","stack":"Error: Only admin users can change deck state\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:13:15)\n at /app/src/Api/routers/deckRouter.ts:149:59\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:88:9)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T14:01:25.655Z | [REQUEST] | Request completed | ReqId:vo2kzhgxr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:403 | Time:13ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:29.183Z | [REQUEST] | Incoming request | ReqId:9cdvwk747 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:29.186Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:9cdvwk747 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:29.189Z | [AUTH] | Authentication successful | ReqId:9cdvwk747 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:01:29.191Z | [REQUEST] | Update deck endpoint accessed | ReqId:9cdvwk747 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T14:01:29.193Z | [ERROR] | Update deck endpoint error | ReqId:9cdvwk747 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Only admin users can change deck state","stack":"Error: Only admin users can change deck state\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:13:15)\n at /app/src/Api/routers/deckRouter.ts:149:59\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:88:9)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T14:01:29.195Z | [REQUEST] | Request completed | ReqId:9cdvwk747 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:403 | Time:12ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:35.418Z | [REQUEST] | Incoming request | ReqId:3bmz0pm86 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:35.420Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:3bmz0pm86 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:35.424Z | [AUTH] | Admin authentication successful | ReqId:3bmz0pm86 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:01:35.425Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:3bmz0pm86 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T14:01:35.442Z | [REQUEST] | Deck updated successfully by admin | ReqId:3bmz0pm86 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:01:35.444Z | [REQUEST] | Request completed | ReqId:3bmz0pm86 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:26ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:52.908Z | [REQUEST] | Incoming request | ReqId:3r824evf5 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:52.909Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:3r824evf5 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:01:52.913Z | [AUTH] | Admin authentication successful | ReqId:3r824evf5 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:01:52.914Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:3r824evf5 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:01:52.929Z | [REQUEST] | Deck updated successfully by admin | ReqId:3r824evf5 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:01:52.931Z | [REQUEST] | Request completed | ReqId:3r824evf5 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:23ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:03.386Z | [REQUEST] | Incoming request | ReqId:dxhgpyi2j | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:03.388Z | [REQUEST] | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:dxhgpyi2j | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:03.391Z | [AUTH] | Authentication successful | ReqId:dxhgpyi2j | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:02:03.393Z | [REQUEST] | Get deck by id endpoint accessed | ReqId:dxhgpyi2j | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T14:02:03.405Z | [REQUEST] | Deck retrieved successfully | ReqId:dxhgpyi2j | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T14:02:03.407Z | [REQUEST] | Request completed | ReqId:dxhgpyi2j | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:21ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:08.569Z | [REQUEST] | Incoming request | ReqId:qojfsuzvf | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:08.571Z | [REQUEST] | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:qojfsuzvf | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:08.575Z | [AUTH] | Authentication successful | ReqId:qojfsuzvf | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:02:08.577Z | [REQUEST] | Soft delete deck endpoint accessed | ReqId:qojfsuzvf | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:02:08.583Z | [REQUEST] | Deck soft delete successful | ReqId:qojfsuzvf | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","success":true} -2025-09-15T14:02:08.585Z | [REQUEST] | Request completed | ReqId:qojfsuzvf | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | DELETE /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:16ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:13.668Z | [REQUEST] | Incoming request | ReqId:3f4xjqhu7 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:13.671Z | [REQUEST] | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:3f4xjqhu7 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:13.674Z | [AUTH] | Authentication successful | ReqId:3f4xjqhu7 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:02:13.676Z | [REQUEST] | Get deck by id endpoint accessed | ReqId:3f4xjqhu7 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T14:02:13.680Z | [WARNING] | Deck not found | ReqId:3f4xjqhu7 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d"} -2025-09-15T14:02:13.682Z | [REQUEST] | Request completed | ReqId:3f4xjqhu7 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:14ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:20.042Z | [REQUEST] | Incoming request | ReqId:duqed9hz5 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:20.044Z | [REQUEST] | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:duqed9hz5 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:20.047Z | [AUTH] | Admin authentication successful | ReqId:duqed9hz5 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:02:20.049Z | [REQUEST] | Admin get deck by id endpoint accessed | ReqId:duqed9hz5 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T14:02:20.052Z | [WARNING] | Deck not found | ReqId:duqed9hz5 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":false} -2025-09-15T14:02:20.054Z | [REQUEST] | Request completed | ReqId:duqed9hz5 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:12ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:24.423Z | [REQUEST] | Incoming request | ReqId:lchgi1z85 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:24.425Z | [REQUEST] | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:lchgi1z85 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:02:24.429Z | [AUTH] | Admin authentication successful | ReqId:lchgi1z85 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:02:24.430Z | [REQUEST] | Admin get deck by id endpoint accessed | ReqId:lchgi1z85 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":true} -2025-09-15T14:02:24.434Z | [REQUEST] | Admin deck retrieved successfully | ReqId:lchgi1z85 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","includeDeleted":true} -2025-09-15T14:02:24.436Z | [REQUEST] | Request completed | ReqId:lchgi1z85 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | Time:13ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-04-00-322Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-04-00-322Z.log deleted file mode 100644 index 9b23cd0c..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-04-00-322Z.log +++ /dev/null @@ -1,50 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:04:00.322Z -# Max entries per file: 10000 - -2025-09-15T14:04:02.233Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:04:02.253Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:04:02.253Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:04:03.091Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:04:03.095Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:04:03.097Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:04:03.099Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:04:05.323Z | [REQUEST] | Incoming request | ReqId:bqa20veh2 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:05.326Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:bqa20veh2 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:05.331Z | [AUTH] | Authentication successful | ReqId:bqa20veh2 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:04:05.333Z | [REQUEST] | Update deck endpoint accessed | ReqId:bqa20veh2 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:04:05.341Z | [ERROR] | Deck not found with ID: 956870b1-c437-4591-98b3-0742dd63b77d -2025-09-15T14:04:05.347Z | [ERROR] | Error updating deck: 956870b1-c437-4591-98b3-0742dd63b77d | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:24:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:04:05.348Z | [ERROR] | Update deck endpoint error | ReqId:bqa20veh2 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:24:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:04:05.351Z | [REQUEST] | Request completed | ReqId:bqa20veh2 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:404 | Time:28ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:15.756Z | [REQUEST] | Incoming request | ReqId:iz3c4zkv8 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:15.758Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:iz3c4zkv8 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:15.761Z | [AUTH] | Admin authentication successful | ReqId:iz3c4zkv8 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:04:15.763Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:iz3c4zkv8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:04:15.780Z | [ERROR] | Deck update failed for ID: 956870b1-c437-4591-98b3-0742dd63b77d. Update returned null. -2025-09-15T14:04:15.783Z | [ERROR] | Error updating deck: 956870b1-c437-4591-98b3-0742dd63b77d | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:42:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T14:04:15.784Z | [ERROR] | Admin update deck endpoint error | ReqId:iz3c4zkv8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:42:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T14:04:15.786Z | [REQUEST] | Request completed | ReqId:iz3c4zkv8 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d?includeDeleted=true | Status:500 | Time:30ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:21.722Z | [REQUEST] | Incoming request | ReqId:cjfulch9p | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:21.724Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:cjfulch9p | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:21.728Z | [AUTH] | Admin authentication successful | ReqId:cjfulch9p | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:04:21.730Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:cjfulch9p | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:04:21.738Z | [ERROR] | Deck update failed for ID: 956870b1-c437-4591-98b3-0742dd63b77d. Update returned null. -2025-09-15T14:04:21.740Z | [ERROR] | Error updating deck: 956870b1-c437-4591-98b3-0742dd63b77d | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:42:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T14:04:21.742Z | [ERROR] | Admin update deck endpoint error | ReqId:cjfulch9p | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:42:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T14:04:21.744Z | [REQUEST] | Request completed | ReqId:cjfulch9p | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:500 | Time:22ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:55.777Z | [REQUEST] | Incoming request | ReqId:c0joko691 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:55.779Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:c0joko691 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:04:55.783Z | [AUTH] | Admin authentication successful | ReqId:c0joko691 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:04:55.785Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:c0joko691 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:04:55.807Z | [ERROR] | Deck update failed for ID: 956870b1-c437-4591-98b3-0742dd63b77d. Update returned null. -2025-09-15T14:04:55.810Z | [ERROR] | Error updating deck: 956870b1-c437-4591-98b3-0742dd63b77d | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:42:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T14:04:55.811Z | [ERROR] | Admin update deck endpoint error | ReqId:c0joko691 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:42:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T14:04:55.813Z | [REQUEST] | Request completed | ReqId:c0joko691 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:500 | Time:36ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:05:37.508Z | [REQUEST] | Incoming request | ReqId:lc4uixrb0 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:05:37.510Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:lc4uixrb0 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:05:37.513Z | [AUTH] | Admin authentication successful | ReqId:lc4uixrb0 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:05:37.515Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:lc4uixrb0 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:05:37.529Z | [ERROR] | Deck update failed for ID: 956870b1-c437-4591-98b3-0742dd63b77d. Update returned null. -2025-09-15T14:05:37.532Z | [ERROR] | Error updating deck: 956870b1-c437-4591-98b3-0742dd63b77d | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:42:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T14:05:37.533Z | [ERROR] | Admin update deck endpoint error | ReqId:lc4uixrb0 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Failed to update deck","stack":"Error: Failed to update deck\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:42:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/adminRouter.ts:367:24"} -2025-09-15T14:05:37.535Z | [REQUEST] | Request completed | ReqId:lc4uixrb0 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:500 | Time:27ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-07-17-372Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-07-17-372Z.log deleted file mode 100644 index 06fa03b8..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-07-17-372Z.log +++ /dev/null @@ -1,62 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:07:17.372Z -# Max entries per file: 10000 - -2025-09-15T14:07:19.126Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:07:19.141Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:07:19.140Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:07:20.119Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:07:20.124Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:07:20.126Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:07:20.129Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:07:23.712Z | [REQUEST] | Incoming request | ReqId:oml0ssvgu | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:23.714Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:oml0ssvgu | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:23.720Z | [AUTH] | Admin authentication successful | ReqId:oml0ssvgu | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:07:23.722Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:oml0ssvgu | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:07:23.738Z | [REQUEST] | Deck updated successfully by admin | ReqId:oml0ssvgu | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:07:23.742Z | [REQUEST] | Request completed | ReqId:oml0ssvgu | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:30ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:29.084Z | [REQUEST] | Incoming request | ReqId:644rrks7q | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:29.087Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:644rrks7q | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:29.090Z | [AUTH] | Admin authentication successful | ReqId:644rrks7q | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:07:29.092Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:644rrks7q | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:07:29.099Z | [REQUEST] | Deck updated successfully by admin | ReqId:644rrks7q | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:07:29.101Z | [REQUEST] | Request completed | ReqId:644rrks7q | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:17ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:38.036Z | [REQUEST] | Incoming request | ReqId:w3whhnig1 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:38.038Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:w3whhnig1 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:38.042Z | [AUTH] | Authentication successful | ReqId:w3whhnig1 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:07:38.043Z | [REQUEST] | Update deck endpoint accessed | ReqId:w3whhnig1 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:07:38.047Z | [ERROR] | Deck not found with ID: 956870b1-c437-4591-98b3-0742dd63b77d -2025-09-15T14:07:38.053Z | [ERROR] | Error updating deck: 956870b1-c437-4591-98b3-0742dd63b77d | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:24:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:07:38.055Z | [ERROR] | Update deck endpoint error | ReqId:w3whhnig1 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Deck not found","stack":"Error: Deck not found\n at UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:24:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:07:38.057Z | [REQUEST] | Request completed | ReqId:w3whhnig1 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:404 | Time:21ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:53.707Z | [REQUEST] | Incoming request | ReqId:mn141hd3l | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:53.710Z | [REQUEST] | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:mn141hd3l | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:07:53.715Z | [AUTH] | Admin authentication successful | ReqId:mn141hd3l | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:07:53.718Z | [REQUEST] | Admin update deck endpoint accessed | ReqId:mn141hd3l | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["state"]} -2025-09-15T14:07:53.742Z | [REQUEST] | Deck updated successfully by admin | ReqId:mn141hd3l | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","adminUserId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:07:53.745Z | [REQUEST] | Request completed | ReqId:mn141hd3l | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/admin/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:38ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:08:09.622Z | [REQUEST] | Incoming request | ReqId:ukwwyliqj | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:08:09.624Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:ukwwyliqj | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:08:09.628Z | [AUTH] | Authentication successful | ReqId:ukwwyliqj | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:08:09.629Z | [REQUEST] | Update deck endpoint accessed | ReqId:ukwwyliqj | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:08:09.646Z | [REQUEST] | Deck updated successfully | ReqId:ukwwyliqj | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:08:09.648Z | [REQUEST] | Request completed | ReqId:ukwwyliqj | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:26ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:08:13.912Z | [REQUEST] | Incoming request | ReqId:dyi0jfwzx | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 -2025-09-15T14:08:13.914Z | [REQUEST] | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | ReqId:dyi0jfwzx | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:08:13.918Z | [AUTH] | Authentication successful | ReqId:dyi0jfwzx | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:08:13.920Z | [REQUEST] | Update deck endpoint accessed | ReqId:dyi0jfwzx | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:08:13.927Z | [REQUEST] | Deck updated successfully | ReqId:dyi0jfwzx | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"956870b1-c437-4591-98b3-0742dd63b77d","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:08:13.930Z | [REQUEST] | Request completed | ReqId:dyi0jfwzx | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/956870b1-c437-4591-98b3-0742dd63b77d | Status:200 | Time:18ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:09:42.709Z | [REQUEST] | Incoming request | ReqId:bc8j44uc1 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | UA:PostmanRuntime/7.45.0 -2025-09-15T14:09:42.711Z | [REQUEST] | PATCH /api/decks/search | ReqId:bc8j44uc1 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:09:42.714Z | [AUTH] | Authentication successful | ReqId:bc8j44uc1 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:09:42.716Z | [REQUEST] | Update deck endpoint accessed | ReqId:bc8j44uc1 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"search","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:09:42.755Z | [ERROR] | Error updating deck: search | Meta:{"name":"QueryFailedError","message":"invalid input syntax for type uuid: \"search\"","stack":"QueryFailedError: invalid input syntax for type uuid: \"search\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SelectQueryBuilder.loadRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3863:25)\n at async SelectQueryBuilder.executeEntitiesAndRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3609:26)\n at async SelectQueryBuilder.getRawAndEntities (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1671:29)\n at async SelectQueryBuilder.getOne (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1698:25)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:28)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:09:42.757Z | [ERROR] | Update deck endpoint error | ReqId:bc8j44uc1 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"QueryFailedError","message":"invalid input syntax for type uuid: \"search\"","stack":"QueryFailedError: invalid input syntax for type uuid: \"search\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SelectQueryBuilder.loadRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3863:25)\n at async SelectQueryBuilder.executeEntitiesAndRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3609:26)\n at async SelectQueryBuilder.getRawAndEntities (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1671:29)\n at async SelectQueryBuilder.getOne (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1698:25)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:28)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:09:42.761Z | [REQUEST] | Request completed | ReqId:bc8j44uc1 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | Status:500 | Time:52ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:10:17.370Z | [REQUEST] | Incoming request | ReqId:8tsocbx8x | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | UA:PostmanRuntime/7.45.0 -2025-09-15T14:10:17.372Z | [REQUEST] | PATCH /api/decks/search | ReqId:8tsocbx8x | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:10:17.375Z | [AUTH] | Authentication successful | ReqId:8tsocbx8x | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:10:17.376Z | [REQUEST] | Update deck endpoint accessed | ReqId:8tsocbx8x | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"search","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:10:17.388Z | [ERROR] | Error updating deck: search | Meta:{"name":"QueryFailedError","message":"invalid input syntax for type uuid: \"search\"","stack":"QueryFailedError: invalid input syntax for type uuid: \"search\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SelectQueryBuilder.loadRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3863:25)\n at async SelectQueryBuilder.executeEntitiesAndRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3609:26)\n at async SelectQueryBuilder.getRawAndEntities (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1671:29)\n at async SelectQueryBuilder.getOne (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1698:25)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:28)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:10:17.390Z | [ERROR] | Update deck endpoint error | ReqId:8tsocbx8x | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"QueryFailedError","message":"invalid input syntax for type uuid: \"search\"","stack":"QueryFailedError: invalid input syntax for type uuid: \"search\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SelectQueryBuilder.loadRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3863:25)\n at async SelectQueryBuilder.executeEntitiesAndRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3609:26)\n at async SelectQueryBuilder.getRawAndEntities (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1671:29)\n at async SelectQueryBuilder.getOne (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1698:25)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:28)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:10:17.391Z | [REQUEST] | Request completed | ReqId:8tsocbx8x | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search | Status:500 | Time:21ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-10-55-000Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-10-55-000Z.log deleted file mode 100644 index 895d0541..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-10-55-000Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:10:55.000Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-11-12-385Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-11-12-385Z.log deleted file mode 100644 index 25196349..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-11-12-385Z.log +++ /dev/null @@ -1,24 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:11:12.385Z -# Max entries per file: 10000 - -2025-09-15T14:11:14.064Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:11:14.078Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:11:14.078Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:11:14.915Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:11:14.919Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:11:14.921Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:11:14.923Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:13:35.446Z | [REQUEST] | Incoming request | ReqId:n5sgzj0gd | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:13:35.448Z | [REQUEST] | PATCH /api/decks/search | ReqId:n5sgzj0gd | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:13:35.455Z | [AUTH] | Authentication successful | ReqId:n5sgzj0gd | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:13:35.457Z | [REQUEST] | Update deck endpoint accessed | ReqId:n5sgzj0gd | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"search","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:13:35.510Z | [ERROR] | Error updating deck: search | Meta:{"name":"QueryFailedError","message":"invalid input syntax for type uuid: \"search\"","stack":"QueryFailedError: invalid input syntax for type uuid: \"search\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SelectQueryBuilder.loadRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3863:25)\n at async SelectQueryBuilder.executeEntitiesAndRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3609:26)\n at async SelectQueryBuilder.getRawAndEntities (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1671:29)\n at async SelectQueryBuilder.getOne (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1698:25)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:28)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:13:35.513Z | [ERROR] | Update deck endpoint error | ReqId:n5sgzj0gd | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"QueryFailedError","message":"invalid input syntax for type uuid: \"search\"","stack":"QueryFailedError: invalid input syntax for type uuid: \"search\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SelectQueryBuilder.loadRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3863:25)\n at async SelectQueryBuilder.executeEntitiesAndRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3609:26)\n at async SelectQueryBuilder.getRawAndEntities (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1671:29)\n at async SelectQueryBuilder.getOne (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1698:25)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:28)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:13:35.516Z | [REQUEST] | Request completed | ReqId:n5sgzj0gd | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | Status:500 | Time:70ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:15:43.337Z | [REQUEST] | Incoming request | ReqId:qrky9dlab | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:15:43.339Z | [REQUEST] | PATCH /api/decks/search | ReqId:qrky9dlab | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:15:43.342Z | [AUTH] | Authentication successful | ReqId:qrky9dlab | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:15:43.343Z | [REQUEST] | Update deck endpoint accessed | ReqId:qrky9dlab | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"search","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["name"]} -2025-09-15T14:15:43.353Z | [ERROR] | Error updating deck: search | Meta:{"name":"QueryFailedError","message":"invalid input syntax for type uuid: \"search\"","stack":"QueryFailedError: invalid input syntax for type uuid: \"search\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SelectQueryBuilder.loadRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3863:25)\n at async SelectQueryBuilder.executeEntitiesAndRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3609:26)\n at async SelectQueryBuilder.getRawAndEntities (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1671:29)\n at async SelectQueryBuilder.getOne (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1698:25)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:28)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:15:43.355Z | [ERROR] | Update deck endpoint error | ReqId:qrky9dlab | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"QueryFailedError","message":"invalid input syntax for type uuid: \"search\"","stack":"QueryFailedError: invalid input syntax for type uuid: \"search\"\n at PostgresQueryRunner.query (/app/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:325:19)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async SelectQueryBuilder.loadRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3863:25)\n at async SelectQueryBuilder.executeEntitiesAndRawResults (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:3609:26)\n at async SelectQueryBuilder.getRawAndEntities (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1671:29)\n at async SelectQueryBuilder.getOne (/app/node_modules/src/query-builder/SelectQueryBuilder.ts:1698:25)\n at async UpdateDeckCommandHandler.execute (/app/src/Application/Deck/commands/UpdateDeckCommandHandler.ts:20:28)\n at async /app/src/Api/routers/deckRouter.ts:149:18"} -2025-09-15T14:15:43.357Z | [REQUEST] | Request completed | ReqId:qrky9dlab | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=0&offset=0 | Status:500 | Time:20ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-16-20-713Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-16-20-713Z.log deleted file mode 100644 index 9be07e05..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-16-20-713Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:16:20.713Z -# Max entries per file: 10000 - -2025-09-15T14:16:22.529Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:16:22.542Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:16:22.542Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:16:23.475Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:16:23.480Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:16:23.482Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:16:23.484Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-16-32-534Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-16-32-534Z.log deleted file mode 100644 index 167e1a96..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-16-32-534Z.log +++ /dev/null @@ -1,5861 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:16:32.534Z -# Max entries per file: 10000 - -2025-09-15T14:16:34.286Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:16:34.299Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:16:34.299Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:16:35.366Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:16:35.370Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:16:35.372Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:16:35.374Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:16:42.793Z | [REQUEST] | Incoming request | ReqId:ju9erlg4y | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=2&offset=0 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:16:42.795Z | [REQUEST] | GET /api/decks/search | ReqId:ju9erlg4y | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=2&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:16:42.800Z | [AUTH] | Authentication successful | ReqId:ju9erlg4y | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=2&offset=0 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:16:42.802Z | [REQUEST] | Search decks endpoint accessed | ReqId:ju9erlg4y | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=2&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"query":"Card","limit":"2","offset":"0"} -2025-09-15T14:16:42.816Z | [DATABASE] | Deck search completed | Meta:{"query":"executionTime: 12ms, found: 2, total: 3, searchTerm: \"Card\", limit: 2, offset: 0"} -2025-09-15T14:16:42.818Z | [REQUEST] | Deck search completed successfully | ReqId:ju9erlg4y | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=2&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"query":"Card","resultCount":0} -2025-09-15T14:16:42.820Z | [REQUEST] | Request completed | ReqId:ju9erlg4y | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=2&offset=0 | Status:200 | Time:27ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:16:50.057Z | [REQUEST] | Incoming request | ReqId:usmkumjuc | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:16:50.060Z | [REQUEST] | GET /api/decks/search | ReqId:usmkumjuc | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:16:50.063Z | [AUTH] | Authentication successful | ReqId:usmkumjuc | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:16:50.064Z | [REQUEST] | Search decks endpoint accessed | ReqId:usmkumjuc | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"query":"Card","limit":"3","offset":"0"} -2025-09-15T14:16:50.069Z | [DATABASE] | Deck search completed | Meta:{"query":"executionTime: 3ms, found: 3, total: 3, searchTerm: \"Card\", limit: 3, offset: 0"} -2025-09-15T14:16:50.070Z | [REQUEST] | Deck search completed successfully | ReqId:usmkumjuc | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"query":"Card","resultCount":0} -2025-09-15T14:16:50.072Z | [REQUEST] | Request completed | ReqId:usmkumjuc | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | Time:15ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:17:34.422Z | [REQUEST] | Incoming request | ReqId:ztoywwga9 | IP:::ffff:172.20.0.1 | PATCH /api/decks/2fd99236-7748-4662-af37-2c8d17af4313 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:17:34.425Z | [REQUEST] | PATCH /api/decks/2fd99236-7748-4662-af37-2c8d17af4313 | ReqId:ztoywwga9 | IP:::ffff:172.20.0.1 | PATCH /api/decks/2fd99236-7748-4662-af37-2c8d17af4313 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:17:34.429Z | [AUTH] | Authentication successful | ReqId:ztoywwga9 | IP:::ffff:172.20.0.1 | PATCH /api/decks/2fd99236-7748-4662-af37-2c8d17af4313 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:17:34.431Z | [REQUEST] | Update deck endpoint accessed | ReqId:ztoywwga9 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/2fd99236-7748-4662-af37-2c8d17af4313 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"2fd99236-7748-4662-af37-2c8d17af4313","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","updateFields":["type"]} -2025-09-15T14:17:34.453Z | [REQUEST] | Deck updated successfully | ReqId:ztoywwga9 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/2fd99236-7748-4662-af37-2c8d17af4313 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"deckId":"2fd99236-7748-4662-af37-2c8d17af4313","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:17:34.455Z | [REQUEST] | Request completed | ReqId:ztoywwga9 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/2fd99236-7748-4662-af37-2c8d17af4313 | Status:200 | Time:33ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:18:07.733Z | [REQUEST] | Incoming request | ReqId:6ddmhvc7b | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=3&offset=0 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:18:07.735Z | [REQUEST] | PATCH /api/decks/search | ReqId:6ddmhvc7b | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:18:07.738Z | [AUTH] | Authentication successful | ReqId:6ddmhvc7b | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=3&offset=0 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:18:07.745Z | [ERROR] | Update deck endpoint error | ReqId:6ddmhvc7b | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"TypeError","message":"Cannot convert undefined or null to object","stack":"TypeError: Cannot convert undefined or null to object\n at Function.keys ()\n at /app/src/Api/routers/deckRouter.ts:147:96\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:88:9)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T14:18:07.749Z | [REQUEST] | Request completed | ReqId:6ddmhvc7b | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | PATCH /api/decks/search?query=Card&limit=3&offset=0 | Status:500 | Time:16ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:18:18.854Z | [REQUEST] | Incoming request | ReqId:h34z3irlr | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:18:18.856Z | [REQUEST] | GET /api/decks/search | ReqId:h34z3irlr | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:18:18.859Z | [AUTH] | Authentication successful | ReqId:h34z3irlr | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:18:18.861Z | [REQUEST] | Search decks endpoint accessed | ReqId:h34z3irlr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"query":"Card","limit":"3","offset":"0"} -2025-09-15T14:18:18.875Z | [DATABASE] | Deck search completed | Meta:{"query":"executionTime: 13ms, found: 3, total: 3, searchTerm: \"Card\", limit: 3, offset: 0"} -2025-09-15T14:18:18.877Z | [REQUEST] | Deck search completed successfully | ReqId:h34z3irlr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"query":"Card","resultCount":0} -2025-09-15T14:18:18.881Z | [REQUEST] | Request completed | ReqId:h34z3irlr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | GET /api/decks/search?query=Card&limit=3&offset=0 | Status:200 | Time:27ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:23.961Z | [REQUEST] | Incoming request | ReqId:2k5rrod2v | IP:::ffff:172.20.0.1 | GET /api/games/start | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:23.963Z | [REQUEST] | GET /api/games/start | ReqId:2k5rrod2v | IP:::ffff:172.20.0.1 | GET /api/games/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:23.965Z | [REQUEST] | Request completed | ReqId:2k5rrod2v | IP:::ffff:172.20.0.1 | GET /api/games/start | Status:404 | Time:4ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:31.022Z | [REQUEST] | Incoming request | ReqId:8gzkh7jfd | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:31.023Z | [REQUEST] | POST /api/games/start | ReqId:8gzkh7jfd | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:31.027Z | [AUTH] | Authentication successful | ReqId:8gzkh7jfd | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:20:31.029Z | [REQUEST] | Start game endpoint accessed | ReqId:8gzkh7jfd | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgId":"","deckCount":3,"maxplayers":1,"logintype":0} -2025-09-15T14:20:31.031Z | [OTHER] | GameService.startGame called | Meta:{"deckCount":3,"maxplayers":1,"logintype":0,"userid":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgid":""} -2025-09-15T14:20:31.036Z | [ERROR] | GameService.startGame failed | Meta:{"name":"Error","message":"Maximum players must be at least 2","stack":"Error: Maximum players must be at least 2\n at GameService.validateStartGameInput (/app/src/Application/Game/GameService.ts:250:19)\n at GameService.startGame (/app/src/Application/Game/GameService.ts:48:18)\n at /app/src/Api/routers/gameRouter.ts:40:50\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:88:9)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T14:20:31.038Z | [OTHER] | Game start failed | Meta:{"executionTime":2,"error":"Maximum players must be at least 2"} -2025-09-15T14:20:31.041Z | [ERROR] | Start game endpoint error | ReqId:8gzkh7jfd | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Maximum players must be at least 2","stack":"Error: Maximum players must be at least 2\n at GameService.validateStartGameInput (/app/src/Application/Game/GameService.ts:250:19)\n at GameService.startGame (/app/src/Application/Game/GameService.ts:48:18)\n at /app/src/Api/routers/gameRouter.ts:40:50\n at Layer.handleRequest (/app/node_modules/router/lib/layer.js:152:17)\n at next (/app/node_modules/router/lib/route.js:157:13)\n at authRequired (/app/src/Application/Services/AuthMiddleware.ts:88:9)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T14:20:31.043Z | [REQUEST] | Request completed | ReqId:8gzkh7jfd | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:400 | Time:21ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:36.481Z | [REQUEST] | Incoming request | ReqId:jtvdevyrj | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:36.483Z | [REQUEST] | POST /api/games/start | ReqId:jtvdevyrj | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:36.486Z | [AUTH] | Authentication successful | ReqId:jtvdevyrj | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:20:36.488Z | [REQUEST] | Start game endpoint accessed | ReqId:jtvdevyrj | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgId":"","deckCount":3,"maxplayers":2,"logintype":0} -2025-09-15T14:20:36.490Z | [OTHER] | GameService.startGame called | Meta:{"deckCount":3,"maxplayers":2,"logintype":0,"userid":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgid":""} -2025-09-15T14:20:36.491Z | [OTHER] | Start game input validation passed | Meta:{"deckCount":3,"maxplayers":2,"logintype":0} -2025-09-15T14:20:36.493Z | [OTHER] | Starting game creation | Meta:"deckCount: 3, maxPlayers: 2, loginType: 0" -2025-09-15T14:20:36.508Z | [OTHER] | Deck types validation passed | Meta:"foundTypes: [1, 0, 2]" -2025-09-15T14:20:36.510Z | [OTHER] | Created shuffled game deck | Meta:"type: 1, cardCount: 1, sourceDecks: 1" -2025-09-15T14:20:36.512Z | [OTHER] | Created shuffled game deck | Meta:"type: 0, cardCount: 3, sourceDecks: 1" -2025-09-15T14:20:36.513Z | [OTHER] | Created shuffled game deck | Meta:"type: 2, cardCount: 1, sourceDecks: 1" -2025-09-15T14:20:36.528Z | [DATABASE] | Game created | Meta:{"query":"executionTime: 13ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, gameCode: 6BDKNI"} -2025-09-15T14:20:36.532Z | [OTHER] | Game created in Redis | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","hostId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","websocketRoom":"game_6BDKNI","redisKey":"game:9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:20:36.534Z | [OTHER] | Triggering async board generation for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"positiveFieldCount":40,"negativeFieldCount":16,"luckFieldCount":10,"totalSpecialFields":66} -2025-09-15T14:20:36.536Z | [OTHER] | Starting board generation for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 -2025-09-15T14:20:36.540Z | [OTHER] | Attempt 1: Error rate 54.92% (target: 15%) -2025-09-15T14:20:36.543Z | [OTHER] | Attempt 2: Error rate 53.13% (target: 15%) -2025-09-15T14:20:36.546Z | [OTHER] | Attempt 3: Error rate 50.39% (target: 15%) -2025-09-15T14:20:36.548Z | [OTHER] | Attempt 4: Error rate 54.17% (target: 15%) -2025-09-15T14:20:36.550Z | [OTHER] | Attempt 5: Error rate 53.66% (target: 15%) -2025-09-15T14:20:36.553Z | [OTHER] | Attempt 6: Error rate 57.25% (target: 15%) -2025-09-15T14:20:36.556Z | [OTHER] | Attempt 7: Error rate 50% (target: 15%) -2025-09-15T14:20:36.558Z | [OTHER] | Attempt 8: Error rate 54.55% (target: 15%) -2025-09-15T14:20:36.560Z | [OTHER] | Attempt 9: Error rate 55.28% (target: 15%) -2025-09-15T14:20:36.562Z | [OTHER] | Attempt 10: Error rate 51.39% (target: 15%) -2025-09-15T14:20:36.564Z | [OTHER] | Attempt 11: Error rate 51.09% (target: 15%) -2025-09-15T14:20:36.567Z | [OTHER] | Attempt 12: Error rate 48.11% (target: 15%) -2025-09-15T14:20:36.570Z | [OTHER] | Attempt 13: Error rate 50.35% (target: 15%) -2025-09-15T14:20:36.572Z | [OTHER] | Attempt 14: Error rate 47.04% (target: 15%) -2025-09-15T14:20:36.573Z | [OTHER] | Attempt 15: Error rate 44.44% (target: 15%) -2025-09-15T14:20:36.575Z | [OTHER] | Attempt 16: Error rate 50.69% (target: 15%) -2025-09-15T14:20:36.577Z | [OTHER] | Attempt 17: Error rate 53.03% (target: 15%) -2025-09-15T14:20:36.579Z | [OTHER] | Attempt 18: Error rate 53.97% (target: 15%) -2025-09-15T14:20:36.580Z | [OTHER] | Attempt 19: Error rate 55.95% (target: 15%) -2025-09-15T14:20:36.582Z | [OTHER] | Attempt 20: Error rate 55.3% (target: 15%) -2025-09-15T14:20:36.585Z | [OTHER] | Attempt 21: Error rate 50.76% (target: 15%) -2025-09-15T14:20:36.587Z | [OTHER] | Attempt 22: Error rate 51.55% (target: 15%) -2025-09-15T14:20:36.588Z | [OTHER] | Attempt 23: Error rate 47.96% (target: 15%) -2025-09-15T14:20:36.590Z | [OTHER] | Attempt 24: Error rate 52.96% (target: 15%) -2025-09-15T14:20:36.592Z | [OTHER] | Attempt 25: Error rate 46.25% (target: 15%) -2025-09-15T14:20:36.594Z | [OTHER] | Attempt 26: Error rate 55.32% (target: 15%) -2025-09-15T14:20:36.595Z | [OTHER] | Attempt 27: Error rate 60.76% (target: 15%) -2025-09-15T14:20:36.597Z | [OTHER] | Attempt 28: Error rate 49.21% (target: 15%) -2025-09-15T14:20:36.599Z | [OTHER] | Attempt 29: Error rate 51.48% (target: 15%) -2025-09-15T14:20:36.601Z | [OTHER] | Attempt 30: Error rate 47.1% (target: 15%) -2025-09-15T14:20:36.603Z | [OTHER] | Attempt 31: Error rate 49.61% (target: 15%) -2025-09-15T14:20:36.604Z | [OTHER] | Attempt 32: Error rate 49.32% (target: 15%) -2025-09-15T14:20:36.606Z | [OTHER] | Attempt 33: Error rate 60.23% (target: 15%) -2025-09-15T14:20:36.608Z | [OTHER] | Attempt 34: Error rate 52.9% (target: 15%) -2025-09-15T14:20:36.609Z | [OTHER] | Attempt 35: Error rate 52.85% (target: 15%) -2025-09-15T14:20:36.611Z | [OTHER] | Attempt 36: Error rate 54.7% (target: 15%) -2025-09-15T14:20:36.612Z | [OTHER] | Attempt 37: Error rate 44.3% (target: 15%) -2025-09-15T14:20:36.614Z | [OTHER] | Attempt 38: Error rate 51.39% (target: 15%) -2025-09-15T14:20:36.617Z | [OTHER] | Attempt 39: Error rate 46.38% (target: 15%) -2025-09-15T14:20:36.618Z | [OTHER] | Attempt 40: Error rate 49.65% (target: 15%) -2025-09-15T14:20:36.620Z | [OTHER] | Attempt 41: Error rate 55.81% (target: 15%) -2025-09-15T14:20:36.622Z | [OTHER] | Attempt 42: Error rate 54.55% (target: 15%) -2025-09-15T14:20:36.623Z | [OTHER] | Attempt 43: Error rate 52.33% (target: 15%) -2025-09-15T14:20:36.625Z | [OTHER] | Attempt 44: Error rate 48.15% (target: 15%) -2025-09-15T14:20:36.626Z | [OTHER] | Attempt 45: Error rate 59.47% (target: 15%) -2025-09-15T14:20:36.628Z | [OTHER] | Attempt 46: Error rate 53.66% (target: 15%) -2025-09-15T14:20:36.630Z | [OTHER] | Attempt 47: Error rate 53.25% (target: 15%) -2025-09-15T14:20:36.631Z | [OTHER] | Attempt 48: Error rate 60.85% (target: 15%) -2025-09-15T14:20:36.634Z | [OTHER] | Attempt 49: Error rate 50% (target: 15%) -2025-09-15T14:20:36.635Z | [OTHER] | Attempt 50: Error rate 54.92% (target: 15%) -2025-09-15T14:20:36.637Z | [OTHER] | Attempt 51: Error rate 60.37% (target: 15%) -2025-09-15T14:20:36.639Z | [OTHER] | Attempt 52: Error rate 53.13% (target: 15%) -2025-09-15T14:20:36.646Z | [OTHER] | Attempt 53: Error rate 52.71% (target: 15%) -2025-09-15T14:20:36.647Z | [OTHER] | Attempt 54: Error rate 45.24% (target: 15%) -2025-09-15T14:20:36.649Z | [OTHER] | Attempt 55: Error rate 52.03% (target: 15%) -2025-09-15T14:20:36.651Z | [OTHER] | Attempt 56: Error rate 54.55% (target: 15%) -2025-09-15T14:20:36.652Z | [OTHER] | Attempt 57: Error rate 45.65% (target: 15%) -2025-09-15T14:20:36.654Z | [OTHER] | Attempt 58: Error rate 58.15% (target: 15%) -2025-09-15T14:20:36.657Z | [OTHER] | Attempt 59: Error rate 52.9% (target: 15%) -2025-09-15T14:20:36.659Z | [OTHER] | Attempt 60: Error rate 61.96% (target: 15%) -2025-09-15T14:20:36.660Z | [OTHER] | Attempt 61: Error rate 46.45% (target: 15%) -2025-09-15T14:20:36.662Z | [OTHER] | Attempt 62: Error rate 50.37% (target: 15%) -2025-09-15T14:20:36.663Z | [OTHER] | Attempt 63: Error rate 56.16% (target: 15%) -2025-09-15T14:20:36.665Z | [OTHER] | Attempt 64: Error rate 54.26% (target: 15%) -2025-09-15T14:20:36.666Z | [OTHER] | Attempt 65: Error rate 48.45% (target: 15%) -2025-09-15T14:20:36.668Z | [OTHER] | Attempt 66: Error rate 57.26% (target: 15%) -2025-09-15T14:20:36.670Z | [OTHER] | Attempt 67: Error rate 51.52% (target: 15%) -2025-09-15T14:20:36.671Z | [OTHER] | Attempt 68: Error rate 50.79% (target: 15%) -2025-09-15T14:20:36.674Z | [OTHER] | Attempt 69: Error rate 57.36% (target: 15%) -2025-09-15T14:20:36.676Z | [OTHER] | Attempt 70: Error rate 60.42% (target: 15%) -2025-09-15T14:20:36.677Z | [OTHER] | Attempt 71: Error rate 55.28% (target: 15%) -2025-09-15T14:20:36.679Z | [OTHER] | Attempt 72: Error rate 59.69% (target: 15%) -2025-09-15T14:20:36.680Z | [OTHER] | Attempt 73: Error rate 58.13% (target: 15%) -2025-09-15T14:20:36.682Z | [OTHER] | Attempt 74: Error rate 43.7% (target: 15%) -2025-09-15T14:20:36.683Z | [OTHER] | Attempt 75: Error rate 58.12% (target: 15%) -2025-09-15T14:20:36.685Z | [OTHER] | Attempt 76: Error rate 48.72% (target: 15%) -2025-09-15T14:20:36.686Z | [OTHER] | Attempt 77: Error rate 54.96% (target: 15%) -2025-09-15T14:20:36.688Z | [OTHER] | Attempt 78: Error rate 58.89% (target: 15%) -2025-09-15T14:20:36.690Z | [OTHER] | Attempt 79: Error rate 52.14% (target: 15%) -2025-09-15T14:20:36.692Z | [OTHER] | Attempt 80: Error rate 55.69% (target: 15%) -2025-09-15T14:20:36.694Z | [OTHER] | Attempt 81: Error rate 41.09% (target: 15%) -2025-09-15T14:20:36.695Z | [OTHER] | Attempt 82: Error rate 50.79% (target: 15%) -2025-09-15T14:20:36.697Z | [OTHER] | Attempt 83: Error rate 53.62% (target: 15%) -2025-09-15T14:20:36.698Z | [OTHER] | Attempt 84: Error rate 58.73% (target: 15%) -2025-09-15T14:20:36.700Z | [OTHER] | Attempt 85: Error rate 51.81% (target: 15%) -2025-09-15T14:20:36.701Z | [OTHER] | Attempt 86: Error rate 54.47% (target: 15%) -2025-09-15T14:20:36.703Z | [OTHER] | Attempt 87: Error rate 58.73% (target: 15%) -2025-09-15T14:20:36.704Z | [OTHER] | Attempt 88: Error rate 51.77% (target: 15%) -2025-09-15T14:20:36.706Z | [OTHER] | Attempt 89: Error rate 54.07% (target: 15%) -2025-09-15T14:20:36.708Z | [OTHER] | Attempt 90: Error rate 53.55% (target: 15%) -2025-09-15T14:20:36.709Z | [OTHER] | Attempt 91: Error rate 58.33% (target: 15%) -2025-09-15T14:20:36.711Z | [OTHER] | Attempt 92: Error rate 46.51% (target: 15%) -2025-09-15T14:20:36.712Z | [OTHER] | Attempt 93: Error rate 62.68% (target: 15%) -2025-09-15T14:20:36.714Z | [OTHER] | Attempt 94: Error rate 49.26% (target: 15%) -2025-09-15T14:20:36.715Z | [OTHER] | Attempt 95: Error rate 57.04% (target: 15%) -2025-09-15T14:20:36.717Z | [OTHER] | Attempt 96: Error rate 57.54% (target: 15%) -2025-09-15T14:20:36.718Z | [OTHER] | Attempt 97: Error rate 49.63% (target: 15%) -2025-09-15T14:20:36.720Z | [OTHER] | Attempt 98: Error rate 51.14% (target: 15%) -2025-09-15T14:20:36.722Z | [OTHER] | Attempt 99: Error rate 56.2% (target: 15%) -2025-09-15T14:20:36.724Z | [OTHER] | Attempt 100: Error rate 54.07% (target: 15%) -2025-09-15T14:20:36.726Z | [OTHER] | Attempt 101: Error rate 53.1% (target: 15%) -2025-09-15T14:20:36.727Z | [OTHER] | Attempt 102: Error rate 57.32% (target: 15%) -2025-09-15T14:20:36.729Z | [OTHER] | Attempt 103: Error rate 50.76% (target: 15%) -2025-09-15T14:20:36.730Z | [OTHER] | Attempt 104: Error rate 52.13% (target: 15%) -2025-09-15T14:20:36.732Z | [OTHER] | Attempt 105: Error rate 53.41% (target: 15%) -2025-09-15T14:20:36.733Z | [OTHER] | Attempt 106: Error rate 46.01% (target: 15%) -2025-09-15T14:20:36.735Z | [OTHER] | Attempt 107: Error rate 52.27% (target: 15%) -2025-09-15T14:20:36.736Z | [OTHER] | Attempt 108: Error rate 43.48% (target: 15%) -2025-09-15T14:20:36.738Z | [OTHER] | Attempt 109: Error rate 55.3% (target: 15%) -2025-09-15T14:20:36.739Z | [OTHER] | Attempt 110: Error rate 50% (target: 15%) -2025-09-15T14:20:36.741Z | [OTHER] | Attempt 111: Error rate 54.07% (target: 15%) -2025-09-15T14:20:36.742Z | [OTHER] | Attempt 112: Error rate 51.55% (target: 15%) -2025-09-15T14:20:36.744Z | [OTHER] | Attempt 113: Error rate 53.19% (target: 15%) -2025-09-15T14:20:36.746Z | [OTHER] | Attempt 114: Error rate 54.81% (target: 15%) -2025-09-15T14:20:36.748Z | [OTHER] | Attempt 115: Error rate 62.08% (target: 15%) -2025-09-15T14:20:36.749Z | [OTHER] | Attempt 116: Error rate 48.41% (target: 15%) -2025-09-15T14:20:36.751Z | [OTHER] | Attempt 117: Error rate 51.89% (target: 15%) -2025-09-15T14:20:36.752Z | [OTHER] | Attempt 118: Error rate 50.4% (target: 15%) -2025-09-15T14:20:36.754Z | [OTHER] | Attempt 119: Error rate 51.98% (target: 15%) -2025-09-15T14:20:36.756Z | [OTHER] | Attempt 120: Error rate 55.07% (target: 15%) -2025-09-15T14:20:36.758Z | [OTHER] | Attempt 121: Error rate 54.35% (target: 15%) -2025-09-15T14:20:36.759Z | [OTHER] | Attempt 122: Error rate 54.17% (target: 15%) -2025-09-15T14:20:36.761Z | [OTHER] | Attempt 123: Error rate 56.44% (target: 15%) -2025-09-15T14:20:36.762Z | [OTHER] | Attempt 124: Error rate 49.62% (target: 15%) -2025-09-15T14:20:36.764Z | [OTHER] | Attempt 125: Error rate 54.92% (target: 15%) -2025-09-15T14:20:36.765Z | [OTHER] | Attempt 126: Error rate 52.19% (target: 15%) -2025-09-15T14:20:36.767Z | [OTHER] | Attempt 127: Error rate 50.74% (target: 15%) -2025-09-15T14:20:36.769Z | [OTHER] | Attempt 128: Error rate 51.96% (target: 15%) -2025-09-15T14:20:36.770Z | [OTHER] | Attempt 129: Error rate 52.27% (target: 15%) -2025-09-15T14:20:36.772Z | [OTHER] | Attempt 130: Error rate 49.63% (target: 15%) -2025-09-15T14:20:36.773Z | [OTHER] | Attempt 131: Error rate 49.59% (target: 15%) -2025-09-15T14:20:36.775Z | [OTHER] | Attempt 132: Error rate 48.91% (target: 15%) -2025-09-15T14:20:36.776Z | [OTHER] | Attempt 133: Error rate 59.13% (target: 15%) -2025-09-15T14:20:36.778Z | [OTHER] | Attempt 134: Error rate 50% (target: 15%) -2025-09-15T14:20:36.780Z | [OTHER] | Attempt 135: Error rate 58.97% (target: 15%) -2025-09-15T14:20:36.781Z | [OTHER] | Attempt 136: Error rate 54.17% (target: 15%) -2025-09-15T14:20:36.783Z | [OTHER] | Attempt 137: Error rate 53.17% (target: 15%) -2025-09-15T14:20:36.784Z | [OTHER] | Attempt 138: Error rate 45.63% (target: 15%) -2025-09-15T14:20:36.786Z | [OTHER] | Attempt 139: Error rate 55.43% (target: 15%) -2025-09-15T14:20:36.788Z | [OTHER] | Attempt 140: Error rate 42.8% (target: 15%) -2025-09-15T14:20:36.790Z | [OTHER] | Attempt 141: Error rate 52.9% (target: 15%) -2025-09-15T14:20:36.792Z | [OTHER] | Attempt 142: Error rate 59.17% (target: 15%) -2025-09-15T14:20:36.793Z | [OTHER] | Attempt 143: Error rate 51.45% (target: 15%) -2025-09-15T14:20:36.795Z | [OTHER] | Attempt 144: Error rate 56.82% (target: 15%) -2025-09-15T14:20:36.796Z | [OTHER] | Attempt 145: Error rate 50.83% (target: 15%) -2025-09-15T14:20:36.798Z | [OTHER] | Attempt 146: Error rate 44.14% (target: 15%) -2025-09-15T14:20:36.800Z | [OTHER] | Attempt 147: Error rate 55.56% (target: 15%) -2025-09-15T14:20:36.801Z | [OTHER] | Attempt 148: Error rate 49.29% (target: 15%) -2025-09-15T14:20:36.803Z | [OTHER] | Attempt 149: Error rate 53.41% (target: 15%) -2025-09-15T14:20:36.805Z | [OTHER] | Attempt 150: Error rate 59.52% (target: 15%) -2025-09-15T14:20:36.807Z | [OTHER] | Attempt 151: Error rate 53.97% (target: 15%) -2025-09-15T14:20:36.808Z | [OTHER] | Attempt 152: Error rate 52.03% (target: 15%) -2025-09-15T14:20:36.810Z | [OTHER] | Attempt 153: Error rate 52.48% (target: 15%) -2025-09-15T14:20:36.812Z | [OTHER] | Attempt 154: Error rate 53.66% (target: 15%) -2025-09-15T14:20:36.813Z | [OTHER] | Attempt 155: Error rate 49.58% (target: 15%) -2025-09-15T14:20:36.815Z | [OTHER] | Attempt 156: Error rate 60.87% (target: 15%) -2025-09-15T14:20:36.817Z | [OTHER] | Attempt 157: Error rate 59.85% (target: 15%) -2025-09-15T14:20:36.818Z | [OTHER] | Attempt 158: Error rate 55.04% (target: 15%) -2025-09-15T14:20:36.820Z | [OTHER] | Attempt 159: Error rate 48.19% (target: 15%) -2025-09-15T14:20:36.821Z | [OTHER] | Attempt 160: Error rate 53.26% (target: 15%) -2025-09-15T14:20:36.824Z | [OTHER] | Attempt 161: Error rate 52.71% (target: 15%) -2025-09-15T14:20:36.825Z | [OTHER] | Attempt 162: Error rate 48.06% (target: 15%) -2025-09-15T14:20:36.827Z | [OTHER] | Attempt 163: Error rate 51.22% (target: 15%) -2025-09-15T14:20:36.829Z | [OTHER] | Attempt 164: Error rate 57.14% (target: 15%) -2025-09-15T14:20:36.830Z | [OTHER] | Attempt 165: Error rate 59.09% (target: 15%) -2025-09-15T14:20:36.832Z | [OTHER] | Attempt 166: Error rate 54.37% (target: 15%) -2025-09-15T14:20:36.833Z | [OTHER] | Attempt 167: Error rate 51.14% (target: 15%) -2025-09-15T14:20:36.835Z | [OTHER] | Attempt 168: Error rate 52.78% (target: 15%) -2025-09-15T14:20:36.836Z | [OTHER] | Attempt 169: Error rate 45.65% (target: 15%) -2025-09-15T14:20:36.838Z | [OTHER] | Attempt 170: Error rate 51.89% (target: 15%) -2025-09-15T14:20:36.840Z | [OTHER] | Attempt 171: Error rate 52.54% (target: 15%) -2025-09-15T14:20:36.842Z | [OTHER] | Attempt 172: Error rate 51.89% (target: 15%) -2025-09-15T14:20:36.843Z | [OTHER] | Attempt 173: Error rate 58.94% (target: 15%) -2025-09-15T14:20:36.845Z | [OTHER] | Attempt 174: Error rate 46.67% (target: 15%) -2025-09-15T14:20:36.846Z | [OTHER] | Attempt 175: Error rate 62.5% (target: 15%) -2025-09-15T14:20:36.848Z | [OTHER] | Attempt 176: Error rate 51.52% (target: 15%) -2025-09-15T14:20:36.849Z | [OTHER] | Attempt 177: Error rate 52.44% (target: 15%) -2025-09-15T14:20:36.851Z | [OTHER] | Attempt 178: Error rate 50% (target: 15%) -2025-09-15T14:20:36.853Z | [OTHER] | Attempt 179: Error rate 58.15% (target: 15%) -2025-09-15T14:20:36.854Z | [OTHER] | Attempt 180: Error rate 47.56% (target: 15%) -2025-09-15T14:20:36.857Z | [OTHER] | Attempt 181: Error rate 49.62% (target: 15%) -2025-09-15T14:20:36.858Z | [OTHER] | Attempt 182: Error rate 48.84% (target: 15%) -2025-09-15T14:20:36.860Z | [OTHER] | Attempt 183: Error rate 54.17% (target: 15%) -2025-09-15T14:20:36.861Z | [OTHER] | Attempt 184: Error rate 45.35% (target: 15%) -2025-09-15T14:20:36.863Z | [OTHER] | Attempt 185: Error rate 60.32% (target: 15%) -2025-09-15T14:20:36.864Z | [OTHER] | Attempt 186: Error rate 49.12% (target: 15%) -2025-09-15T14:20:36.866Z | [OTHER] | Attempt 187: Error rate 54.37% (target: 15%) -2025-09-15T14:20:36.867Z | [OTHER] | Attempt 188: Error rate 54.58% (target: 15%) -2025-09-15T14:20:36.869Z | [OTHER] | Attempt 189: Error rate 51.74% (target: 15%) -2025-09-15T14:20:36.871Z | [OTHER] | Attempt 190: Error rate 51.85% (target: 15%) -2025-09-15T14:20:36.872Z | [OTHER] | Attempt 191: Error rate 52.43% (target: 15%) -2025-09-15T14:20:36.874Z | [OTHER] | Attempt 192: Error rate 58.33% (target: 15%) -2025-09-15T14:20:36.875Z | [OTHER] | Attempt 193: Error rate 50.39% (target: 15%) -2025-09-15T14:20:36.877Z | [OTHER] | Attempt 194: Error rate 47.04% (target: 15%) -2025-09-15T14:20:36.879Z | [OTHER] | Attempt 195: Error rate 57.14% (target: 15%) -2025-09-15T14:20:36.880Z | [OTHER] | Attempt 196: Error rate 51.11% (target: 15%) -2025-09-15T14:20:36.882Z | [OTHER] | Attempt 197: Error rate 50.36% (target: 15%) -2025-09-15T14:20:36.883Z | [OTHER] | Attempt 198: Error rate 53.19% (target: 15%) -2025-09-15T14:20:36.885Z | [OTHER] | Attempt 199: Error rate 57.29% (target: 15%) -2025-09-15T14:20:36.886Z | [OTHER] | Attempt 200: Error rate 55.43% (target: 15%) -2025-09-15T14:20:36.889Z | [OTHER] | Attempt 201: Error rate 51.94% (target: 15%) -2025-09-15T14:20:36.890Z | [OTHER] | Attempt 202: Error rate 50% (target: 15%) -2025-09-15T14:20:36.892Z | [OTHER] | Attempt 203: Error rate 50% (target: 15%) -2025-09-15T14:20:36.894Z | [OTHER] | Attempt 204: Error rate 50% (target: 15%) -2025-09-15T14:20:36.895Z | [OTHER] | Attempt 205: Error rate 44.9% (target: 15%) -2025-09-15T14:20:36.897Z | [OTHER] | Attempt 206: Error rate 53.67% (target: 15%) -2025-09-15T14:20:36.898Z | [OTHER] | Attempt 207: Error rate 55.43% (target: 15%) -2025-09-15T14:20:36.900Z | [OTHER] | Attempt 208: Error rate 51.59% (target: 15%) -2025-09-15T14:20:36.902Z | [OTHER] | Attempt 209: Error rate 55.9% (target: 15%) -2025-09-15T14:20:36.903Z | [OTHER] | Attempt 210: Error rate 53.85% (target: 15%) -2025-09-15T14:20:36.905Z | [OTHER] | Attempt 211: Error rate 52.84% (target: 15%) -2025-09-15T14:20:36.907Z | [OTHER] | Attempt 212: Error rate 53.88% (target: 15%) -2025-09-15T14:20:36.909Z | [OTHER] | Attempt 213: Error rate 49.66% (target: 15%) -2025-09-15T14:20:36.910Z | [OTHER] | Attempt 214: Error rate 51.85% (target: 15%) -2025-09-15T14:20:36.912Z | [OTHER] | Attempt 215: Error rate 50.38% (target: 15%) -2025-09-15T14:20:36.914Z | [OTHER] | Attempt 216: Error rate 50.71% (target: 15%) -2025-09-15T14:20:36.915Z | [OTHER] | Attempt 217: Error rate 55.04% (target: 15%) -2025-09-15T14:20:36.917Z | [OTHER] | Attempt 218: Error rate 53.33% (target: 15%) -2025-09-15T14:20:36.918Z | [OTHER] | Attempt 219: Error rate 45.65% (target: 15%) -2025-09-15T14:20:36.920Z | [OTHER] | Attempt 220: Error rate 52.08% (target: 15%) -2025-09-15T14:20:36.923Z | [OTHER] | Attempt 221: Error rate 53.03% (target: 15%) -2025-09-15T14:20:36.924Z | [OTHER] | Attempt 222: Error rate 57.45% (target: 15%) -2025-09-15T14:20:36.926Z | [OTHER] | Attempt 223: Error rate 50% (target: 15%) -2025-09-15T14:20:36.927Z | [OTHER] | Attempt 224: Error rate 52.14% (target: 15%) -2025-09-15T14:20:36.929Z | [OTHER] | Attempt 225: Error rate 53.66% (target: 15%) -2025-09-15T14:20:36.931Z | [OTHER] | Attempt 226: Error rate 45.93% (target: 15%) -2025-09-15T14:20:36.933Z | [OTHER] | Attempt 227: Error rate 61.9% (target: 15%) -2025-09-15T14:20:36.937Z | [OTHER] | Attempt 228: Error rate 46.9% (target: 15%) -2025-09-15T14:20:36.939Z | [OTHER] | Attempt 229: Error rate 57.54% (target: 15%) -2025-09-15T14:20:36.942Z | [OTHER] | Attempt 230: Error rate 41.84% (target: 15%) -2025-09-15T14:20:36.944Z | [OTHER] | Attempt 231: Error rate 50.78% (target: 15%) -2025-09-15T14:20:36.946Z | [OTHER] | Attempt 232: Error rate 45.53% (target: 15%) -2025-09-15T14:20:36.949Z | [OTHER] | Attempt 233: Error rate 54.81% (target: 15%) -2025-09-15T14:20:36.951Z | [OTHER] | Attempt 234: Error rate 49.61% (target: 15%) -2025-09-15T14:20:36.954Z | [OTHER] | Attempt 235: Error rate 57.33% (target: 15%) -2025-09-15T14:20:36.956Z | [OTHER] | Attempt 236: Error rate 47.73% (target: 15%) -2025-09-15T14:20:36.958Z | [OTHER] | Attempt 237: Error rate 51.36% (target: 15%) -2025-09-15T14:20:36.960Z | [OTHER] | Attempt 238: Error rate 51.94% (target: 15%) -2025-09-15T14:20:36.963Z | [OTHER] | Attempt 239: Error rate 57.04% (target: 15%) -2025-09-15T14:20:36.965Z | [OTHER] | Attempt 240: Error rate 46.38% (target: 15%) -2025-09-15T14:20:36.970Z | [OTHER] | Attempt 241: Error rate 53.1% (target: 15%) -2025-09-15T14:20:36.973Z | [OTHER] | Attempt 242: Error rate 50.72% (target: 15%) -2025-09-15T14:20:36.975Z | [OTHER] | Attempt 243: Error rate 47.29% (target: 15%) -2025-09-15T14:20:36.977Z | [OTHER] | Attempt 244: Error rate 52.03% (target: 15%) -2025-09-15T14:20:36.979Z | [OTHER] | Attempt 245: Error rate 47.78% (target: 15%) -2025-09-15T14:20:36.981Z | [OTHER] | Attempt 246: Error rate 54.58% (target: 15%) -2025-09-15T14:20:36.982Z | [OTHER] | Attempt 247: Error rate 48.94% (target: 15%) -2025-09-15T14:20:36.985Z | [OTHER] | Attempt 248: Error rate 48.45% (target: 15%) -2025-09-15T14:20:36.986Z | [OTHER] | Attempt 249: Error rate 55.81% (target: 15%) -2025-09-15T14:20:36.988Z | [OTHER] | Attempt 250: Error rate 51.94% (target: 15%) -2025-09-15T14:20:36.990Z | [OTHER] | Attempt 251: Error rate 56.3% (target: 15%) -2025-09-15T14:20:36.992Z | [OTHER] | Attempt 252: Error rate 54.17% (target: 15%) -2025-09-15T14:20:36.994Z | [OTHER] | Attempt 253: Error rate 50.43% (target: 15%) -2025-09-15T14:20:36.995Z | [OTHER] | Attempt 254: Error rate 52.78% (target: 15%) -2025-09-15T14:20:36.997Z | [OTHER] | Attempt 255: Error rate 54.55% (target: 15%) -2025-09-15T14:20:36.999Z | [OTHER] | Attempt 256: Error rate 53.19% (target: 15%) -2025-09-15T14:20:37.000Z | [OTHER] | Attempt 257: Error rate 52.13% (target: 15%) -2025-09-15T14:20:37.002Z | [OTHER] | Attempt 258: Error rate 54.47% (target: 15%) -2025-09-15T14:20:37.004Z | [OTHER] | Attempt 259: Error rate 54.17% (target: 15%) -2025-09-15T14:20:37.005Z | [OTHER] | Attempt 260: Error rate 52.59% (target: 15%) -2025-09-15T14:20:37.007Z | [OTHER] | Attempt 261: Error rate 54.7% (target: 15%) -2025-09-15T14:20:37.009Z | [OTHER] | Attempt 262: Error rate 41.06% (target: 15%) -2025-09-15T14:20:37.011Z | [OTHER] | Attempt 263: Error rate 43.26% (target: 15%) -2025-09-15T14:20:37.013Z | [OTHER] | Attempt 264: Error rate 59.47% (target: 15%) -2025-09-15T14:20:37.014Z | [OTHER] | Attempt 265: Error rate 51.85% (target: 15%) -2025-09-15T14:20:37.016Z | [OTHER] | Attempt 266: Error rate 46.97% (target: 15%) -2025-09-15T14:20:37.017Z | [OTHER] | Attempt 267: Error rate 51.16% (target: 15%) -2025-09-15T14:20:37.019Z | [OTHER] | Attempt 268: Error rate 50.72% (target: 15%) -2025-09-15T14:20:37.021Z | [OTHER] | Attempt 269: Error rate 54.07% (target: 15%) -2025-09-15T14:20:37.022Z | [OTHER] | Attempt 270: Error rate 47.78% (target: 15%) -2025-09-15T14:20:37.024Z | [OTHER] | Attempt 271: Error rate 52.38% (target: 15%) -2025-09-15T14:20:37.025Z | [OTHER] | Attempt 272: Error rate 54.37% (target: 15%) -2025-09-15T14:20:37.027Z | [OTHER] | Attempt 273: Error rate 58.54% (target: 15%) -2025-09-15T14:20:37.028Z | [OTHER] | Attempt 274: Error rate 51.98% (target: 15%) -2025-09-15T14:20:37.030Z | [OTHER] | Attempt 275: Error rate 40.7% (target: 15%) -2025-09-15T14:20:37.031Z | [OTHER] | Attempt 276: Error rate 49.29% (target: 15%) -2025-09-15T14:20:37.033Z | [OTHER] | Attempt 277: Error rate 38.37% (target: 15%) -2025-09-15T14:20:37.034Z | [OTHER] | Attempt 278: Error rate 55.56% (target: 15%) -2025-09-15T14:20:37.036Z | [OTHER] | Attempt 279: Error rate 55.68% (target: 15%) -2025-09-15T14:20:37.038Z | [OTHER] | Attempt 280: Error rate 56.16% (target: 15%) -2025-09-15T14:20:37.040Z | [OTHER] | Attempt 281: Error rate 51.06% (target: 15%) -2025-09-15T14:20:37.042Z | [OTHER] | Attempt 282: Error rate 57.95% (target: 15%) -2025-09-15T14:20:37.044Z | [OTHER] | Attempt 283: Error rate 56.25% (target: 15%) -2025-09-15T14:20:37.046Z | [OTHER] | Attempt 284: Error rate 57.54% (target: 15%) -2025-09-15T14:20:37.047Z | [OTHER] | Attempt 285: Error rate 54.55% (target: 15%) -2025-09-15T14:20:37.049Z | [OTHER] | Attempt 286: Error rate 57.33% (target: 15%) -2025-09-15T14:20:37.050Z | [OTHER] | Attempt 287: Error rate 50.38% (target: 15%) -2025-09-15T14:20:37.052Z | [OTHER] | Attempt 288: Error rate 54.88% (target: 15%) -2025-09-15T14:20:37.053Z | [OTHER] | Attempt 289: Error rate 53.97% (target: 15%) -2025-09-15T14:20:37.055Z | [OTHER] | Attempt 290: Error rate 60.61% (target: 15%) -2025-09-15T14:20:37.056Z | [OTHER] | Attempt 291: Error rate 47.29% (target: 15%) -2025-09-15T14:20:37.058Z | [OTHER] | Attempt 292: Error rate 51.09% (target: 15%) -2025-09-15T14:20:37.059Z | [OTHER] | Attempt 293: Error rate 52.59% (target: 15%) -2025-09-15T14:20:37.061Z | [OTHER] | Attempt 294: Error rate 49.29% (target: 15%) -2025-09-15T14:20:37.062Z | [OTHER] | Attempt 295: Error rate 64.63% (target: 15%) -2025-09-15T14:20:37.064Z | [OTHER] | Attempt 296: Error rate 54.47% (target: 15%) -2025-09-15T14:20:37.066Z | [OTHER] | Attempt 297: Error rate 53.33% (target: 15%) -2025-09-15T14:20:37.067Z | [OTHER] | Attempt 298: Error rate 50% (target: 15%) -2025-09-15T14:20:37.069Z | [OTHER] | Attempt 299: Error rate 46.01% (target: 15%) -2025-09-15T14:20:37.070Z | [OTHER] | Attempt 300: Error rate 49.22% (target: 15%) -2025-09-15T14:20:37.072Z | [OTHER] | Attempt 301: Error rate 52.65% (target: 15%) -2025-09-15T14:20:37.074Z | [OTHER] | Attempt 302: Error rate 52.96% (target: 15%) -2025-09-15T14:20:37.076Z | [OTHER] | Attempt 303: Error rate 61.24% (target: 15%) -2025-09-15T14:20:37.077Z | [OTHER] | Attempt 304: Error rate 47.46% (target: 15%) -2025-09-15T14:20:37.079Z | [OTHER] | Attempt 305: Error rate 53% (target: 15%) -2025-09-15T14:20:37.080Z | [OTHER] | Attempt 306: Error rate 55.19% (target: 15%) -2025-09-15T14:20:37.082Z | [OTHER] | Attempt 307: Error rate 46.88% (target: 15%) -2025-09-15T14:20:37.084Z | [OTHER] | Attempt 308: Error rate 47.73% (target: 15%) -2025-09-15T14:20:37.085Z | [OTHER] | Attempt 309: Error rate 51.94% (target: 15%) -2025-09-15T14:20:37.087Z | [OTHER] | Attempt 310: Error rate 52.33% (target: 15%) -2025-09-15T14:20:37.088Z | [OTHER] | Attempt 311: Error rate 58.33% (target: 15%) -2025-09-15T14:20:37.090Z | [OTHER] | Attempt 312: Error rate 50.76% (target: 15%) -2025-09-15T14:20:37.091Z | [OTHER] | Attempt 313: Error rate 52.17% (target: 15%) -2025-09-15T14:20:37.092Z | [OTHER] | Attempt 314: Error rate 47.35% (target: 15%) -2025-09-15T14:20:37.094Z | [OTHER] | Attempt 315: Error rate 54.26% (target: 15%) -2025-09-15T14:20:37.096Z | [OTHER] | Attempt 316: Error rate 47.29% (target: 15%) -2025-09-15T14:20:37.097Z | [OTHER] | Attempt 317: Error rate 51.71% (target: 15%) -2025-09-15T14:20:37.099Z | [OTHER] | Attempt 318: Error rate 58.33% (target: 15%) -2025-09-15T14:20:37.100Z | [OTHER] | Attempt 319: Error rate 48.58% (target: 15%) -2025-09-15T14:20:37.102Z | [OTHER] | Attempt 320: Error rate 54.51% (target: 15%) -2025-09-15T14:20:37.103Z | [OTHER] | Attempt 321: Error rate 51.77% (target: 15%) -2025-09-15T14:20:37.106Z | [OTHER] | Attempt 322: Error rate 47.62% (target: 15%) -2025-09-15T14:20:37.107Z | [OTHER] | Attempt 323: Error rate 50.36% (target: 15%) -2025-09-15T14:20:37.109Z | [OTHER] | Attempt 324: Error rate 54.92% (target: 15%) -2025-09-15T14:20:37.110Z | [OTHER] | Attempt 325: Error rate 53.42% (target: 15%) -2025-09-15T14:20:37.112Z | [OTHER] | Attempt 326: Error rate 48.02% (target: 15%) -2025-09-15T14:20:37.113Z | [OTHER] | Attempt 327: Error rate 54.71% (target: 15%) -2025-09-15T14:20:37.115Z | [OTHER] | Attempt 328: Error rate 46.75% (target: 15%) -2025-09-15T14:20:37.116Z | [OTHER] | Attempt 329: Error rate 57.2% (target: 15%) -2025-09-15T14:20:37.118Z | [OTHER] | Attempt 330: Error rate 46.38% (target: 15%) -2025-09-15T14:20:37.119Z | [OTHER] | Attempt 331: Error rate 53.62% (target: 15%) -2025-09-15T14:20:37.121Z | [OTHER] | Attempt 332: Error rate 53.07% (target: 15%) -2025-09-15T14:20:37.122Z | [OTHER] | Attempt 333: Error rate 53.55% (target: 15%) -2025-09-15T14:20:37.124Z | [OTHER] | Attempt 334: Error rate 57.41% (target: 15%) -2025-09-15T14:20:37.125Z | [OTHER] | Attempt 335: Error rate 55.8% (target: 15%) -2025-09-15T14:20:37.127Z | [OTHER] | Attempt 336: Error rate 48.86% (target: 15%) -2025-09-15T14:20:37.129Z | [OTHER] | Attempt 337: Error rate 62.15% (target: 15%) -2025-09-15T14:20:37.130Z | [OTHER] | Attempt 338: Error rate 52.92% (target: 15%) -2025-09-15T14:20:37.132Z | [OTHER] | Attempt 339: Error rate 50% (target: 15%) -2025-09-15T14:20:37.133Z | [OTHER] | Attempt 340: Error rate 50.38% (target: 15%) -2025-09-15T14:20:37.135Z | [OTHER] | Attempt 341: Error rate 51.85% (target: 15%) -2025-09-15T14:20:37.138Z | [OTHER] | Attempt 342: Error rate 57.09% (target: 15%) -2025-09-15T14:20:37.141Z | [OTHER] | Attempt 343: Error rate 50% (target: 15%) -2025-09-15T14:20:37.143Z | [OTHER] | Attempt 344: Error rate 51.09% (target: 15%) -2025-09-15T14:20:37.146Z | [OTHER] | Attempt 345: Error rate 50% (target: 15%) -2025-09-15T14:20:37.147Z | [OTHER] | Attempt 346: Error rate 55.19% (target: 15%) -2025-09-15T14:20:37.149Z | [OTHER] | Attempt 347: Error rate 56.38% (target: 15%) -2025-09-15T14:20:37.151Z | [OTHER] | Attempt 348: Error rate 45.24% (target: 15%) -2025-09-15T14:20:37.152Z | [OTHER] | Attempt 349: Error rate 53.62% (target: 15%) -2025-09-15T14:20:37.154Z | [OTHER] | Attempt 350: Error rate 57.8% (target: 15%) -2025-09-15T14:20:37.156Z | [OTHER] | Attempt 351: Error rate 49.24% (target: 15%) -2025-09-15T14:20:37.157Z | [OTHER] | Attempt 352: Error rate 61.46% (target: 15%) -2025-09-15T14:20:37.159Z | [OTHER] | Attempt 353: Error rate 52.22% (target: 15%) -2025-09-15T14:20:37.160Z | [OTHER] | Attempt 354: Error rate 56.75% (target: 15%) -2025-09-15T14:20:37.162Z | [OTHER] | Attempt 355: Error rate 50.38% (target: 15%) -2025-09-15T14:20:37.163Z | [OTHER] | Attempt 356: Error rate 50.35% (target: 15%) -2025-09-15T14:20:37.165Z | [OTHER] | Attempt 357: Error rate 52.72% (target: 15%) -2025-09-15T14:20:37.167Z | [OTHER] | Attempt 358: Error rate 51.59% (target: 15%) -2025-09-15T14:20:37.169Z | [OTHER] | Attempt 359: Error rate 55.19% (target: 15%) -2025-09-15T14:20:37.171Z | [OTHER] | Attempt 360: Error rate 50.36% (target: 15%) -2025-09-15T14:20:37.172Z | [OTHER] | Attempt 361: Error rate 50.74% (target: 15%) -2025-09-15T14:20:37.175Z | [OTHER] | Attempt 362: Error rate 55.56% (target: 15%) -2025-09-15T14:20:37.176Z | [OTHER] | Attempt 363: Error rate 55.3% (target: 15%) -2025-09-15T14:20:37.178Z | [OTHER] | Attempt 364: Error rate 46.83% (target: 15%) -2025-09-15T14:20:37.180Z | [OTHER] | Attempt 365: Error rate 53.99% (target: 15%) -2025-09-15T14:20:37.181Z | [OTHER] | Attempt 366: Error rate 53.55% (target: 15%) -2025-09-15T14:20:37.182Z | [OTHER] | Attempt 367: Error rate 41.09% (target: 15%) -2025-09-15T14:20:37.184Z | [OTHER] | Attempt 368: Error rate 58.7% (target: 15%) -2025-09-15T14:20:37.186Z | [OTHER] | Attempt 369: Error rate 57.48% (target: 15%) -2025-09-15T14:20:37.188Z | [OTHER] | Attempt 370: Error rate 53.26% (target: 15%) -2025-09-15T14:20:37.189Z | [OTHER] | Attempt 371: Error rate 56.3% (target: 15%) -2025-09-15T14:20:37.191Z | [OTHER] | Attempt 372: Error rate 52.44% (target: 15%) -2025-09-15T14:20:37.193Z | [OTHER] | Attempt 373: Error rate 43.33% (target: 15%) -2025-09-15T14:20:37.194Z | [OTHER] | Attempt 374: Error rate 56.44% (target: 15%) -2025-09-15T14:20:37.195Z | [OTHER] | Attempt 375: Error rate 50.71% (target: 15%) -2025-09-15T14:20:37.197Z | [OTHER] | Attempt 376: Error rate 56.12% (target: 15%) -2025-09-15T14:20:37.199Z | [OTHER] | Attempt 377: Error rate 43.75% (target: 15%) -2025-09-15T14:20:37.200Z | [OTHER] | Attempt 378: Error rate 51.98% (target: 15%) -2025-09-15T14:20:37.202Z | [OTHER] | Attempt 379: Error rate 59.03% (target: 15%) -2025-09-15T14:20:37.204Z | [OTHER] | Attempt 380: Error rate 55.19% (target: 15%) -2025-09-15T14:20:37.205Z | [OTHER] | Attempt 381: Error rate 62.2% (target: 15%) -2025-09-15T14:20:37.208Z | [OTHER] | Attempt 382: Error rate 54.55% (target: 15%) -2025-09-15T14:20:37.209Z | [OTHER] | Attempt 383: Error rate 53.33% (target: 15%) -2025-09-15T14:20:37.211Z | [OTHER] | Attempt 384: Error rate 53.97% (target: 15%) -2025-09-15T14:20:37.212Z | [OTHER] | Attempt 385: Error rate 54.81% (target: 15%) -2025-09-15T14:20:37.214Z | [OTHER] | Attempt 386: Error rate 50.9% (target: 15%) -2025-09-15T14:20:37.215Z | [OTHER] | Attempt 387: Error rate 52.85% (target: 15%) -2025-09-15T14:20:37.217Z | [OTHER] | Attempt 388: Error rate 52.85% (target: 15%) -2025-09-15T14:20:37.218Z | [OTHER] | Attempt 389: Error rate 51.94% (target: 15%) -2025-09-15T14:20:37.220Z | [OTHER] | Attempt 390: Error rate 50.36% (target: 15%) -2025-09-15T14:20:37.221Z | [OTHER] | Attempt 391: Error rate 53.47% (target: 15%) -2025-09-15T14:20:37.223Z | [OTHER] | Attempt 392: Error rate 54.58% (target: 15%) -2025-09-15T14:20:37.224Z | [OTHER] | Attempt 393: Error rate 57.78% (target: 15%) -2025-09-15T14:20:37.226Z | [OTHER] | Attempt 394: Error rate 52.27% (target: 15%) -2025-09-15T14:20:37.227Z | [OTHER] | Attempt 395: Error rate 49.24% (target: 15%) -2025-09-15T14:20:37.229Z | [OTHER] | Attempt 396: Error rate 52.27% (target: 15%) -2025-09-15T14:20:37.230Z | [OTHER] | Attempt 397: Error rate 57.94% (target: 15%) -2025-09-15T14:20:37.232Z | [OTHER] | Attempt 398: Error rate 50% (target: 15%) -2025-09-15T14:20:37.238Z | [OTHER] | Attempt 399: Error rate 47.86% (target: 15%) -2025-09-15T14:20:37.241Z | [OTHER] | Attempt 400: Error rate 52.92% (target: 15%) -2025-09-15T14:20:37.243Z | [OTHER] | Attempt 401: Error rate 45.83% (target: 15%) -2025-09-15T14:20:37.248Z | [OTHER] | Attempt 402: Error rate 49.59% (target: 15%) -2025-09-15T14:20:37.252Z | [OTHER] | Attempt 403: Error rate 56.59% (target: 15%) -2025-09-15T14:20:37.254Z | [OTHER] | Attempt 404: Error rate 52.9% (target: 15%) -2025-09-15T14:20:37.256Z | [OTHER] | Attempt 405: Error rate 56.67% (target: 15%) -2025-09-15T14:20:37.259Z | [OTHER] | Attempt 406: Error rate 56.14% (target: 15%) -2025-09-15T14:20:37.261Z | [OTHER] | Attempt 407: Error rate 49.63% (target: 15%) -2025-09-15T14:20:37.263Z | [OTHER] | Attempt 408: Error rate 49.58% (target: 15%) -2025-09-15T14:20:37.265Z | [OTHER] | Attempt 409: Error rate 54.17% (target: 15%) -2025-09-15T14:20:37.267Z | [OTHER] | Attempt 410: Error rate 48.84% (target: 15%) -2025-09-15T14:20:37.269Z | [OTHER] | Attempt 411: Error rate 49.19% (target: 15%) -2025-09-15T14:20:37.272Z | [OTHER] | Attempt 412: Error rate 52.25% (target: 15%) -2025-09-15T14:20:37.274Z | [OTHER] | Attempt 413: Error rate 50% (target: 15%) -2025-09-15T14:20:37.277Z | [OTHER] | Attempt 414: Error rate 54.61% (target: 15%) -2025-09-15T14:20:37.279Z | [OTHER] | Attempt 415: Error rate 49.1% (target: 15%) -2025-09-15T14:20:37.281Z | [OTHER] | Attempt 416: Error rate 47% (target: 15%) -2025-09-15T14:20:37.284Z | [OTHER] | Attempt 417: Error rate 45.12% (target: 15%) -2025-09-15T14:20:37.286Z | [OTHER] | Attempt 418: Error rate 55.8% (target: 15%) -2025-09-15T14:20:37.287Z | [OTHER] | Attempt 419: Error rate 53.66% (target: 15%) -2025-09-15T14:20:37.289Z | [OTHER] | Attempt 420: Error rate 51.48% (target: 15%) -2025-09-15T14:20:37.291Z | [OTHER] | Attempt 421: Error rate 50% (target: 15%) -2025-09-15T14:20:37.293Z | [OTHER] | Attempt 422: Error rate 52.22% (target: 15%) -2025-09-15T14:20:37.296Z | [OTHER] | Attempt 423: Error rate 51.59% (target: 15%) -2025-09-15T14:20:37.298Z | [OTHER] | Attempt 424: Error rate 39.74% (target: 15%) -2025-09-15T14:20:37.301Z | [OTHER] | Attempt 425: Error rate 52.71% (target: 15%) -2025-09-15T14:20:37.303Z | [OTHER] | Attempt 426: Error rate 50.78% (target: 15%) -2025-09-15T14:20:37.305Z | [OTHER] | Attempt 427: Error rate 45.12% (target: 15%) -2025-09-15T14:20:37.308Z | [OTHER] | Attempt 428: Error rate 55.3% (target: 15%) -2025-09-15T14:20:37.313Z | [OTHER] | Attempt 429: Error rate 48.81% (target: 15%) -2025-09-15T14:20:37.314Z | [OTHER] | Attempt 430: Error rate 52.48% (target: 15%) -2025-09-15T14:20:37.316Z | [OTHER] | Attempt 431: Error rate 48.29% (target: 15%) -2025-09-15T14:20:37.317Z | [OTHER] | Attempt 432: Error rate 53.88% (target: 15%) -2025-09-15T14:20:37.319Z | [OTHER] | Attempt 433: Error rate 50.4% (target: 15%) -2025-09-15T14:20:37.321Z | [OTHER] | Attempt 434: Error rate 55.8% (target: 15%) -2025-09-15T14:20:37.322Z | [OTHER] | Attempt 435: Error rate 53.67% (target: 15%) -2025-09-15T14:20:37.324Z | [OTHER] | Attempt 436: Error rate 50.83% (target: 15%) -2025-09-15T14:20:37.326Z | [OTHER] | Attempt 437: Error rate 53.57% (target: 15%) -2025-09-15T14:20:37.327Z | [OTHER] | Attempt 438: Error rate 54.71% (target: 15%) -2025-09-15T14:20:37.329Z | [OTHER] | Attempt 439: Error rate 57.36% (target: 15%) -2025-09-15T14:20:37.331Z | [OTHER] | Attempt 440: Error rate 54.81% (target: 15%) -2025-09-15T14:20:37.332Z | [OTHER] | Attempt 441: Error rate 47.73% (target: 15%) -2025-09-15T14:20:37.334Z | [OTHER] | Attempt 442: Error rate 51.74% (target: 15%) -2025-09-15T14:20:37.335Z | [OTHER] | Attempt 443: Error rate 57.58% (target: 15%) -2025-09-15T14:20:37.338Z | [OTHER] | Attempt 444: Error rate 53.97% (target: 15%) -2025-09-15T14:20:37.339Z | [OTHER] | Attempt 445: Error rate 58.14% (target: 15%) -2025-09-15T14:20:37.341Z | [OTHER] | Attempt 446: Error rate 54.17% (target: 15%) -2025-09-15T14:20:37.343Z | [OTHER] | Attempt 447: Error rate 49.24% (target: 15%) -2025-09-15T14:20:37.344Z | [OTHER] | Attempt 448: Error rate 53.33% (target: 15%) -2025-09-15T14:20:37.348Z | [OTHER] | Attempt 449: Error rate 41.67% (target: 15%) -2025-09-15T14:20:37.349Z | [OTHER] | Attempt 450: Error rate 45.73% (target: 15%) -2025-09-15T14:20:37.351Z | [OTHER] | Attempt 451: Error rate 54.7% (target: 15%) -2025-09-15T14:20:37.353Z | [OTHER] | Attempt 452: Error rate 58.14% (target: 15%) -2025-09-15T14:20:37.355Z | [OTHER] | Attempt 453: Error rate 52.38% (target: 15%) -2025-09-15T14:20:37.356Z | [OTHER] | Attempt 454: Error rate 48.61% (target: 15%) -2025-09-15T14:20:37.358Z | [OTHER] | Attempt 455: Error rate 48.15% (target: 15%) -2025-09-15T14:20:37.359Z | [OTHER] | Attempt 456: Error rate 55.56% (target: 15%) -2025-09-15T14:20:37.361Z | [OTHER] | Attempt 457: Error rate 48.15% (target: 15%) -2025-09-15T14:20:37.363Z | [OTHER] | Attempt 458: Error rate 59.92% (target: 15%) -2025-09-15T14:20:37.364Z | [OTHER] | Attempt 459: Error rate 52.38% (target: 15%) -2025-09-15T14:20:37.366Z | [OTHER] | Attempt 460: Error rate 49.65% (target: 15%) -2025-09-15T14:20:37.368Z | [OTHER] | Attempt 461: Error rate 56.12% (target: 15%) -2025-09-15T14:20:37.369Z | [OTHER] | Attempt 462: Error rate 48.26% (target: 15%) -2025-09-15T14:20:37.371Z | [OTHER] | Attempt 463: Error rate 54.81% (target: 15%) -2025-09-15T14:20:37.373Z | [OTHER] | Attempt 464: Error rate 54.37% (target: 15%) -2025-09-15T14:20:37.375Z | [OTHER] | Attempt 465: Error rate 52.13% (target: 15%) -2025-09-15T14:20:37.377Z | [OTHER] | Attempt 466: Error rate 54.76% (target: 15%) -2025-09-15T14:20:37.378Z | [OTHER] | Attempt 467: Error rate 53.79% (target: 15%) -2025-09-15T14:20:37.380Z | [OTHER] | Attempt 468: Error rate 57.54% (target: 15%) -2025-09-15T14:20:37.382Z | [OTHER] | Attempt 469: Error rate 56.3% (target: 15%) -2025-09-15T14:20:37.383Z | [OTHER] | Attempt 470: Error rate 47.04% (target: 15%) -2025-09-15T14:20:37.387Z | [OTHER] | Attempt 471: Error rate 47.87% (target: 15%) -2025-09-15T14:20:37.388Z | [OTHER] | Attempt 472: Error rate 53.41% (target: 15%) -2025-09-15T14:20:37.390Z | [OTHER] | Attempt 473: Error rate 50.39% (target: 15%) -2025-09-15T14:20:37.391Z | [OTHER] | Attempt 474: Error rate 49.69% (target: 15%) -2025-09-15T14:20:37.393Z | [OTHER] | Attempt 475: Error rate 47.62% (target: 15%) -2025-09-15T14:20:37.394Z | [OTHER] | Attempt 476: Error rate 55.93% (target: 15%) -2025-09-15T14:20:37.396Z | [OTHER] | Attempt 477: Error rate 49.62% (target: 15%) -2025-09-15T14:20:37.398Z | [OTHER] | Attempt 478: Error rate 50% (target: 15%) -2025-09-15T14:20:37.400Z | [OTHER] | Attempt 479: Error rate 46.81% (target: 15%) -2025-09-15T14:20:37.401Z | [OTHER] | Attempt 480: Error rate 53.4% (target: 15%) -2025-09-15T14:20:37.403Z | [OTHER] | Attempt 481: Error rate 53.41% (target: 15%) -2025-09-15T14:20:37.405Z | [OTHER] | Attempt 482: Error rate 54.17% (target: 15%) -2025-09-15T14:20:37.406Z | [OTHER] | Attempt 483: Error rate 56.2% (target: 15%) -2025-09-15T14:20:37.409Z | [OTHER] | Attempt 484: Error rate 55.81% (target: 15%) -2025-09-15T14:20:37.411Z | [OTHER] | Attempt 485: Error rate 54.9% (target: 15%) -2025-09-15T14:20:37.412Z | [OTHER] | Attempt 486: Error rate 55.16% (target: 15%) -2025-09-15T14:20:37.414Z | [OTHER] | Attempt 487: Error rate 57.14% (target: 15%) -2025-09-15T14:20:37.416Z | [OTHER] | Attempt 488: Error rate 47.22% (target: 15%) -2025-09-15T14:20:37.417Z | [OTHER] | Attempt 489: Error rate 47.97% (target: 15%) -2025-09-15T14:20:37.419Z | [OTHER] | Attempt 490: Error rate 54.17% (target: 15%) -2025-09-15T14:20:37.422Z | [OTHER] | Attempt 491: Error rate 56.2% (target: 15%) -2025-09-15T14:20:37.424Z | [OTHER] | Attempt 492: Error rate 53.79% (target: 15%) -2025-09-15T14:20:37.425Z | [OTHER] | Attempt 493: Error rate 55.16% (target: 15%) -2025-09-15T14:20:37.427Z | [OTHER] | Attempt 494: Error rate 52.5% (target: 15%) -2025-09-15T14:20:37.428Z | [OTHER] | Attempt 495: Error rate 53.57% (target: 15%) -2025-09-15T14:20:37.430Z | [OTHER] | Attempt 496: Error rate 48.84% (target: 15%) -2025-09-15T14:20:37.432Z | [OTHER] | Attempt 497: Error rate 41.29% (target: 15%) -2025-09-15T14:20:37.433Z | [OTHER] | Attempt 498: Error rate 52.17% (target: 15%) -2025-09-15T14:20:37.435Z | [OTHER] | Attempt 499: Error rate 58.14% (target: 15%) -2025-09-15T14:20:37.437Z | [OTHER] | Attempt 500: Error rate 51.42% (target: 15%) -2025-09-15T14:20:37.438Z | [OTHER] | Attempt 501: Error rate 47.08% (target: 15%) -2025-09-15T14:20:37.440Z | [OTHER] | Attempt 502: Error rate 39.26% (target: 15%) -2025-09-15T14:20:37.441Z | [OTHER] | Attempt 503: Error rate 46.12% (target: 15%) -2025-09-15T14:20:37.444Z | [OTHER] | Attempt 504: Error rate 51.81% (target: 15%) -2025-09-15T14:20:37.447Z | [OTHER] | Attempt 505: Error rate 51.14% (target: 15%) -2025-09-15T14:20:37.448Z | [OTHER] | Attempt 506: Error rate 59.78% (target: 15%) -2025-09-15T14:20:37.450Z | [OTHER] | Attempt 507: Error rate 52.85% (target: 15%) -2025-09-15T14:20:37.452Z | [OTHER] | Attempt 508: Error rate 58.75% (target: 15%) -2025-09-15T14:20:37.453Z | [OTHER] | Attempt 509: Error rate 55.28% (target: 15%) -2025-09-15T14:20:37.455Z | [OTHER] | Attempt 510: Error rate 51.28% (target: 15%) -2025-09-15T14:20:37.456Z | [OTHER] | Attempt 511: Error rate 46.74% (target: 15%) -2025-09-15T14:20:37.458Z | [OTHER] | Attempt 512: Error rate 51.14% (target: 15%) -2025-09-15T14:20:37.459Z | [OTHER] | Attempt 513: Error rate 57.95% (target: 15%) -2025-09-15T14:20:37.461Z | [OTHER] | Attempt 514: Error rate 52.27% (target: 15%) -2025-09-15T14:20:37.463Z | [OTHER] | Attempt 515: Error rate 54.86% (target: 15%) -2025-09-15T14:20:37.464Z | [OTHER] | Attempt 516: Error rate 53.07% (target: 15%) -2025-09-15T14:20:37.466Z | [OTHER] | Attempt 517: Error rate 48.89% (target: 15%) -2025-09-15T14:20:37.467Z | [OTHER] | Attempt 518: Error rate 55.9% (target: 15%) -2025-09-15T14:20:37.469Z | [OTHER] | Attempt 519: Error rate 58.94% (target: 15%) -2025-09-15T14:20:37.471Z | [OTHER] | Attempt 520: Error rate 50.35% (target: 15%) -2025-09-15T14:20:37.472Z | [OTHER] | Attempt 521: Error rate 44.57% (target: 15%) -2025-09-15T14:20:37.474Z | [OTHER] | Attempt 522: Error rate 48.84% (target: 15%) -2025-09-15T14:20:37.476Z | [OTHER] | Attempt 523: Error rate 51.67% (target: 15%) -2025-09-15T14:20:37.479Z | [OTHER] | Attempt 524: Error rate 51.45% (target: 15%) -2025-09-15T14:20:37.480Z | [OTHER] | Attempt 525: Error rate 51.02% (target: 15%) -2025-09-15T14:20:37.482Z | [OTHER] | Attempt 526: Error rate 55.13% (target: 15%) -2025-09-15T14:20:37.484Z | [OTHER] | Attempt 527: Error rate 51.67% (target: 15%) -2025-09-15T14:20:37.485Z | [OTHER] | Attempt 528: Error rate 52.17% (target: 15%) -2025-09-15T14:20:37.486Z | [OTHER] | Attempt 529: Error rate 52.22% (target: 15%) -2025-09-15T14:20:37.488Z | [OTHER] | Attempt 530: Error rate 50% (target: 15%) -2025-09-15T14:20:37.490Z | [OTHER] | Attempt 531: Error rate 53.99% (target: 15%) -2025-09-15T14:20:37.491Z | [OTHER] | Attempt 532: Error rate 52.25% (target: 15%) -2025-09-15T14:20:37.493Z | [OTHER] | Attempt 533: Error rate 47.22% (target: 15%) -2025-09-15T14:20:37.494Z | [OTHER] | Attempt 534: Error rate 50% (target: 15%) -2025-09-15T14:20:37.496Z | [OTHER] | Attempt 535: Error rate 47.41% (target: 15%) -2025-09-15T14:20:37.497Z | [OTHER] | Attempt 536: Error rate 50% (target: 15%) -2025-09-15T14:20:37.499Z | [OTHER] | Attempt 537: Error rate 57.94% (target: 15%) -2025-09-15T14:20:37.501Z | [OTHER] | Attempt 538: Error rate 58.54% (target: 15%) -2025-09-15T14:20:37.502Z | [OTHER] | Attempt 539: Error rate 54.55% (target: 15%) -2025-09-15T14:20:37.504Z | [OTHER] | Attempt 540: Error rate 47.33% (target: 15%) -2025-09-15T14:20:37.506Z | [OTHER] | Attempt 541: Error rate 59.06% (target: 15%) -2025-09-15T14:20:37.508Z | [OTHER] | Attempt 542: Error rate 59.06% (target: 15%) -2025-09-15T14:20:37.509Z | [OTHER] | Attempt 543: Error rate 53.97% (target: 15%) -2025-09-15T14:20:37.511Z | [OTHER] | Attempt 544: Error rate 50% (target: 15%) -2025-09-15T14:20:37.513Z | [OTHER] | Attempt 545: Error rate 51.11% (target: 15%) -2025-09-15T14:20:37.515Z | [OTHER] | Attempt 546: Error rate 57.78% (target: 15%) -2025-09-15T14:20:37.516Z | [OTHER] | Attempt 547: Error rate 50.36% (target: 15%) -2025-09-15T14:20:37.517Z | [OTHER] | Attempt 548: Error rate 45.42% (target: 15%) -2025-09-15T14:20:37.519Z | [OTHER] | Attempt 549: Error rate 48.58% (target: 15%) -2025-09-15T14:20:37.520Z | [OTHER] | Attempt 550: Error rate 50% (target: 15%) -2025-09-15T14:20:37.522Z | [OTHER] | Attempt 551: Error rate 47.22% (target: 15%) -2025-09-15T14:20:37.523Z | [OTHER] | Attempt 552: Error rate 53.03% (target: 15%) -2025-09-15T14:20:37.525Z | [OTHER] | Attempt 553: Error rate 48.91% (target: 15%) -2025-09-15T14:20:37.527Z | [OTHER] | Attempt 554: Error rate 51.74% (target: 15%) -2025-09-15T14:20:37.528Z | [OTHER] | Attempt 555: Error rate 57.09% (target: 15%) -2025-09-15T14:20:37.530Z | [OTHER] | Attempt 556: Error rate 57.94% (target: 15%) -2025-09-15T14:20:37.531Z | [OTHER] | Attempt 557: Error rate 51.02% (target: 15%) -2025-09-15T14:20:37.532Z | [OTHER] | Attempt 558: Error rate 46.3% (target: 15%) -2025-09-15T14:20:37.534Z | [OTHER] | Attempt 559: Error rate 54.17% (target: 15%) -2025-09-15T14:20:37.535Z | [OTHER] | Attempt 560: Error rate 52.9% (target: 15%) -2025-09-15T14:20:37.537Z | [OTHER] | Attempt 561: Error rate 54.92% (target: 15%) -2025-09-15T14:20:37.539Z | [OTHER] | Attempt 562: Error rate 57.36% (target: 15%) -2025-09-15T14:20:37.540Z | [OTHER] | Attempt 563: Error rate 52.44% (target: 15%) -2025-09-15T14:20:37.542Z | [OTHER] | Attempt 564: Error rate 48.84% (target: 15%) -2025-09-15T14:20:37.544Z | [OTHER] | Attempt 565: Error rate 52.59% (target: 15%) -2025-09-15T14:20:37.545Z | [OTHER] | Attempt 566: Error rate 46.67% (target: 15%) -2025-09-15T14:20:37.547Z | [OTHER] | Attempt 567: Error rate 50% (target: 15%) -2025-09-15T14:20:37.548Z | [OTHER] | Attempt 568: Error rate 46.83% (target: 15%) -2025-09-15T14:20:37.550Z | [OTHER] | Attempt 569: Error rate 50.4% (target: 15%) -2025-09-15T14:20:37.551Z | [OTHER] | Attempt 570: Error rate 56.91% (target: 15%) -2025-09-15T14:20:37.553Z | [OTHER] | Attempt 571: Error rate 47.62% (target: 15%) -2025-09-15T14:20:37.554Z | [OTHER] | Attempt 572: Error rate 51.89% (target: 15%) -2025-09-15T14:20:37.556Z | [OTHER] | Attempt 573: Error rate 57.45% (target: 15%) -2025-09-15T14:20:37.557Z | [OTHER] | Attempt 574: Error rate 53.17% (target: 15%) -2025-09-15T14:20:37.559Z | [OTHER] | Attempt 575: Error rate 44.7% (target: 15%) -2025-09-15T14:20:37.560Z | [OTHER] | Attempt 576: Error rate 45.93% (target: 15%) -2025-09-15T14:20:37.562Z | [OTHER] | Attempt 577: Error rate 53.41% (target: 15%) -2025-09-15T14:20:37.563Z | [OTHER] | Attempt 578: Error rate 47.08% (target: 15%) -2025-09-15T14:20:37.565Z | [OTHER] | Attempt 579: Error rate 56.75% (target: 15%) -2025-09-15T14:20:37.567Z | [OTHER] | Attempt 580: Error rate 45.35% (target: 15%) -2025-09-15T14:20:37.568Z | [OTHER] | Attempt 581: Error rate 54.17% (target: 15%) -2025-09-15T14:20:37.570Z | [OTHER] | Attempt 582: Error rate 50.83% (target: 15%) -2025-09-15T14:20:37.572Z | [OTHER] | Attempt 583: Error rate 56.16% (target: 15%) -2025-09-15T14:20:37.573Z | [OTHER] | Attempt 584: Error rate 42.86% (target: 15%) -2025-09-15T14:20:37.575Z | [OTHER] | Attempt 585: Error rate 52.9% (target: 15%) -2025-09-15T14:20:37.577Z | [OTHER] | Attempt 586: Error rate 54.7% (target: 15%) -2025-09-15T14:20:37.579Z | [OTHER] | Attempt 587: Error rate 53.55% (target: 15%) -2025-09-15T14:20:37.580Z | [OTHER] | Attempt 588: Error rate 51.48% (target: 15%) -2025-09-15T14:20:37.582Z | [OTHER] | Attempt 589: Error rate 49.19% (target: 15%) -2025-09-15T14:20:37.584Z | [OTHER] | Attempt 590: Error rate 51.59% (target: 15%) -2025-09-15T14:20:37.586Z | [OTHER] | Attempt 591: Error rate 48.37% (target: 15%) -2025-09-15T14:20:37.587Z | [OTHER] | Attempt 592: Error rate 54% (target: 15%) -2025-09-15T14:20:37.589Z | [OTHER] | Attempt 593: Error rate 49.58% (target: 15%) -2025-09-15T14:20:37.590Z | [OTHER] | Attempt 594: Error rate 57.04% (target: 15%) -2025-09-15T14:20:37.592Z | [OTHER] | Attempt 595: Error rate 57.72% (target: 15%) -2025-09-15T14:20:37.593Z | [OTHER] | Attempt 596: Error rate 51.42% (target: 15%) -2025-09-15T14:20:37.595Z | [OTHER] | Attempt 597: Error rate 51.19% (target: 15%) -2025-09-15T14:20:37.596Z | [OTHER] | Attempt 598: Error rate 40.94% (target: 15%) -2025-09-15T14:20:37.598Z | [OTHER] | Attempt 599: Error rate 42.31% (target: 15%) -2025-09-15T14:20:37.599Z | [OTHER] | Attempt 600: Error rate 53.74% (target: 15%) -2025-09-15T14:20:37.601Z | [OTHER] | Attempt 601: Error rate 50.37% (target: 15%) -2025-09-15T14:20:37.602Z | [OTHER] | Attempt 602: Error rate 55.04% (target: 15%) -2025-09-15T14:20:37.604Z | [OTHER] | Attempt 603: Error rate 49.64% (target: 15%) -2025-09-15T14:20:37.605Z | [OTHER] | Attempt 604: Error rate 54.07% (target: 15%) -2025-09-15T14:20:37.606Z | [OTHER] | Attempt 605: Error rate 50.78% (target: 15%) -2025-09-15T14:20:37.609Z | [OTHER] | Attempt 606: Error rate 50% (target: 15%) -2025-09-15T14:20:37.611Z | [OTHER] | Attempt 607: Error rate 51.06% (target: 15%) -2025-09-15T14:20:37.612Z | [OTHER] | Attempt 608: Error rate 47.29% (target: 15%) -2025-09-15T14:20:37.613Z | [OTHER] | Attempt 609: Error rate 53.1% (target: 15%) -2025-09-15T14:20:37.615Z | [OTHER] | Attempt 610: Error rate 54.58% (target: 15%) -2025-09-15T14:20:37.617Z | [OTHER] | Attempt 611: Error rate 51.63% (target: 15%) -2025-09-15T14:20:37.618Z | [OTHER] | Attempt 612: Error rate 57.78% (target: 15%) -2025-09-15T14:20:37.620Z | [OTHER] | Attempt 613: Error rate 57.97% (target: 15%) -2025-09-15T14:20:37.621Z | [OTHER] | Attempt 614: Error rate 56.3% (target: 15%) -2025-09-15T14:20:37.623Z | [OTHER] | Attempt 615: Error rate 52.33% (target: 15%) -2025-09-15T14:20:37.624Z | [OTHER] | Attempt 616: Error rate 51.81% (target: 15%) -2025-09-15T14:20:37.626Z | [OTHER] | Attempt 617: Error rate 54.37% (target: 15%) -2025-09-15T14:20:37.627Z | [OTHER] | Attempt 618: Error rate 52.56% (target: 15%) -2025-09-15T14:20:37.629Z | [OTHER] | Attempt 619: Error rate 45.73% (target: 15%) -2025-09-15T14:20:37.630Z | [OTHER] | Attempt 620: Error rate 48.55% (target: 15%) -2025-09-15T14:20:37.632Z | [OTHER] | Attempt 621: Error rate 50.35% (target: 15%) -2025-09-15T14:20:37.633Z | [OTHER] | Attempt 622: Error rate 52.33% (target: 15%) -2025-09-15T14:20:37.635Z | [OTHER] | Attempt 623: Error rate 50.35% (target: 15%) -2025-09-15T14:20:37.636Z | [OTHER] | Attempt 624: Error rate 54.81% (target: 15%) -2025-09-15T14:20:37.638Z | [OTHER] | Attempt 625: Error rate 48.58% (target: 15%) -2025-09-15T14:20:37.640Z | [OTHER] | Attempt 626: Error rate 54.07% (target: 15%) -2025-09-15T14:20:37.642Z | [OTHER] | Attempt 627: Error rate 54.44% (target: 15%) -2025-09-15T14:20:37.643Z | [OTHER] | Attempt 628: Error rate 60.74% (target: 15%) -2025-09-15T14:20:37.645Z | [OTHER] | Attempt 629: Error rate 57.99% (target: 15%) -2025-09-15T14:20:37.646Z | [OTHER] | Attempt 630: Error rate 52.33% (target: 15%) -2025-09-15T14:20:37.648Z | [OTHER] | Attempt 631: Error rate 53.79% (target: 15%) -2025-09-15T14:20:37.649Z | [OTHER] | Attempt 632: Error rate 46.9% (target: 15%) -2025-09-15T14:20:37.651Z | [OTHER] | Attempt 633: Error rate 47.87% (target: 15%) -2025-09-15T14:20:37.652Z | [OTHER] | Attempt 634: Error rate 48.58% (target: 15%) -2025-09-15T14:20:37.654Z | [OTHER] | Attempt 635: Error rate 52.38% (target: 15%) -2025-09-15T14:20:37.655Z | [OTHER] | Attempt 636: Error rate 51.22% (target: 15%) -2025-09-15T14:20:37.657Z | [OTHER] | Attempt 637: Error rate 55.07% (target: 15%) -2025-09-15T14:20:37.658Z | [OTHER] | Attempt 638: Error rate 46.51% (target: 15%) -2025-09-15T14:20:37.660Z | [OTHER] | Attempt 639: Error rate 53.88% (target: 15%) -2025-09-15T14:20:37.661Z | [OTHER] | Attempt 640: Error rate 57.25% (target: 15%) -2025-09-15T14:20:37.663Z | [OTHER] | Attempt 641: Error rate 49.6% (target: 15%) -2025-09-15T14:20:37.664Z | [OTHER] | Attempt 642: Error rate 55.19% (target: 15%) -2025-09-15T14:20:37.666Z | [OTHER] | Attempt 643: Error rate 52.96% (target: 15%) -2025-09-15T14:20:37.668Z | [OTHER] | Attempt 644: Error rate 45.18% (target: 15%) -2025-09-15T14:20:37.669Z | [OTHER] | Attempt 645: Error rate 52.33% (target: 15%) -2025-09-15T14:20:37.672Z | [OTHER] | Attempt 646: Error rate 51.74% (target: 15%) -2025-09-15T14:20:37.673Z | [OTHER] | Attempt 647: Error rate 50% (target: 15%) -2025-09-15T14:20:37.675Z | [OTHER] | Attempt 648: Error rate 54.65% (target: 15%) -2025-09-15T14:20:37.677Z | [OTHER] | Attempt 649: Error rate 55.69% (target: 15%) -2025-09-15T14:20:37.678Z | [OTHER] | Attempt 650: Error rate 51.81% (target: 15%) -2025-09-15T14:20:37.680Z | [OTHER] | Attempt 651: Error rate 57.2% (target: 15%) -2025-09-15T14:20:37.681Z | [OTHER] | Attempt 652: Error rate 50.81% (target: 15%) -2025-09-15T14:20:37.683Z | [OTHER] | Attempt 653: Error rate 47.83% (target: 15%) -2025-09-15T14:20:37.684Z | [OTHER] | Attempt 654: Error rate 60.71% (target: 15%) -2025-09-15T14:20:37.685Z | [OTHER] | Attempt 655: Error rate 54.07% (target: 15%) -2025-09-15T14:20:37.687Z | [OTHER] | Attempt 656: Error rate 58.91% (target: 15%) -2025-09-15T14:20:37.689Z | [OTHER] | Attempt 657: Error rate 51.22% (target: 15%) -2025-09-15T14:20:37.690Z | [OTHER] | Attempt 658: Error rate 48.06% (target: 15%) -2025-09-15T14:20:37.691Z | [OTHER] | Attempt 659: Error rate 39.43% (target: 15%) -2025-09-15T14:20:37.693Z | [OTHER] | Attempt 660: Error rate 55.43% (target: 15%) -2025-09-15T14:20:37.695Z | [OTHER] | Attempt 661: Error rate 48.48% (target: 15%) -2025-09-15T14:20:37.696Z | [OTHER] | Attempt 662: Error rate 49.6% (target: 15%) -2025-09-15T14:20:37.697Z | [OTHER] | Attempt 663: Error rate 55.3% (target: 15%) -2025-09-15T14:20:37.699Z | [OTHER] | Attempt 664: Error rate 53.06% (target: 15%) -2025-09-15T14:20:37.701Z | [OTHER] | Attempt 665: Error rate 46.97% (target: 15%) -2025-09-15T14:20:37.702Z | [OTHER] | Attempt 666: Error rate 53.49% (target: 15%) -2025-09-15T14:20:37.705Z | [OTHER] | Attempt 667: Error rate 55.83% (target: 15%) -2025-09-15T14:20:37.706Z | [OTHER] | Attempt 668: Error rate 44.44% (target: 15%) -2025-09-15T14:20:37.708Z | [OTHER] | Attempt 669: Error rate 49.33% (target: 15%) -2025-09-15T14:20:37.709Z | [OTHER] | Attempt 670: Error rate 56.03% (target: 15%) -2025-09-15T14:20:37.711Z | [OTHER] | Attempt 671: Error rate 57.2% (target: 15%) -2025-09-15T14:20:37.713Z | [OTHER] | Attempt 672: Error rate 43.09% (target: 15%) -2025-09-15T14:20:37.714Z | [OTHER] | Attempt 673: Error rate 48.19% (target: 15%) -2025-09-15T14:20:37.715Z | [OTHER] | Attempt 674: Error rate 43.25% (target: 15%) -2025-09-15T14:20:37.717Z | [OTHER] | Attempt 675: Error rate 53.1% (target: 15%) -2025-09-15T14:20:37.719Z | [OTHER] | Attempt 676: Error rate 55.56% (target: 15%) -2025-09-15T14:20:37.720Z | [OTHER] | Attempt 677: Error rate 53.03% (target: 15%) -2025-09-15T14:20:37.722Z | [OTHER] | Attempt 678: Error rate 54.17% (target: 15%) -2025-09-15T14:20:37.723Z | [OTHER] | Attempt 679: Error rate 58.94% (target: 15%) -2025-09-15T14:20:37.725Z | [OTHER] | Attempt 680: Error rate 57.2% (target: 15%) -2025-09-15T14:20:37.726Z | [OTHER] | Attempt 681: Error rate 46.67% (target: 15%) -2025-09-15T14:20:37.728Z | [OTHER] | Attempt 682: Error rate 51.06% (target: 15%) -2025-09-15T14:20:37.729Z | [OTHER] | Attempt 683: Error rate 51.89% (target: 15%) -2025-09-15T14:20:37.731Z | [OTHER] | Attempt 684: Error rate 51.89% (target: 15%) -2025-09-15T14:20:37.732Z | [OTHER] | Attempt 685: Error rate 53.19% (target: 15%) -2025-09-15T14:20:37.734Z | [OTHER] | Attempt 686: Error rate 55.21% (target: 15%) -2025-09-15T14:20:37.737Z | [OTHER] | Attempt 687: Error rate 55.8% (target: 15%) -2025-09-15T14:20:37.738Z | [OTHER] | Attempt 688: Error rate 51.45% (target: 15%) -2025-09-15T14:20:37.740Z | [OTHER] | Attempt 689: Error rate 48.55% (target: 15%) -2025-09-15T14:20:37.741Z | [OTHER] | Attempt 690: Error rate 46.58% (target: 15%) -2025-09-15T14:20:37.743Z | [OTHER] | Attempt 691: Error rate 53.41% (target: 15%) -2025-09-15T14:20:37.744Z | [OTHER] | Attempt 692: Error rate 52.04% (target: 15%) -2025-09-15T14:20:37.746Z | [OTHER] | Attempt 693: Error rate 50% (target: 15%) -2025-09-15T14:20:37.747Z | [OTHER] | Attempt 694: Error rate 45.74% (target: 15%) -2025-09-15T14:20:37.749Z | [OTHER] | Attempt 695: Error rate 55.8% (target: 15%) -2025-09-15T14:20:37.751Z | [OTHER] | Attempt 696: Error rate 52.44% (target: 15%) -2025-09-15T14:20:37.752Z | [OTHER] | Attempt 697: Error rate 53.17% (target: 15%) -2025-09-15T14:20:37.754Z | [OTHER] | Attempt 698: Error rate 55.26% (target: 15%) -2025-09-15T14:20:37.755Z | [OTHER] | Attempt 699: Error rate 45.83% (target: 15%) -2025-09-15T14:20:37.757Z | [OTHER] | Attempt 700: Error rate 44.33% (target: 15%) -2025-09-15T14:20:37.758Z | [OTHER] | Attempt 701: Error rate 50.83% (target: 15%) -2025-09-15T14:20:37.760Z | [OTHER] | Attempt 702: Error rate 49.59% (target: 15%) -2025-09-15T14:20:37.761Z | [OTHER] | Attempt 703: Error rate 47.5% (target: 15%) -2025-09-15T14:20:37.763Z | [OTHER] | Attempt 704: Error rate 51.11% (target: 15%) -2025-09-15T14:20:37.764Z | [OTHER] | Attempt 705: Error rate 53.57% (target: 15%) -2025-09-15T14:20:37.766Z | [OTHER] | Attempt 706: Error rate 53.47% (target: 15%) -2025-09-15T14:20:37.769Z | [OTHER] | Attempt 707: Error rate 52.71% (target: 15%) -2025-09-15T14:20:37.770Z | [OTHER] | Attempt 708: Error rate 63.68% (target: 15%) -2025-09-15T14:20:37.772Z | [OTHER] | Attempt 709: Error rate 51.74% (target: 15%) -2025-09-15T14:20:37.773Z | [OTHER] | Attempt 710: Error rate 54.61% (target: 15%) -2025-09-15T14:20:37.775Z | [OTHER] | Attempt 711: Error rate 47.08% (target: 15%) -2025-09-15T14:20:37.776Z | [OTHER] | Attempt 712: Error rate 61.25% (target: 15%) -2025-09-15T14:20:37.778Z | [OTHER] | Attempt 713: Error rate 48.45% (target: 15%) -2025-09-15T14:20:37.780Z | [OTHER] | Attempt 714: Error rate 55.19% (target: 15%) -2025-09-15T14:20:37.781Z | [OTHER] | Attempt 715: Error rate 48.15% (target: 15%) -2025-09-15T14:20:37.783Z | [OTHER] | Attempt 716: Error rate 46.9% (target: 15%) -2025-09-15T14:20:37.784Z | [OTHER] | Attempt 717: Error rate 50.71% (target: 15%) -2025-09-15T14:20:37.786Z | [OTHER] | Attempt 718: Error rate 58.16% (target: 15%) -2025-09-15T14:20:37.787Z | [OTHER] | Attempt 719: Error rate 58.13% (target: 15%) -2025-09-15T14:20:37.789Z | [OTHER] | Attempt 720: Error rate 43.97% (target: 15%) -2025-09-15T14:20:37.790Z | [OTHER] | Attempt 721: Error rate 51.52% (target: 15%) -2025-09-15T14:20:37.792Z | [OTHER] | Attempt 722: Error rate 59.3% (target: 15%) -2025-09-15T14:20:37.793Z | [OTHER] | Attempt 723: Error rate 52.92% (target: 15%) -2025-09-15T14:20:37.795Z | [OTHER] | Attempt 724: Error rate 51.55% (target: 15%) -2025-09-15T14:20:37.797Z | [OTHER] | Attempt 725: Error rate 51.14% (target: 15%) -2025-09-15T14:20:37.798Z | [OTHER] | Attempt 726: Error rate 54.47% (target: 15%) -2025-09-15T14:20:37.800Z | [OTHER] | Attempt 727: Error rate 57.95% (target: 15%) -2025-09-15T14:20:37.802Z | [OTHER] | Attempt 728: Error rate 50.36% (target: 15%) -2025-09-15T14:20:37.804Z | [OTHER] | Attempt 729: Error rate 42.36% (target: 15%) -2025-09-15T14:20:37.805Z | [OTHER] | Attempt 730: Error rate 54.51% (target: 15%) -2025-09-15T14:20:37.807Z | [OTHER] | Attempt 731: Error rate 57.2% (target: 15%) -2025-09-15T14:20:37.809Z | [OTHER] | Attempt 732: Error rate 51.48% (target: 15%) -2025-09-15T14:20:37.810Z | [OTHER] | Attempt 733: Error rate 52.48% (target: 15%) -2025-09-15T14:20:37.812Z | [OTHER] | Attempt 734: Error rate 48.26% (target: 15%) -2025-09-15T14:20:37.813Z | [OTHER] | Attempt 735: Error rate 52.22% (target: 15%) -2025-09-15T14:20:37.815Z | [OTHER] | Attempt 736: Error rate 46.21% (target: 15%) -2025-09-15T14:20:37.817Z | [OTHER] | Attempt 737: Error rate 51.77% (target: 15%) -2025-09-15T14:20:37.818Z | [OTHER] | Attempt 738: Error rate 45.35% (target: 15%) -2025-09-15T14:20:37.820Z | [OTHER] | Attempt 739: Error rate 47.87% (target: 15%) -2025-09-15T14:20:37.821Z | [OTHER] | Attempt 740: Error rate 51.55% (target: 15%) -2025-09-15T14:20:37.823Z | [OTHER] | Attempt 741: Error rate 48.06% (target: 15%) -2025-09-15T14:20:37.824Z | [OTHER] | Attempt 742: Error rate 54.39% (target: 15%) -2025-09-15T14:20:37.826Z | [OTHER] | Attempt 743: Error rate 62.12% (target: 15%) -2025-09-15T14:20:37.827Z | [OTHER] | Attempt 744: Error rate 48.94% (target: 15%) -2025-09-15T14:20:37.829Z | [OTHER] | Attempt 745: Error rate 54.96% (target: 15%) -2025-09-15T14:20:37.830Z | [OTHER] | Attempt 746: Error rate 49.63% (target: 15%) -2025-09-15T14:20:37.832Z | [OTHER] | Attempt 747: Error rate 48.84% (target: 15%) -2025-09-15T14:20:37.835Z | [OTHER] | Attempt 748: Error rate 48.78% (target: 15%) -2025-09-15T14:20:37.836Z | [OTHER] | Attempt 749: Error rate 49.59% (target: 15%) -2025-09-15T14:20:37.837Z | [OTHER] | Attempt 750: Error rate 43.65% (target: 15%) -2025-09-15T14:20:37.839Z | [OTHER] | Attempt 751: Error rate 53.26% (target: 15%) -2025-09-15T14:20:37.841Z | [OTHER] | Attempt 752: Error rate 58.16% (target: 15%) -2025-09-15T14:20:37.842Z | [OTHER] | Attempt 753: Error rate 51.19% (target: 15%) -2025-09-15T14:20:37.844Z | [OTHER] | Attempt 754: Error rate 50.39% (target: 15%) -2025-09-15T14:20:37.846Z | [OTHER] | Attempt 755: Error rate 48.11% (target: 15%) -2025-09-15T14:20:37.847Z | [OTHER] | Attempt 756: Error rate 45.04% (target: 15%) -2025-09-15T14:20:37.849Z | [OTHER] | Attempt 757: Error rate 49.15% (target: 15%) -2025-09-15T14:20:37.851Z | [OTHER] | Attempt 758: Error rate 52.59% (target: 15%) -2025-09-15T14:20:37.852Z | [OTHER] | Attempt 759: Error rate 56.6% (target: 15%) -2025-09-15T14:20:37.854Z | [OTHER] | Attempt 760: Error rate 45.53% (target: 15%) -2025-09-15T14:20:37.855Z | [OTHER] | Attempt 761: Error rate 54.26% (target: 15%) -2025-09-15T14:20:37.857Z | [OTHER] | Attempt 762: Error rate 56.82% (target: 15%) -2025-09-15T14:20:37.858Z | [OTHER] | Attempt 763: Error rate 50.78% (target: 15%) -2025-09-15T14:20:37.860Z | [OTHER] | Attempt 764: Error rate 53.9% (target: 15%) -2025-09-15T14:20:37.861Z | [OTHER] | Attempt 765: Error rate 51.59% (target: 15%) -2025-09-15T14:20:37.863Z | [OTHER] | Attempt 766: Error rate 53.03% (target: 15%) -2025-09-15T14:20:37.865Z | [OTHER] | Attempt 767: Error rate 49.6% (target: 15%) -2025-09-15T14:20:37.867Z | [OTHER] | Attempt 768: Error rate 53.42% (target: 15%) -2025-09-15T14:20:37.869Z | [OTHER] | Attempt 769: Error rate 56.84% (target: 15%) -2025-09-15T14:20:37.870Z | [OTHER] | Attempt 770: Error rate 52.48% (target: 15%) -2025-09-15T14:20:37.872Z | [OTHER] | Attempt 771: Error rate 56.46% (target: 15%) -2025-09-15T14:20:37.874Z | [OTHER] | Attempt 772: Error rate 51.04% (target: 15%) -2025-09-15T14:20:37.876Z | [OTHER] | Attempt 773: Error rate 46.34% (target: 15%) -2025-09-15T14:20:37.877Z | [OTHER] | Attempt 774: Error rate 54.37% (target: 15%) -2025-09-15T14:20:37.879Z | [OTHER] | Attempt 775: Error rate 49.59% (target: 15%) -2025-09-15T14:20:37.880Z | [OTHER] | Attempt 776: Error rate 53.99% (target: 15%) -2025-09-15T14:20:37.882Z | [OTHER] | Attempt 777: Error rate 57.29% (target: 15%) -2025-09-15T14:20:37.883Z | [OTHER] | Attempt 778: Error rate 59.33% (target: 15%) -2025-09-15T14:20:37.885Z | [OTHER] | Attempt 779: Error rate 43.02% (target: 15%) -2025-09-15T14:20:37.887Z | [OTHER] | Attempt 780: Error rate 50.79% (target: 15%) -2025-09-15T14:20:37.888Z | [OTHER] | Attempt 781: Error rate 47.41% (target: 15%) -2025-09-15T14:20:37.890Z | [OTHER] | Attempt 782: Error rate 58.53% (target: 15%) -2025-09-15T14:20:37.891Z | [OTHER] | Attempt 783: Error rate 49.22% (target: 15%) -2025-09-15T14:20:37.893Z | [OTHER] | Attempt 784: Error rate 55.3% (target: 15%) -2025-09-15T14:20:37.895Z | [OTHER] | Attempt 785: Error rate 44.44% (target: 15%) -2025-09-15T14:20:37.896Z | [OTHER] | Attempt 786: Error rate 55.07% (target: 15%) -2025-09-15T14:20:37.898Z | [OTHER] | Attempt 787: Error rate 60.71% (target: 15%) -2025-09-15T14:20:37.900Z | [OTHER] | Attempt 788: Error rate 49.6% (target: 15%) -2025-09-15T14:20:37.902Z | [OTHER] | Attempt 789: Error rate 54.92% (target: 15%) -2025-09-15T14:20:37.904Z | [OTHER] | Attempt 790: Error rate 50.74% (target: 15%) -2025-09-15T14:20:37.905Z | [OTHER] | Attempt 791: Error rate 43.41% (target: 15%) -2025-09-15T14:20:37.907Z | [OTHER] | Attempt 792: Error rate 48.48% (target: 15%) -2025-09-15T14:20:37.909Z | [OTHER] | Attempt 793: Error rate 46.97% (target: 15%) -2025-09-15T14:20:37.910Z | [OTHER] | Attempt 794: Error rate 56.67% (target: 15%) -2025-09-15T14:20:37.912Z | [OTHER] | Attempt 795: Error rate 53.41% (target: 15%) -2025-09-15T14:20:37.914Z | [OTHER] | Attempt 796: Error rate 55.43% (target: 15%) -2025-09-15T14:20:37.915Z | [OTHER] | Attempt 797: Error rate 44.57% (target: 15%) -2025-09-15T14:20:37.917Z | [OTHER] | Attempt 798: Error rate 53.26% (target: 15%) -2025-09-15T14:20:37.919Z | [OTHER] | Attempt 799: Error rate 54.92% (target: 15%) -2025-09-15T14:20:37.921Z | [OTHER] | Attempt 800: Error rate 48.15% (target: 15%) -2025-09-15T14:20:37.922Z | [OTHER] | Attempt 801: Error rate 59.93% (target: 15%) -2025-09-15T14:20:37.924Z | [OTHER] | Attempt 802: Error rate 50% (target: 15%) -2025-09-15T14:20:37.925Z | [OTHER] | Attempt 803: Error rate 42.96% (target: 15%) -2025-09-15T14:20:37.927Z | [OTHER] | Attempt 804: Error rate 51.19% (target: 15%) -2025-09-15T14:20:37.928Z | [OTHER] | Attempt 805: Error rate 43.18% (target: 15%) -2025-09-15T14:20:37.930Z | [OTHER] | Attempt 806: Error rate 51.52% (target: 15%) -2025-09-15T14:20:37.932Z | [OTHER] | Attempt 807: Error rate 60.14% (target: 15%) -2025-09-15T14:20:37.934Z | [OTHER] | Attempt 808: Error rate 38.74% (target: 15%) -2025-09-15T14:20:37.936Z | [OTHER] | Attempt 809: Error rate 57.54% (target: 15%) -2025-09-15T14:20:37.938Z | [OTHER] | Attempt 810: Error rate 57.04% (target: 15%) -2025-09-15T14:20:37.944Z | [OTHER] | Attempt 811: Error rate 53.66% (target: 15%) -2025-09-15T14:20:37.946Z | [OTHER] | Attempt 812: Error rate 44.87% (target: 15%) -2025-09-15T14:20:37.950Z | [OTHER] | Attempt 813: Error rate 63.6% (target: 15%) -2025-09-15T14:20:37.952Z | [OTHER] | Attempt 814: Error rate 51.14% (target: 15%) -2025-09-15T14:20:37.955Z | [OTHER] | Attempt 815: Error rate 53.82% (target: 15%) -2025-09-15T14:20:37.957Z | [OTHER] | Attempt 816: Error rate 54.35% (target: 15%) -2025-09-15T14:20:37.960Z | [OTHER] | Attempt 817: Error rate 51.48% (target: 15%) -2025-09-15T14:20:37.962Z | [OTHER] | Attempt 818: Error rate 54.61% (target: 15%) -2025-09-15T14:20:37.971Z | [OTHER] | Attempt 819: Error rate 51.89% (target: 15%) -2025-09-15T14:20:37.977Z | [OTHER] | Attempt 820: Error rate 60.32% (target: 15%) -2025-09-15T14:20:37.981Z | [OTHER] | Attempt 821: Error rate 50.72% (target: 15%) -2025-09-15T14:20:37.989Z | [OTHER] | Attempt 822: Error rate 50.33% (target: 15%) -2025-09-15T14:20:37.993Z | [OTHER] | Attempt 823: Error rate 48.45% (target: 15%) -2025-09-15T14:20:37.997Z | [OTHER] | Attempt 824: Error rate 49.65% (target: 15%) -2025-09-15T14:20:38.001Z | [OTHER] | Attempt 825: Error rate 47.57% (target: 15%) -2025-09-15T14:20:38.006Z | [OTHER] | Attempt 826: Error rate 52.19% (target: 15%) -2025-09-15T14:20:38.011Z | [OTHER] | Attempt 827: Error rate 52.59% (target: 15%) -2025-09-15T14:20:38.013Z | [OTHER] | Attempt 828: Error rate 55.1% (target: 15%) -2025-09-15T14:20:38.018Z | [OTHER] | Attempt 829: Error rate 65.22% (target: 15%) -2025-09-15T14:20:38.020Z | [OTHER] | Attempt 830: Error rate 43.41% (target: 15%) -2025-09-15T14:20:38.022Z | [OTHER] | Attempt 831: Error rate 54.07% (target: 15%) -2025-09-15T14:20:38.024Z | [OTHER] | Attempt 832: Error rate 55.3% (target: 15%) -2025-09-15T14:20:38.025Z | [OTHER] | Attempt 833: Error rate 46.18% (target: 15%) -2025-09-15T14:20:38.027Z | [OTHER] | Attempt 834: Error rate 54.55% (target: 15%) -2025-09-15T14:20:38.029Z | [OTHER] | Attempt 835: Error rate 59.03% (target: 15%) -2025-09-15T14:20:38.031Z | [OTHER] | Attempt 836: Error rate 51.11% (target: 15%) -2025-09-15T14:20:38.033Z | [OTHER] | Attempt 837: Error rate 45.83% (target: 15%) -2025-09-15T14:20:38.036Z | [OTHER] | Attempt 838: Error rate 44.93% (target: 15%) -2025-09-15T14:20:38.039Z | [OTHER] | Attempt 839: Error rate 52.59% (target: 15%) -2025-09-15T14:20:38.042Z | [OTHER] | Attempt 840: Error rate 51.14% (target: 15%) -2025-09-15T14:20:38.044Z | [OTHER] | Attempt 841: Error rate 51.36% (target: 15%) -2025-09-15T14:20:38.046Z | [OTHER] | Attempt 842: Error rate 44.31% (target: 15%) -2025-09-15T14:20:38.048Z | [OTHER] | Attempt 843: Error rate 50.39% (target: 15%) -2025-09-15T14:20:38.049Z | [OTHER] | Attempt 844: Error rate 44.57% (target: 15%) -2025-09-15T14:20:38.051Z | [OTHER] | Attempt 845: Error rate 52.92% (target: 15%) -2025-09-15T14:20:38.053Z | [OTHER] | Attempt 846: Error rate 55.43% (target: 15%) -2025-09-15T14:20:38.055Z | [OTHER] | Attempt 847: Error rate 54.17% (target: 15%) -2025-09-15T14:20:38.056Z | [OTHER] | Attempt 848: Error rate 44.32% (target: 15%) -2025-09-15T14:20:38.059Z | [OTHER] | Attempt 849: Error rate 51.81% (target: 15%) -2025-09-15T14:20:38.060Z | [OTHER] | Attempt 850: Error rate 52.48% (target: 15%) -2025-09-15T14:20:38.062Z | [OTHER] | Attempt 851: Error rate 52.22% (target: 15%) -2025-09-15T14:20:38.064Z | [OTHER] | Attempt 852: Error rate 47.52% (target: 15%) -2025-09-15T14:20:38.066Z | [OTHER] | Attempt 853: Error rate 56.2% (target: 15%) -2025-09-15T14:20:38.067Z | [OTHER] | Attempt 854: Error rate 52.22% (target: 15%) -2025-09-15T14:20:38.069Z | [OTHER] | Attempt 855: Error rate 43.02% (target: 15%) -2025-09-15T14:20:38.071Z | [OTHER] | Attempt 856: Error rate 43.7% (target: 15%) -2025-09-15T14:20:38.073Z | [OTHER] | Attempt 857: Error rate 51.11% (target: 15%) -2025-09-15T14:20:38.075Z | [OTHER] | Attempt 858: Error rate 40.24% (target: 15%) -2025-09-15T14:20:38.077Z | [OTHER] | Attempt 859: Error rate 59.93% (target: 15%) -2025-09-15T14:20:38.078Z | [OTHER] | Attempt 860: Error rate 54.33% (target: 15%) -2025-09-15T14:20:38.080Z | [OTHER] | Attempt 861: Error rate 53.7% (target: 15%) -2025-09-15T14:20:38.081Z | [OTHER] | Attempt 862: Error rate 53.66% (target: 15%) -2025-09-15T14:20:38.083Z | [OTHER] | Attempt 863: Error rate 52.71% (target: 15%) -2025-09-15T14:20:38.085Z | [OTHER] | Attempt 864: Error rate 45.29% (target: 15%) -2025-09-15T14:20:38.086Z | [OTHER] | Attempt 865: Error rate 53.06% (target: 15%) -2025-09-15T14:20:38.088Z | [OTHER] | Attempt 866: Error rate 57.54% (target: 15%) -2025-09-15T14:20:38.090Z | [OTHER] | Attempt 867: Error rate 54.47% (target: 15%) -2025-09-15T14:20:38.091Z | [OTHER] | Attempt 868: Error rate 48.11% (target: 15%) -2025-09-15T14:20:38.094Z | [OTHER] | Attempt 869: Error rate 53.17% (target: 15%) -2025-09-15T14:20:38.096Z | [OTHER] | Attempt 870: Error rate 58.53% (target: 15%) -2025-09-15T14:20:38.097Z | [OTHER] | Attempt 871: Error rate 53.7% (target: 15%) -2025-09-15T14:20:38.099Z | [OTHER] | Attempt 872: Error rate 58.73% (target: 15%) -2025-09-15T14:20:38.101Z | [OTHER] | Attempt 873: Error rate 57.94% (target: 15%) -2025-09-15T14:20:38.102Z | [OTHER] | Attempt 874: Error rate 43.33% (target: 15%) -2025-09-15T14:20:38.104Z | [OTHER] | Attempt 875: Error rate 46.6% (target: 15%) -2025-09-15T14:20:38.106Z | [OTHER] | Attempt 876: Error rate 48.89% (target: 15%) -2025-09-15T14:20:38.107Z | [OTHER] | Attempt 877: Error rate 59.52% (target: 15%) -2025-09-15T14:20:38.109Z | [OTHER] | Attempt 878: Error rate 56.75% (target: 15%) -2025-09-15T14:20:38.110Z | [OTHER] | Attempt 879: Error rate 42.18% (target: 15%) -2025-09-15T14:20:38.112Z | [OTHER] | Attempt 880: Error rate 51.59% (target: 15%) -2025-09-15T14:20:38.114Z | [OTHER] | Attempt 881: Error rate 52.92% (target: 15%) -2025-09-15T14:20:38.115Z | [OTHER] | Attempt 882: Error rate 47.46% (target: 15%) -2025-09-15T14:20:38.117Z | [OTHER] | Attempt 883: Error rate 49.24% (target: 15%) -2025-09-15T14:20:38.119Z | [OTHER] | Attempt 884: Error rate 49.31% (target: 15%) -2025-09-15T14:20:38.120Z | [OTHER] | Attempt 885: Error rate 52.27% (target: 15%) -2025-09-15T14:20:38.122Z | [OTHER] | Attempt 886: Error rate 54.51% (target: 15%) -2025-09-15T14:20:38.123Z | [OTHER] | Attempt 887: Error rate 60.23% (target: 15%) -2025-09-15T14:20:38.125Z | [OTHER] | Attempt 888: Error rate 46.43% (target: 15%) -2025-09-15T14:20:38.127Z | [OTHER] | Attempt 889: Error rate 58.33% (target: 15%) -2025-09-15T14:20:38.129Z | [OTHER] | Attempt 890: Error rate 54.26% (target: 15%) -2025-09-15T14:20:38.131Z | [OTHER] | Attempt 891: Error rate 43.09% (target: 15%) -2025-09-15T14:20:38.132Z | [OTHER] | Attempt 892: Error rate 58.15% (target: 15%) -2025-09-15T14:20:38.134Z | [OTHER] | Attempt 893: Error rate 49.64% (target: 15%) -2025-09-15T14:20:38.135Z | [OTHER] | Attempt 894: Error rate 59.26% (target: 15%) -2025-09-15T14:20:38.137Z | [OTHER] | Attempt 895: Error rate 62.02% (target: 15%) -2025-09-15T14:20:38.139Z | [OTHER] | Attempt 896: Error rate 50.72% (target: 15%) -2025-09-15T14:20:38.140Z | [OTHER] | Attempt 897: Error rate 59.3% (target: 15%) -2025-09-15T14:20:38.142Z | [OTHER] | Attempt 898: Error rate 54.37% (target: 15%) -2025-09-15T14:20:38.144Z | [OTHER] | Attempt 899: Error rate 58.71% (target: 15%) -2025-09-15T14:20:38.146Z | [OTHER] | Attempt 900: Error rate 48.81% (target: 15%) -2025-09-15T14:20:38.147Z | [OTHER] | Attempt 901: Error rate 60.74% (target: 15%) -2025-09-15T14:20:38.149Z | [OTHER] | Attempt 902: Error rate 50.83% (target: 15%) -2025-09-15T14:20:38.151Z | [OTHER] | Attempt 903: Error rate 48.15% (target: 15%) -2025-09-15T14:20:38.153Z | [OTHER] | Attempt 904: Error rate 50.74% (target: 15%) -2025-09-15T14:20:38.155Z | [OTHER] | Attempt 905: Error rate 56.67% (target: 15%) -2025-09-15T14:20:38.156Z | [OTHER] | Attempt 906: Error rate 48.91% (target: 15%) -2025-09-15T14:20:38.158Z | [OTHER] | Attempt 907: Error rate 52.78% (target: 15%) -2025-09-15T14:20:38.160Z | [OTHER] | Attempt 908: Error rate 62.3% (target: 15%) -2025-09-15T14:20:38.163Z | [OTHER] | Attempt 909: Error rate 60.74% (target: 15%) -2025-09-15T14:20:38.164Z | [OTHER] | Attempt 910: Error rate 50% (target: 15%) -2025-09-15T14:20:38.166Z | [OTHER] | Attempt 911: Error rate 56.35% (target: 15%) -2025-09-15T14:20:38.168Z | [OTHER] | Attempt 912: Error rate 56.1% (target: 15%) -2025-09-15T14:20:38.170Z | [OTHER] | Attempt 913: Error rate 52.27% (target: 15%) -2025-09-15T14:20:38.171Z | [OTHER] | Attempt 914: Error rate 46.33% (target: 15%) -2025-09-15T14:20:38.173Z | [OTHER] | Attempt 915: Error rate 50% (target: 15%) -2025-09-15T14:20:38.175Z | [OTHER] | Attempt 916: Error rate 55.68% (target: 15%) -2025-09-15T14:20:38.177Z | [OTHER] | Attempt 917: Error rate 56.3% (target: 15%) -2025-09-15T14:20:38.179Z | [OTHER] | Attempt 918: Error rate 44.1% (target: 15%) -2025-09-15T14:20:38.180Z | [OTHER] | Attempt 919: Error rate 46.15% (target: 15%) -2025-09-15T14:20:38.182Z | [OTHER] | Attempt 920: Error rate 61.9% (target: 15%) -2025-09-15T14:20:38.184Z | [OTHER] | Attempt 921: Error rate 54.26% (target: 15%) -2025-09-15T14:20:38.186Z | [OTHER] | Attempt 922: Error rate 49.22% (target: 15%) -2025-09-15T14:20:38.187Z | [OTHER] | Attempt 923: Error rate 52.48% (target: 15%) -2025-09-15T14:20:38.189Z | [OTHER] | Attempt 924: Error rate 52.5% (target: 15%) -2025-09-15T14:20:38.191Z | [OTHER] | Attempt 925: Error rate 55.67% (target: 15%) -2025-09-15T14:20:38.192Z | [OTHER] | Attempt 926: Error rate 55.16% (target: 15%) -2025-09-15T14:20:38.194Z | [OTHER] | Attempt 927: Error rate 58.73% (target: 15%) -2025-09-15T14:20:38.195Z | [OTHER] | Attempt 928: Error rate 51.06% (target: 15%) -2025-09-15T14:20:38.197Z | [OTHER] | Attempt 929: Error rate 55.98% (target: 15%) -2025-09-15T14:20:38.199Z | [OTHER] | Attempt 930: Error rate 48.06% (target: 15%) -2025-09-15T14:20:38.200Z | [OTHER] | Attempt 931: Error rate 54.96% (target: 15%) -2025-09-15T14:20:38.202Z | [OTHER] | Attempt 932: Error rate 53.17% (target: 15%) -2025-09-15T14:20:38.204Z | [OTHER] | Attempt 933: Error rate 49.22% (target: 15%) -2025-09-15T14:20:38.205Z | [OTHER] | Attempt 934: Error rate 63.12% (target: 15%) -2025-09-15T14:20:38.207Z | [OTHER] | Attempt 935: Error rate 54.81% (target: 15%) -2025-09-15T14:20:38.209Z | [OTHER] | Attempt 936: Error rate 49.19% (target: 15%) -2025-09-15T14:20:38.211Z | [OTHER] | Attempt 937: Error rate 59.92% (target: 15%) -2025-09-15T14:20:38.212Z | [OTHER] | Attempt 938: Error rate 55.04% (target: 15%) -2025-09-15T14:20:38.214Z | [OTHER] | Attempt 939: Error rate 51.52% (target: 15%) -2025-09-15T14:20:38.216Z | [OTHER] | Attempt 940: Error rate 51.19% (target: 15%) -2025-09-15T14:20:38.217Z | [OTHER] | Attempt 941: Error rate 47.41% (target: 15%) -2025-09-15T14:20:38.219Z | [OTHER] | Attempt 942: Error rate 44.96% (target: 15%) -2025-09-15T14:20:38.221Z | [OTHER] | Attempt 943: Error rate 46.1% (target: 15%) -2025-09-15T14:20:38.222Z | [OTHER] | Attempt 944: Error rate 47.83% (target: 15%) -2025-09-15T14:20:38.224Z | [OTHER] | Attempt 945: Error rate 54.37% (target: 15%) -2025-09-15T14:20:38.226Z | [OTHER] | Attempt 946: Error rate 54.07% (target: 15%) -2025-09-15T14:20:38.228Z | [OTHER] | Attempt 947: Error rate 51.16% (target: 15%) -2025-09-15T14:20:38.230Z | [OTHER] | Attempt 948: Error rate 54.35% (target: 15%) -2025-09-15T14:20:38.231Z | [OTHER] | Attempt 949: Error rate 52.33% (target: 15%) -2025-09-15T14:20:38.234Z | [OTHER] | Attempt 950: Error rate 49.26% (target: 15%) -2025-09-15T14:20:38.236Z | [OTHER] | Attempt 951: Error rate 53.26% (target: 15%) -2025-09-15T14:20:38.237Z | [OTHER] | Attempt 952: Error rate 46.85% (target: 15%) -2025-09-15T14:20:38.240Z | [OTHER] | Attempt 953: Error rate 43.84% (target: 15%) -2025-09-15T14:20:38.242Z | [OTHER] | Attempt 954: Error rate 47.87% (target: 15%) -2025-09-15T14:20:38.243Z | [OTHER] | Attempt 955: Error rate 43.84% (target: 15%) -2025-09-15T14:20:38.245Z | [OTHER] | Attempt 956: Error rate 55.81% (target: 15%) -2025-09-15T14:20:38.247Z | [OTHER] | Attempt 957: Error rate 49.65% (target: 15%) -2025-09-15T14:20:38.249Z | [OTHER] | Attempt 958: Error rate 47.29% (target: 15%) -2025-09-15T14:20:38.250Z | [OTHER] | Attempt 959: Error rate 54.7% (target: 15%) -2025-09-15T14:20:38.252Z | [OTHER] | Attempt 960: Error rate 47.15% (target: 15%) -2025-09-15T14:20:38.254Z | [OTHER] | Attempt 961: Error rate 49.28% (target: 15%) -2025-09-15T14:20:38.255Z | [OTHER] | Attempt 962: Error rate 51.19% (target: 15%) -2025-09-15T14:20:38.257Z | [OTHER] | Attempt 963: Error rate 52.65% (target: 15%) -2025-09-15T14:20:38.259Z | [OTHER] | Attempt 964: Error rate 54.51% (target: 15%) -2025-09-15T14:20:38.260Z | [OTHER] | Attempt 965: Error rate 56.91% (target: 15%) -2025-09-15T14:20:38.262Z | [OTHER] | Attempt 966: Error rate 50.34% (target: 15%) -2025-09-15T14:20:38.264Z | [OTHER] | Attempt 967: Error rate 58.7% (target: 15%) -2025-09-15T14:20:38.266Z | [OTHER] | Attempt 968: Error rate 59.63% (target: 15%) -2025-09-15T14:20:38.267Z | [OTHER] | Attempt 969: Error rate 52.08% (target: 15%) -2025-09-15T14:20:38.269Z | [OTHER] | Attempt 970: Error rate 57.41% (target: 15%) -2025-09-15T14:20:38.271Z | [OTHER] | Attempt 971: Error rate 50.43% (target: 15%) -2025-09-15T14:20:38.273Z | [OTHER] | Attempt 972: Error rate 48.81% (target: 15%) -2025-09-15T14:20:38.274Z | [OTHER] | Attempt 973: Error rate 52.08% (target: 15%) -2025-09-15T14:20:38.276Z | [OTHER] | Attempt 974: Error rate 56.75% (target: 15%) -2025-09-15T14:20:38.278Z | [OTHER] | Attempt 975: Error rate 52.84% (target: 15%) -2025-09-15T14:20:38.279Z | [OTHER] | Attempt 976: Error rate 56.35% (target: 15%) -2025-09-15T14:20:38.281Z | [OTHER] | Attempt 977: Error rate 48.15% (target: 15%) -2025-09-15T14:20:38.283Z | [OTHER] | Attempt 978: Error rate 52.59% (target: 15%) -2025-09-15T14:20:38.285Z | [OTHER] | Attempt 979: Error rate 57.61% (target: 15%) -2025-09-15T14:20:38.286Z | [OTHER] | Attempt 980: Error rate 57.54% (target: 15%) -2025-09-15T14:20:38.288Z | [OTHER] | Attempt 981: Error rate 49.66% (target: 15%) -2025-09-15T14:20:38.290Z | [OTHER] | Attempt 982: Error rate 54.37% (target: 15%) -2025-09-15T14:20:38.292Z | [OTHER] | Attempt 983: Error rate 47.22% (target: 15%) -2025-09-15T14:20:38.294Z | [OTHER] | Attempt 984: Error rate 45.65% (target: 15%) -2025-09-15T14:20:38.295Z | [OTHER] | Attempt 985: Error rate 56.1% (target: 15%) -2025-09-15T14:20:38.297Z | [OTHER] | Attempt 986: Error rate 53.03% (target: 15%) -2025-09-15T14:20:38.299Z | [OTHER] | Attempt 987: Error rate 44.93% (target: 15%) -2025-09-15T14:20:38.301Z | [OTHER] | Attempt 988: Error rate 48.52% (target: 15%) -2025-09-15T14:20:38.303Z | [OTHER] | Attempt 989: Error rate 55.43% (target: 15%) -2025-09-15T14:20:38.305Z | [OTHER] | Attempt 990: Error rate 54.26% (target: 15%) -2025-09-15T14:20:38.306Z | [OTHER] | Attempt 991: Error rate 55.04% (target: 15%) -2025-09-15T14:20:38.309Z | [OTHER] | Attempt 992: Error rate 45.93% (target: 15%) -2025-09-15T14:20:38.310Z | [OTHER] | Attempt 993: Error rate 52.43% (target: 15%) -2025-09-15T14:20:38.312Z | [OTHER] | Attempt 994: Error rate 60.14% (target: 15%) -2025-09-15T14:20:38.314Z | [OTHER] | Attempt 995: Error rate 49.12% (target: 15%) -2025-09-15T14:20:38.316Z | [OTHER] | Attempt 996: Error rate 50.4% (target: 15%) -2025-09-15T14:20:38.317Z | [OTHER] | Attempt 997: Error rate 51.63% (target: 15%) -2025-09-15T14:20:38.319Z | [OTHER] | Attempt 998: Error rate 57.21% (target: 15%) -2025-09-15T14:20:38.321Z | [OTHER] | Attempt 999: Error rate 41.29% (target: 15%) -2025-09-15T14:20:38.323Z | [OTHER] | Attempt 1000: Error rate 48.86% (target: 15%) -2025-09-15T14:20:38.325Z | [OTHER] | Attempt 1001: Error rate 51.19% (target: 15%) -2025-09-15T14:20:38.327Z | [OTHER] | Attempt 1002: Error rate 51.67% (target: 15%) -2025-09-15T14:20:38.328Z | [OTHER] | Attempt 1003: Error rate 50.37% (target: 15%) -2025-09-15T14:20:38.330Z | [OTHER] | Attempt 1004: Error rate 48.15% (target: 15%) -2025-09-15T14:20:38.332Z | [OTHER] | Attempt 1005: Error rate 58.8% (target: 15%) -2025-09-15T14:20:38.334Z | [OTHER] | Attempt 1006: Error rate 49.21% (target: 15%) -2025-09-15T14:20:38.336Z | [OTHER] | Attempt 1007: Error rate 53.75% (target: 15%) -2025-09-15T14:20:38.338Z | [OTHER] | Attempt 1008: Error rate 61.11% (target: 15%) -2025-09-15T14:20:38.340Z | [OTHER] | Attempt 1009: Error rate 47.29% (target: 15%) -2025-09-15T14:20:38.341Z | [OTHER] | Attempt 1010: Error rate 51.14% (target: 15%) -2025-09-15T14:20:38.343Z | [OTHER] | Attempt 1011: Error rate 51.19% (target: 15%) -2025-09-15T14:20:38.345Z | [OTHER] | Attempt 1012: Error rate 52.59% (target: 15%) -2025-09-15T14:20:38.347Z | [OTHER] | Attempt 1013: Error rate 50.38% (target: 15%) -2025-09-15T14:20:38.349Z | [OTHER] | Attempt 1014: Error rate 49.32% (target: 15%) -2025-09-15T14:20:38.350Z | [OTHER] | Attempt 1015: Error rate 50% (target: 15%) -2025-09-15T14:20:38.352Z | [OTHER] | Attempt 1016: Error rate 47.78% (target: 15%) -2025-09-15T14:20:38.354Z | [OTHER] | Attempt 1017: Error rate 52.65% (target: 15%) -2025-09-15T14:20:38.356Z | [OTHER] | Attempt 1018: Error rate 52.13% (target: 15%) -2025-09-15T14:20:38.359Z | [OTHER] | Attempt 1019: Error rate 59.06% (target: 15%) -2025-09-15T14:20:38.361Z | [OTHER] | Attempt 1020: Error rate 51.19% (target: 15%) -2025-09-15T14:20:38.362Z | [OTHER] | Attempt 1021: Error rate 42.05% (target: 15%) -2025-09-15T14:20:38.364Z | [OTHER] | Attempt 1022: Error rate 52.08% (target: 15%) -2025-09-15T14:20:38.366Z | [OTHER] | Attempt 1023: Error rate 50% (target: 15%) -2025-09-15T14:20:38.368Z | [OTHER] | Attempt 1024: Error rate 55.56% (target: 15%) -2025-09-15T14:20:38.369Z | [OTHER] | Attempt 1025: Error rate 49.63% (target: 15%) -2025-09-15T14:20:38.371Z | [OTHER] | Attempt 1026: Error rate 43.9% (target: 15%) -2025-09-15T14:20:38.373Z | [OTHER] | Attempt 1027: Error rate 54.7% (target: 15%) -2025-09-15T14:20:38.375Z | [OTHER] | Attempt 1028: Error rate 56.58% (target: 15%) -2025-09-15T14:20:38.377Z | [OTHER] | Attempt 1029: Error rate 36.39% (target: 15%) -2025-09-15T14:20:38.378Z | [OTHER] | Attempt 1030: Error rate 48.89% (target: 15%) -2025-09-15T14:20:38.380Z | [OTHER] | Attempt 1031: Error rate 54.65% (target: 15%) -2025-09-15T14:20:38.382Z | [OTHER] | Attempt 1032: Error rate 54.96% (target: 15%) -2025-09-15T14:20:38.384Z | [OTHER] | Attempt 1033: Error rate 44.72% (target: 15%) -2025-09-15T14:20:38.387Z | [OTHER] | Attempt 1034: Error rate 55.56% (target: 15%) -2025-09-15T14:20:38.388Z | [OTHER] | Attempt 1035: Error rate 54.7% (target: 15%) -2025-09-15T14:20:38.391Z | [OTHER] | Attempt 1036: Error rate 48.94% (target: 15%) -2025-09-15T14:20:38.392Z | [OTHER] | Attempt 1037: Error rate 51.42% (target: 15%) -2025-09-15T14:20:38.394Z | [OTHER] | Attempt 1038: Error rate 44.44% (target: 15%) -2025-09-15T14:20:38.396Z | [OTHER] | Attempt 1039: Error rate 53.57% (target: 15%) -2025-09-15T14:20:38.398Z | [OTHER] | Attempt 1040: Error rate 45.83% (target: 15%) -2025-09-15T14:20:38.399Z | [OTHER] | Attempt 1041: Error rate 50.83% (target: 15%) -2025-09-15T14:20:38.401Z | [OTHER] | Attempt 1042: Error rate 59.63% (target: 15%) -2025-09-15T14:20:38.403Z | [OTHER] | Attempt 1043: Error rate 59.21% (target: 15%) -2025-09-15T14:20:38.404Z | [OTHER] | Attempt 1044: Error rate 53.49% (target: 15%) -2025-09-15T14:20:38.406Z | [OTHER] | Attempt 1045: Error rate 57.54% (target: 15%) -2025-09-15T14:20:38.408Z | [OTHER] | Attempt 1046: Error rate 55.81% (target: 15%) -2025-09-15T14:20:38.410Z | [OTHER] | Attempt 1047: Error rate 57.08% (target: 15%) -2025-09-15T14:20:38.412Z | [OTHER] | Attempt 1048: Error rate 53.88% (target: 15%) -2025-09-15T14:20:38.413Z | [OTHER] | Attempt 1049: Error rate 57.58% (target: 15%) -2025-09-15T14:20:38.416Z | [OTHER] | Attempt 1050: Error rate 48.89% (target: 15%) -2025-09-15T14:20:38.418Z | [OTHER] | Attempt 1051: Error rate 57.8% (target: 15%) -2025-09-15T14:20:38.420Z | [OTHER] | Attempt 1052: Error rate 52.08% (target: 15%) -2025-09-15T14:20:38.422Z | [OTHER] | Attempt 1053: Error rate 51.45% (target: 15%) -2025-09-15T14:20:38.424Z | [OTHER] | Attempt 1054: Error rate 55.67% (target: 15%) -2025-09-15T14:20:38.426Z | [OTHER] | Attempt 1055: Error rate 67.86% (target: 15%) -2025-09-15T14:20:38.428Z | [OTHER] | Attempt 1056: Error rate 56.03% (target: 15%) -2025-09-15T14:20:38.430Z | [OTHER] | Attempt 1057: Error rate 42.75% (target: 15%) -2025-09-15T14:20:38.432Z | [OTHER] | Attempt 1058: Error rate 52.17% (target: 15%) -2025-09-15T14:20:38.434Z | [OTHER] | Attempt 1059: Error rate 53.82% (target: 15%) -2025-09-15T14:20:38.436Z | [OTHER] | Attempt 1060: Error rate 40.48% (target: 15%) -2025-09-15T14:20:38.438Z | [OTHER] | Attempt 1061: Error rate 48.25% (target: 15%) -2025-09-15T14:20:38.440Z | [OTHER] | Attempt 1062: Error rate 47.22% (target: 15%) -2025-09-15T14:20:38.442Z | [OTHER] | Attempt 1063: Error rate 49.17% (target: 15%) -2025-09-15T14:20:38.443Z | [OTHER] | Attempt 1064: Error rate 51.67% (target: 15%) -2025-09-15T14:20:38.445Z | [OTHER] | Attempt 1065: Error rate 43.84% (target: 15%) -2025-09-15T14:20:38.447Z | [OTHER] | Attempt 1066: Error rate 53.55% (target: 15%) -2025-09-15T14:20:38.449Z | [OTHER] | Attempt 1067: Error rate 55.19% (target: 15%) -2025-09-15T14:20:38.451Z | [OTHER] | Attempt 1068: Error rate 57.25% (target: 15%) -2025-09-15T14:20:38.452Z | [OTHER] | Attempt 1069: Error rate 53.26% (target: 15%) -2025-09-15T14:20:38.454Z | [OTHER] | Attempt 1070: Error rate 47.83% (target: 15%) -2025-09-15T14:20:38.456Z | [OTHER] | Attempt 1071: Error rate 56.25% (target: 15%) -2025-09-15T14:20:38.458Z | [OTHER] | Attempt 1072: Error rate 53.42% (target: 15%) -2025-09-15T14:20:38.459Z | [OTHER] | Attempt 1073: Error rate 50% (target: 15%) -2025-09-15T14:20:38.461Z | [OTHER] | Attempt 1074: Error rate 51.32% (target: 15%) -2025-09-15T14:20:38.464Z | [OTHER] | Attempt 1075: Error rate 53.57% (target: 15%) -2025-09-15T14:20:38.465Z | [OTHER] | Attempt 1076: Error rate 55.56% (target: 15%) -2025-09-15T14:20:38.467Z | [OTHER] | Attempt 1077: Error rate 53.25% (target: 15%) -2025-09-15T14:20:38.469Z | [OTHER] | Attempt 1078: Error rate 57.95% (target: 15%) -2025-09-15T14:20:38.471Z | [OTHER] | Attempt 1079: Error rate 56.98% (target: 15%) -2025-09-15T14:20:38.472Z | [OTHER] | Attempt 1080: Error rate 56.44% (target: 15%) -2025-09-15T14:20:38.474Z | [OTHER] | Attempt 1081: Error rate 55.9% (target: 15%) -2025-09-15T14:20:38.476Z | [OTHER] | Attempt 1082: Error rate 56.52% (target: 15%) -2025-09-15T14:20:38.478Z | [OTHER] | Attempt 1083: Error rate 41.5% (target: 15%) -2025-09-15T14:20:38.479Z | [OTHER] | Attempt 1084: Error rate 43.24% (target: 15%) -2025-09-15T14:20:38.482Z | [OTHER] | Attempt 1085: Error rate 54.17% (target: 15%) -2025-09-15T14:20:38.484Z | [OTHER] | Attempt 1086: Error rate 47.97% (target: 15%) -2025-09-15T14:20:38.486Z | [OTHER] | Attempt 1087: Error rate 43.86% (target: 15%) -2025-09-15T14:20:38.488Z | [OTHER] | Attempt 1088: Error rate 54.17% (target: 15%) -2025-09-15T14:20:38.490Z | [OTHER] | Attempt 1089: Error rate 47.04% (target: 15%) -2025-09-15T14:20:38.491Z | [OTHER] | Attempt 1090: Error rate 53.7% (target: 15%) -2025-09-15T14:20:38.494Z | [OTHER] | Attempt 1091: Error rate 54.86% (target: 15%) -2025-09-15T14:20:38.495Z | [OTHER] | Attempt 1092: Error rate 48.45% (target: 15%) -2025-09-15T14:20:38.497Z | [OTHER] | Attempt 1093: Error rate 52.85% (target: 15%) -2025-09-15T14:20:38.499Z | [OTHER] | Attempt 1094: Error rate 58.54% (target: 15%) -2025-09-15T14:20:38.501Z | [OTHER] | Attempt 1095: Error rate 53.25% (target: 15%) -2025-09-15T14:20:38.502Z | [OTHER] | Attempt 1096: Error rate 51.55% (target: 15%) -2025-09-15T14:20:38.504Z | [OTHER] | Attempt 1097: Error rate 57.41% (target: 15%) -2025-09-15T14:20:38.506Z | [OTHER] | Attempt 1098: Error rate 53.49% (target: 15%) -2025-09-15T14:20:38.508Z | [OTHER] | Attempt 1099: Error rate 50% (target: 15%) -2025-09-15T14:20:38.510Z | [OTHER] | Attempt 1100: Error rate 49.64% (target: 15%) -2025-09-15T14:20:38.512Z | [OTHER] | Attempt 1101: Error rate 54.55% (target: 15%) -2025-09-15T14:20:38.514Z | [OTHER] | Attempt 1102: Error rate 42.5% (target: 15%) -2025-09-15T14:20:38.515Z | [OTHER] | Attempt 1103: Error rate 50.81% (target: 15%) -2025-09-15T14:20:38.517Z | [OTHER] | Attempt 1104: Error rate 53.79% (target: 15%) -2025-09-15T14:20:38.519Z | [OTHER] | Attempt 1105: Error rate 52.22% (target: 15%) -2025-09-15T14:20:38.521Z | [OTHER] | Attempt 1106: Error rate 44.44% (target: 15%) -2025-09-15T14:20:38.523Z | [OTHER] | Attempt 1107: Error rate 45.18% (target: 15%) -2025-09-15T14:20:38.525Z | [OTHER] | Attempt 1108: Error rate 49.12% (target: 15%) -2025-09-15T14:20:38.527Z | [OTHER] | Attempt 1109: Error rate 56.74% (target: 15%) -2025-09-15T14:20:38.528Z | [OTHER] | Attempt 1110: Error rate 59.42% (target: 15%) -2025-09-15T14:20:38.531Z | [OTHER] | Attempt 1111: Error rate 40% (target: 15%) -2025-09-15T14:20:38.532Z | [OTHER] | Attempt 1112: Error rate 46.43% (target: 15%) -2025-09-15T14:20:38.534Z | [OTHER] | Attempt 1113: Error rate 65.38% (target: 15%) -2025-09-15T14:20:38.536Z | [OTHER] | Attempt 1114: Error rate 49.62% (target: 15%) -2025-09-15T14:20:38.538Z | [OTHER] | Attempt 1115: Error rate 56.52% (target: 15%) -2025-09-15T14:20:38.540Z | [OTHER] | Attempt 1116: Error rate 57.36% (target: 15%) -2025-09-15T14:20:38.541Z | [OTHER] | Attempt 1117: Error rate 57.54% (target: 15%) -2025-09-15T14:20:38.545Z | [OTHER] | Attempt 1118: Error rate 53.57% (target: 15%) -2025-09-15T14:20:38.546Z | [OTHER] | Attempt 1119: Error rate 52.08% (target: 15%) -2025-09-15T14:20:38.548Z | [OTHER] | Attempt 1120: Error rate 50.76% (target: 15%) -2025-09-15T14:20:38.550Z | [OTHER] | Attempt 1121: Error rate 49.28% (target: 15%) -2025-09-15T14:20:38.552Z | [OTHER] | Attempt 1122: Error rate 51.11% (target: 15%) -2025-09-15T14:20:38.554Z | [OTHER] | Attempt 1123: Error rate 54.44% (target: 15%) -2025-09-15T14:20:38.556Z | [OTHER] | Attempt 1124: Error rate 49.65% (target: 15%) -2025-09-15T14:20:38.558Z | [OTHER] | Attempt 1125: Error rate 49.22% (target: 15%) -2025-09-15T14:20:38.560Z | [OTHER] | Attempt 1126: Error rate 45.19% (target: 15%) -2025-09-15T14:20:38.562Z | [OTHER] | Attempt 1127: Error rate 55.56% (target: 15%) -2025-09-15T14:20:38.564Z | [OTHER] | Attempt 1128: Error rate 59.13% (target: 15%) -2025-09-15T14:20:38.565Z | [OTHER] | Attempt 1129: Error rate 50.72% (target: 15%) -2025-09-15T14:20:38.568Z | [OTHER] | Attempt 1130: Error rate 51.77% (target: 15%) -2025-09-15T14:20:38.569Z | [OTHER] | Attempt 1131: Error rate 47.37% (target: 15%) -2025-09-15T14:20:38.571Z | [OTHER] | Attempt 1132: Error rate 43.8% (target: 15%) -2025-09-15T14:20:38.574Z | [OTHER] | Attempt 1133: Error rate 55.68% (target: 15%) -2025-09-15T14:20:38.576Z | [OTHER] | Attempt 1134: Error rate 54.26% (target: 15%) -2025-09-15T14:20:38.577Z | [OTHER] | Attempt 1135: Error rate 50% (target: 15%) -2025-09-15T14:20:38.580Z | [OTHER] | Attempt 1136: Error rate 56.38% (target: 15%) -2025-09-15T14:20:38.581Z | [OTHER] | Attempt 1137: Error rate 48.84% (target: 15%) -2025-09-15T14:20:38.583Z | [OTHER] | Attempt 1138: Error rate 49.29% (target: 15%) -2025-09-15T14:20:38.585Z | [OTHER] | Attempt 1139: Error rate 51.06% (target: 15%) -2025-09-15T14:20:38.587Z | [OTHER] | Attempt 1140: Error rate 47.22% (target: 15%) -2025-09-15T14:20:38.588Z | [OTHER] | Attempt 1141: Error rate 42.22% (target: 15%) -2025-09-15T14:20:38.591Z | [OTHER] | Attempt 1142: Error rate 50.43% (target: 15%) -2025-09-15T14:20:38.592Z | [OTHER] | Attempt 1143: Error rate 56.03% (target: 15%) -2025-09-15T14:20:38.594Z | [OTHER] | Attempt 1144: Error rate 52.17% (target: 15%) -2025-09-15T14:20:38.596Z | [OTHER] | Attempt 1145: Error rate 54.17% (target: 15%) -2025-09-15T14:20:38.598Z | [OTHER] | Attempt 1146: Error rate 54.92% (target: 15%) -2025-09-15T14:20:38.599Z | [OTHER] | Attempt 1147: Error rate 55.13% (target: 15%) -2025-09-15T14:20:38.601Z | [OTHER] | Attempt 1148: Error rate 54.55% (target: 15%) -2025-09-15T14:20:38.603Z | [OTHER] | Attempt 1149: Error rate 45.83% (target: 15%) -2025-09-15T14:20:38.605Z | [OTHER] | Attempt 1150: Error rate 54.76% (target: 15%) -2025-09-15T14:20:38.607Z | [OTHER] | Attempt 1151: Error rate 48.78% (target: 15%) -2025-09-15T14:20:38.609Z | [OTHER] | Attempt 1152: Error rate 50% (target: 15%) -2025-09-15T14:20:38.611Z | [OTHER] | Attempt 1153: Error rate 51.52% (target: 15%) -2025-09-15T14:20:38.612Z | [OTHER] | Attempt 1154: Error rate 48.23% (target: 15%) -2025-09-15T14:20:38.615Z | [OTHER] | Attempt 1155: Error rate 56.16% (target: 15%) -2025-09-15T14:20:38.617Z | [OTHER] | Attempt 1156: Error rate 50% (target: 15%) -2025-09-15T14:20:38.618Z | [OTHER] | Attempt 1157: Error rate 53.03% (target: 15%) -2025-09-15T14:20:38.620Z | [OTHER] | Attempt 1158: Error rate 49.64% (target: 15%) -2025-09-15T14:20:38.623Z | [OTHER] | Attempt 1159: Error rate 60.08% (target: 15%) -2025-09-15T14:20:38.625Z | [OTHER] | Attempt 1160: Error rate 47.1% (target: 15%) -2025-09-15T14:20:38.627Z | [OTHER] | Attempt 1161: Error rate 53.03% (target: 15%) -2025-09-15T14:20:38.629Z | [OTHER] | Attempt 1162: Error rate 49.24% (target: 15%) -2025-09-15T14:20:38.630Z | [OTHER] | Attempt 1163: Error rate 53.4% (target: 15%) -2025-09-15T14:20:38.632Z | [OTHER] | Attempt 1164: Error rate 55.56% (target: 15%) -2025-09-15T14:20:38.634Z | [OTHER] | Attempt 1165: Error rate 56.67% (target: 15%) -2025-09-15T14:20:38.636Z | [OTHER] | Attempt 1166: Error rate 54.71% (target: 15%) -2025-09-15T14:20:38.638Z | [OTHER] | Attempt 1167: Error rate 47.92% (target: 15%) -2025-09-15T14:20:38.640Z | [OTHER] | Attempt 1168: Error rate 51.16% (target: 15%) -2025-09-15T14:20:38.642Z | [OTHER] | Attempt 1169: Error rate 49.58% (target: 15%) -2025-09-15T14:20:38.643Z | [OTHER] | Attempt 1170: Error rate 62.22% (target: 15%) -2025-09-15T14:20:38.645Z | [OTHER] | Attempt 1171: Error rate 50.36% (target: 15%) -2025-09-15T14:20:38.647Z | [OTHER] | Attempt 1172: Error rate 55.07% (target: 15%) -2025-09-15T14:20:38.649Z | [OTHER] | Attempt 1173: Error rate 56.16% (target: 15%) -2025-09-15T14:20:38.651Z | [OTHER] | Attempt 1174: Error rate 56.52% (target: 15%) -2025-09-15T14:20:38.653Z | [OTHER] | Attempt 1175: Error rate 55.67% (target: 15%) -2025-09-15T14:20:38.655Z | [OTHER] | Attempt 1176: Error rate 52.7% (target: 15%) -2025-09-15T14:20:38.657Z | [OTHER] | Attempt 1177: Error rate 48.84% (target: 15%) -2025-09-15T14:20:38.659Z | [OTHER] | Attempt 1178: Error rate 52.71% (target: 15%) -2025-09-15T14:20:38.661Z | [OTHER] | Attempt 1179: Error rate 50.38% (target: 15%) -2025-09-15T14:20:38.663Z | [OTHER] | Attempt 1180: Error rate 43.94% (target: 15%) -2025-09-15T14:20:38.665Z | [OTHER] | Attempt 1181: Error rate 59.46% (target: 15%) -2025-09-15T14:20:38.667Z | [OTHER] | Attempt 1182: Error rate 45.83% (target: 15%) -2025-09-15T14:20:38.669Z | [OTHER] | Attempt 1183: Error rate 46.59% (target: 15%) -2025-09-15T14:20:38.672Z | [OTHER] | Attempt 1184: Error rate 53.88% (target: 15%) -2025-09-15T14:20:38.673Z | [OTHER] | Attempt 1185: Error rate 54.07% (target: 15%) -2025-09-15T14:20:38.675Z | [OTHER] | Attempt 1186: Error rate 48.48% (target: 15%) -2025-09-15T14:20:38.677Z | [OTHER] | Attempt 1187: Error rate 59.38% (target: 15%) -2025-09-15T14:20:38.679Z | [OTHER] | Attempt 1188: Error rate 55.28% (target: 15%) -2025-09-15T14:20:38.681Z | [OTHER] | Attempt 1189: Error rate 48.91% (target: 15%) -2025-09-15T14:20:38.683Z | [OTHER] | Attempt 1190: Error rate 55.9% (target: 15%) -2025-09-15T14:20:38.685Z | [OTHER] | Attempt 1191: Error rate 44.05% (target: 15%) -2025-09-15T14:20:38.687Z | [OTHER] | Attempt 1192: Error rate 54.65% (target: 15%) -2025-09-15T14:20:38.689Z | [OTHER] | Attempt 1193: Error rate 59.06% (target: 15%) -2025-09-15T14:20:38.691Z | [OTHER] | Attempt 1194: Error rate 51.85% (target: 15%) -2025-09-15T14:20:38.693Z | [OTHER] | Attempt 1195: Error rate 51.14% (target: 15%) -2025-09-15T14:20:38.695Z | [OTHER] | Attempt 1196: Error rate 55.83% (target: 15%) -2025-09-15T14:20:38.697Z | [OTHER] | Attempt 1197: Error rate 52.08% (target: 15%) -2025-09-15T14:20:38.698Z | [OTHER] | Attempt 1198: Error rate 45.35% (target: 15%) -2025-09-15T14:20:38.701Z | [OTHER] | Attempt 1199: Error rate 52.99% (target: 15%) -2025-09-15T14:20:38.703Z | [OTHER] | Attempt 1200: Error rate 51.14% (target: 15%) -2025-09-15T14:20:38.705Z | [OTHER] | Attempt 1201: Error rate 47.67% (target: 15%) -2025-09-15T14:20:38.707Z | [OTHER] | Attempt 1202: Error rate 60.47% (target: 15%) -2025-09-15T14:20:38.709Z | [OTHER] | Attempt 1203: Error rate 58.16% (target: 15%) -2025-09-15T14:20:38.711Z | [OTHER] | Attempt 1204: Error rate 57.36% (target: 15%) -2025-09-15T14:20:38.713Z | [OTHER] | Attempt 1205: Error rate 51.71% (target: 15%) -2025-09-15T14:20:38.714Z | [OTHER] | Attempt 1206: Error rate 53.55% (target: 15%) -2025-09-15T14:20:38.716Z | [OTHER] | Attempt 1207: Error rate 57.94% (target: 15%) -2025-09-15T14:20:38.718Z | [OTHER] | Attempt 1208: Error rate 50.35% (target: 15%) -2025-09-15T14:20:38.720Z | [OTHER] | Attempt 1209: Error rate 46.51% (target: 15%) -2025-09-15T14:20:38.722Z | [OTHER] | Attempt 1210: Error rate 50.68% (target: 15%) -2025-09-15T14:20:38.724Z | [OTHER] | Attempt 1211: Error rate 47.73% (target: 15%) -2025-09-15T14:20:38.726Z | [OTHER] | Attempt 1212: Error rate 52.38% (target: 15%) -2025-09-15T14:20:38.728Z | [OTHER] | Attempt 1213: Error rate 61.11% (target: 15%) -2025-09-15T14:20:38.729Z | [OTHER] | Attempt 1214: Error rate 54.17% (target: 15%) -2025-09-15T14:20:38.731Z | [OTHER] | Attempt 1215: Error rate 48.98% (target: 15%) -2025-09-15T14:20:38.733Z | [OTHER] | Attempt 1216: Error rate 52.08% (target: 15%) -2025-09-15T14:20:38.735Z | [OTHER] | Attempt 1217: Error rate 60.14% (target: 15%) -2025-09-15T14:20:38.737Z | [OTHER] | Attempt 1218: Error rate 50% (target: 15%) -2025-09-15T14:20:38.738Z | [OTHER] | Attempt 1219: Error rate 55.81% (target: 15%) -2025-09-15T14:20:38.740Z | [OTHER] | Attempt 1220: Error rate 60.42% (target: 15%) -2025-09-15T14:20:38.743Z | [OTHER] | Attempt 1221: Error rate 56.67% (target: 15%) -2025-09-15T14:20:38.745Z | [OTHER] | Attempt 1222: Error rate 56.98% (target: 15%) -2025-09-15T14:20:38.747Z | [OTHER] | Attempt 1223: Error rate 51.98% (target: 15%) -2025-09-15T14:20:38.749Z | [OTHER] | Attempt 1224: Error rate 40.37% (target: 15%) -2025-09-15T14:20:38.750Z | [OTHER] | Attempt 1225: Error rate 51.81% (target: 15%) -2025-09-15T14:20:38.753Z | [OTHER] | Attempt 1226: Error rate 52.44% (target: 15%) -2025-09-15T14:20:38.761Z | [OTHER] | Attempt 1227: Error rate 48.86% (target: 15%) -2025-09-15T14:20:38.765Z | [OTHER] | Attempt 1228: Error rate 50% (target: 15%) -2025-09-15T14:20:38.768Z | [OTHER] | Attempt 1229: Error rate 55.9% (target: 15%) -2025-09-15T14:20:38.772Z | [OTHER] | Attempt 1230: Error rate 54.44% (target: 15%) -2025-09-15T14:20:38.777Z | [OTHER] | Attempt 1231: Error rate 51.74% (target: 15%) -2025-09-15T14:20:38.782Z | [OTHER] | Attempt 1232: Error rate 51.81% (target: 15%) -2025-09-15T14:20:38.787Z | [OTHER] | Attempt 1233: Error rate 45.42% (target: 15%) -2025-09-15T14:20:38.790Z | [OTHER] | Attempt 1234: Error rate 45.08% (target: 15%) -2025-09-15T14:20:38.793Z | [OTHER] | Attempt 1235: Error rate 49.26% (target: 15%) -2025-09-15T14:20:38.795Z | [OTHER] | Attempt 1236: Error rate 49.19% (target: 15%) -2025-09-15T14:20:38.798Z | [OTHER] | Attempt 1237: Error rate 53.17% (target: 15%) -2025-09-15T14:20:38.800Z | [OTHER] | Attempt 1238: Error rate 58.33% (target: 15%) -2025-09-15T14:20:38.803Z | [OTHER] | Attempt 1239: Error rate 48.06% (target: 15%) -2025-09-15T14:20:38.805Z | [OTHER] | Attempt 1240: Error rate 45.83% (target: 15%) -2025-09-15T14:20:38.807Z | [OTHER] | Attempt 1241: Error rate 54.65% (target: 15%) -2025-09-15T14:20:38.810Z | [OTHER] | Attempt 1242: Error rate 50% (target: 15%) -2025-09-15T14:20:38.812Z | [OTHER] | Attempt 1243: Error rate 57.61% (target: 15%) -2025-09-15T14:20:38.814Z | [OTHER] | Attempt 1244: Error rate 60.08% (target: 15%) -2025-09-15T14:20:38.816Z | [OTHER] | Attempt 1245: Error rate 51.14% (target: 15%) -2025-09-15T14:20:38.818Z | [OTHER] | Attempt 1246: Error rate 50.4% (target: 15%) -2025-09-15T14:20:38.820Z | [OTHER] | Attempt 1247: Error rate 54.55% (target: 15%) -2025-09-15T14:20:38.822Z | [OTHER] | Attempt 1248: Error rate 51.39% (target: 15%) -2025-09-15T14:20:38.824Z | [OTHER] | Attempt 1249: Error rate 51.85% (target: 15%) -2025-09-15T14:20:38.825Z | [OTHER] | Attempt 1250: Error rate 54.17% (target: 15%) -2025-09-15T14:20:38.828Z | [OTHER] | Attempt 1251: Error rate 50.79% (target: 15%) -2025-09-15T14:20:38.829Z | [OTHER] | Attempt 1252: Error rate 50.79% (target: 15%) -2025-09-15T14:20:38.831Z | [OTHER] | Attempt 1253: Error rate 55.95% (target: 15%) -2025-09-15T14:20:38.834Z | [OTHER] | Attempt 1254: Error rate 57.78% (target: 15%) -2025-09-15T14:20:38.835Z | [OTHER] | Attempt 1255: Error rate 52.22% (target: 15%) -2025-09-15T14:20:38.837Z | [OTHER] | Attempt 1256: Error rate 51.42% (target: 15%) -2025-09-15T14:20:38.840Z | [OTHER] | Attempt 1257: Error rate 50.79% (target: 15%) -2025-09-15T14:20:38.842Z | [OTHER] | Attempt 1258: Error rate 53.03% (target: 15%) -2025-09-15T14:20:38.843Z | [OTHER] | Attempt 1259: Error rate 44.32% (target: 15%) -2025-09-15T14:20:38.846Z | [OTHER] | Attempt 1260: Error rate 49.58% (target: 15%) -2025-09-15T14:20:38.848Z | [OTHER] | Attempt 1261: Error rate 56.3% (target: 15%) -2025-09-15T14:20:38.850Z | [OTHER] | Attempt 1262: Error rate 49.63% (target: 15%) -2025-09-15T14:20:38.852Z | [OTHER] | Attempt 1263: Error rate 54.81% (target: 15%) -2025-09-15T14:20:38.854Z | [OTHER] | Attempt 1264: Error rate 57.99% (target: 15%) -2025-09-15T14:20:38.856Z | [OTHER] | Attempt 1265: Error rate 60.61% (target: 15%) -2025-09-15T14:20:38.858Z | [OTHER] | Attempt 1266: Error rate 55.04% (target: 15%) -2025-09-15T14:20:38.860Z | [OTHER] | Attempt 1267: Error rate 48.37% (target: 15%) -2025-09-15T14:20:38.862Z | [OTHER] | Attempt 1268: Error rate 47.5% (target: 15%) -2025-09-15T14:20:38.864Z | [OTHER] | Attempt 1269: Error rate 55.93% (target: 15%) -2025-09-15T14:20:38.865Z | [OTHER] | Attempt 1270: Error rate 59.63% (target: 15%) -2025-09-15T14:20:38.867Z | [OTHER] | Attempt 1271: Error rate 56.1% (target: 15%) -2025-09-15T14:20:38.869Z | [OTHER] | Attempt 1272: Error rate 50.85% (target: 15%) -2025-09-15T14:20:38.871Z | [OTHER] | Attempt 1273: Error rate 49.61% (target: 15%) -2025-09-15T14:20:38.873Z | [OTHER] | Attempt 1274: Error rate 47.5% (target: 15%) -2025-09-15T14:20:38.875Z | [OTHER] | Attempt 1275: Error rate 47.67% (target: 15%) -2025-09-15T14:20:38.877Z | [OTHER] | Attempt 1276: Error rate 47.35% (target: 15%) -2025-09-15T14:20:38.879Z | [OTHER] | Attempt 1277: Error rate 57.09% (target: 15%) -2025-09-15T14:20:38.881Z | [OTHER] | Attempt 1278: Error rate 50.44% (target: 15%) -2025-09-15T14:20:38.883Z | [OTHER] | Attempt 1279: Error rate 53.25% (target: 15%) -2025-09-15T14:20:38.885Z | [OTHER] | Attempt 1280: Error rate 49.26% (target: 15%) -2025-09-15T14:20:38.887Z | [OTHER] | Attempt 1281: Error rate 57.72% (target: 15%) -2025-09-15T14:20:38.889Z | [OTHER] | Attempt 1282: Error rate 58.87% (target: 15%) -2025-09-15T14:20:38.892Z | [OTHER] | Attempt 1283: Error rate 50.39% (target: 15%) -2025-09-15T14:20:38.894Z | [OTHER] | Attempt 1284: Error rate 51.14% (target: 15%) -2025-09-15T14:20:38.896Z | [OTHER] | Attempt 1285: Error rate 47.86% (target: 15%) -2025-09-15T14:20:38.898Z | [OTHER] | Attempt 1286: Error rate 56.91% (target: 15%) -2025-09-15T14:20:38.900Z | [OTHER] | Attempt 1287: Error rate 55.95% (target: 15%) -2025-09-15T14:20:38.902Z | [OTHER] | Attempt 1288: Error rate 48.37% (target: 15%) -2025-09-15T14:20:38.904Z | [OTHER] | Attempt 1289: Error rate 56.35% (target: 15%) -2025-09-15T14:20:38.906Z | [OTHER] | Attempt 1290: Error rate 55.07% (target: 15%) -2025-09-15T14:20:38.908Z | [OTHER] | Attempt 1291: Error rate 55.68% (target: 15%) -2025-09-15T14:20:38.910Z | [OTHER] | Attempt 1292: Error rate 47.29% (target: 15%) -2025-09-15T14:20:38.911Z | [OTHER] | Attempt 1293: Error rate 52.96% (target: 15%) -2025-09-15T14:20:38.914Z | [OTHER] | Attempt 1294: Error rate 49.64% (target: 15%) -2025-09-15T14:20:38.915Z | [OTHER] | Attempt 1295: Error rate 53.79% (target: 15%) -2025-09-15T14:20:38.917Z | [OTHER] | Attempt 1296: Error rate 52.44% (target: 15%) -2025-09-15T14:20:38.920Z | [OTHER] | Attempt 1297: Error rate 52.78% (target: 15%) -2025-09-15T14:20:38.922Z | [OTHER] | Attempt 1298: Error rate 58.55% (target: 15%) -2025-09-15T14:20:38.924Z | [OTHER] | Attempt 1299: Error rate 57.09% (target: 15%) -2025-09-15T14:20:38.926Z | [OTHER] | Attempt 1300: Error rate 53.42% (target: 15%) -2025-09-15T14:20:38.928Z | [OTHER] | Attempt 1301: Error rate 46.67% (target: 15%) -2025-09-15T14:20:38.930Z | [OTHER] | Attempt 1302: Error rate 49.58% (target: 15%) -2025-09-15T14:20:38.932Z | [OTHER] | Attempt 1303: Error rate 50% (target: 15%) -2025-09-15T14:20:38.934Z | [OTHER] | Attempt 1304: Error rate 59.06% (target: 15%) -2025-09-15T14:20:38.936Z | [OTHER] | Attempt 1305: Error rate 49.59% (target: 15%) -2025-09-15T14:20:38.938Z | [OTHER] | Attempt 1306: Error rate 53.62% (target: 15%) -2025-09-15T14:20:38.940Z | [OTHER] | Attempt 1307: Error rate 60.23% (target: 15%) -2025-09-15T14:20:38.943Z | [OTHER] | Attempt 1308: Error rate 58.33% (target: 15%) -2025-09-15T14:20:38.945Z | [OTHER] | Attempt 1309: Error rate 54.96% (target: 15%) -2025-09-15T14:20:38.947Z | [OTHER] | Attempt 1310: Error rate 46.45% (target: 15%) -2025-09-15T14:20:38.949Z | [OTHER] | Attempt 1311: Error rate 52.27% (target: 15%) -2025-09-15T14:20:38.951Z | [OTHER] | Attempt 1312: Error rate 51.55% (target: 15%) -2025-09-15T14:20:38.953Z | [OTHER] | Attempt 1313: Error rate 55% (target: 15%) -2025-09-15T14:20:38.955Z | [OTHER] | Attempt 1314: Error rate 52.33% (target: 15%) -2025-09-15T14:20:38.957Z | [OTHER] | Attempt 1315: Error rate 50.83% (target: 15%) -2025-09-15T14:20:38.959Z | [OTHER] | Attempt 1316: Error rate 45.93% (target: 15%) -2025-09-15T14:20:38.962Z | [OTHER] | Attempt 1317: Error rate 54.71% (target: 15%) -2025-09-15T14:20:38.963Z | [OTHER] | Attempt 1318: Error rate 48.98% (target: 15%) -2025-09-15T14:20:38.966Z | [OTHER] | Attempt 1319: Error rate 50.39% (target: 15%) -2025-09-15T14:20:38.968Z | [OTHER] | Attempt 1320: Error rate 51.98% (target: 15%) -2025-09-15T14:20:38.970Z | [OTHER] | Attempt 1321: Error rate 54.37% (target: 15%) -2025-09-15T14:20:38.973Z | [OTHER] | Attempt 1322: Error rate 48.86% (target: 15%) -2025-09-15T14:20:38.975Z | [OTHER] | Attempt 1323: Error rate 52.59% (target: 15%) -2025-09-15T14:20:38.977Z | [OTHER] | Attempt 1324: Error rate 49.64% (target: 15%) -2025-09-15T14:20:38.980Z | [OTHER] | Attempt 1325: Error rate 45.56% (target: 15%) -2025-09-15T14:20:38.981Z | [OTHER] | Attempt 1326: Error rate 44.1% (target: 15%) -2025-09-15T14:20:38.983Z | [OTHER] | Attempt 1327: Error rate 53.33% (target: 15%) -2025-09-15T14:20:38.986Z | [OTHER] | Attempt 1328: Error rate 52.33% (target: 15%) -2025-09-15T14:20:38.987Z | [OTHER] | Attempt 1329: Error rate 50.81% (target: 15%) -2025-09-15T14:20:38.989Z | [OTHER] | Attempt 1330: Error rate 50% (target: 15%) -2025-09-15T14:20:38.992Z | [OTHER] | Attempt 1331: Error rate 55.81% (target: 15%) -2025-09-15T14:20:38.994Z | [OTHER] | Attempt 1332: Error rate 36.99% (target: 15%) -2025-09-15T14:20:38.996Z | [OTHER] | Attempt 1333: Error rate 56.1% (target: 15%) -2025-09-15T14:20:38.998Z | [OTHER] | Attempt 1334: Error rate 50.39% (target: 15%) -2025-09-15T14:20:39.000Z | [OTHER] | Attempt 1335: Error rate 50.41% (target: 15%) -2025-09-15T14:20:39.002Z | [OTHER] | Attempt 1336: Error rate 54.71% (target: 15%) -2025-09-15T14:20:39.004Z | [OTHER] | Attempt 1337: Error rate 51.48% (target: 15%) -2025-09-15T14:20:39.006Z | [OTHER] | Attempt 1338: Error rate 50.38% (target: 15%) -2025-09-15T14:20:39.008Z | [OTHER] | Attempt 1339: Error rate 47.71% (target: 15%) -2025-09-15T14:20:39.010Z | [OTHER] | Attempt 1340: Error rate 50.35% (target: 15%) -2025-09-15T14:20:39.012Z | [OTHER] | Attempt 1341: Error rate 49.64% (target: 15%) -2025-09-15T14:20:39.014Z | [OTHER] | Attempt 1342: Error rate 46.45% (target: 15%) -2025-09-15T14:20:39.016Z | [OTHER] | Attempt 1343: Error rate 53.47% (target: 15%) -2025-09-15T14:20:39.018Z | [OTHER] | Attempt 1344: Error rate 49.6% (target: 15%) -2025-09-15T14:20:39.020Z | [OTHER] | Attempt 1345: Error rate 53.88% (target: 15%) -2025-09-15T14:20:39.023Z | [OTHER] | Attempt 1346: Error rate 47.22% (target: 15%) -2025-09-15T14:20:39.025Z | [OTHER] | Attempt 1347: Error rate 48.84% (target: 15%) -2025-09-15T14:20:39.027Z | [OTHER] | Attempt 1348: Error rate 45.24% (target: 15%) -2025-09-15T14:20:39.029Z | [OTHER] | Attempt 1349: Error rate 51.45% (target: 15%) -2025-09-15T14:20:39.031Z | [OTHER] | Attempt 1350: Error rate 49.61% (target: 15%) -2025-09-15T14:20:39.033Z | [OTHER] | Attempt 1351: Error rate 50% (target: 15%) -2025-09-15T14:20:39.035Z | [OTHER] | Attempt 1352: Error rate 54.92% (target: 15%) -2025-09-15T14:20:39.037Z | [OTHER] | Attempt 1353: Error rate 55.69% (target: 15%) -2025-09-15T14:20:39.040Z | [OTHER] | Attempt 1354: Error rate 62.88% (target: 15%) -2025-09-15T14:20:39.042Z | [OTHER] | Attempt 1355: Error rate 46.81% (target: 15%) -2025-09-15T14:20:39.044Z | [OTHER] | Attempt 1356: Error rate 61.54% (target: 15%) -2025-09-15T14:20:39.046Z | [OTHER] | Attempt 1357: Error rate 46.83% (target: 15%) -2025-09-15T14:20:39.048Z | [OTHER] | Attempt 1358: Error rate 51.55% (target: 15%) -2025-09-15T14:20:39.050Z | [OTHER] | Attempt 1359: Error rate 58.33% (target: 15%) -2025-09-15T14:20:39.052Z | [OTHER] | Attempt 1360: Error rate 53.25% (target: 15%) -2025-09-15T14:20:39.054Z | [OTHER] | Attempt 1361: Error rate 56.25% (target: 15%) -2025-09-15T14:20:39.056Z | [OTHER] | Attempt 1362: Error rate 52.38% (target: 15%) -2025-09-15T14:20:39.058Z | [OTHER] | Attempt 1363: Error rate 55.16% (target: 15%) -2025-09-15T14:20:39.060Z | [OTHER] | Attempt 1364: Error rate 52.22% (target: 15%) -2025-09-15T14:20:39.062Z | [OTHER] | Attempt 1365: Error rate 44.57% (target: 15%) -2025-09-15T14:20:39.064Z | [OTHER] | Attempt 1366: Error rate 56.59% (target: 15%) -2025-09-15T14:20:39.067Z | [OTHER] | Attempt 1367: Error rate 50.78% (target: 15%) -2025-09-15T14:20:39.068Z | [OTHER] | Attempt 1368: Error rate 52.9% (target: 15%) -2025-09-15T14:20:39.071Z | [OTHER] | Attempt 1369: Error rate 57.26% (target: 15%) -2025-09-15T14:20:39.072Z | [OTHER] | Attempt 1370: Error rate 52.78% (target: 15%) -2025-09-15T14:20:39.075Z | [OTHER] | Attempt 1371: Error rate 45.93% (target: 15%) -2025-09-15T14:20:39.077Z | [OTHER] | Attempt 1372: Error rate 52.38% (target: 15%) -2025-09-15T14:20:39.079Z | [OTHER] | Attempt 1373: Error rate 59.09% (target: 15%) -2025-09-15T14:20:39.082Z | [OTHER] | Attempt 1374: Error rate 53.4% (target: 15%) -2025-09-15T14:20:39.084Z | [OTHER] | Attempt 1375: Error rate 51.42% (target: 15%) -2025-09-15T14:20:39.086Z | [OTHER] | Attempt 1376: Error rate 43.86% (target: 15%) -2025-09-15T14:20:39.088Z | [OTHER] | Attempt 1377: Error rate 53.25% (target: 15%) -2025-09-15T14:20:39.090Z | [OTHER] | Attempt 1378: Error rate 54.26% (target: 15%) -2025-09-15T14:20:39.092Z | [OTHER] | Attempt 1379: Error rate 42.71% (target: 15%) -2025-09-15T14:20:39.094Z | [OTHER] | Attempt 1380: Error rate 60.88% (target: 15%) -2025-09-15T14:20:39.096Z | [OTHER] | Attempt 1381: Error rate 59.85% (target: 15%) -2025-09-15T14:20:39.098Z | [OTHER] | Attempt 1382: Error rate 53.15% (target: 15%) -2025-09-15T14:20:39.101Z | [OTHER] | Attempt 1383: Error rate 56.82% (target: 15%) -2025-09-15T14:20:39.103Z | [OTHER] | Attempt 1384: Error rate 46.21% (target: 15%) -2025-09-15T14:20:39.105Z | [OTHER] | Attempt 1385: Error rate 57.95% (target: 15%) -2025-09-15T14:20:39.107Z | [OTHER] | Attempt 1386: Error rate 55.56% (target: 15%) -2025-09-15T14:20:39.109Z | [OTHER] | Attempt 1387: Error rate 55.43% (target: 15%) -2025-09-15T14:20:39.111Z | [OTHER] | Attempt 1388: Error rate 56.03% (target: 15%) -2025-09-15T14:20:39.113Z | [OTHER] | Attempt 1389: Error rate 59.09% (target: 15%) -2025-09-15T14:20:39.115Z | [OTHER] | Attempt 1390: Error rate 57.61% (target: 15%) -2025-09-15T14:20:39.117Z | [OTHER] | Attempt 1391: Error rate 48.52% (target: 15%) -2025-09-15T14:20:39.120Z | [OTHER] | Attempt 1392: Error rate 51.11% (target: 15%) -2025-09-15T14:20:39.121Z | [OTHER] | Attempt 1393: Error rate 54.71% (target: 15%) -2025-09-15T14:20:39.123Z | [OTHER] | Attempt 1394: Error rate 56.16% (target: 15%) -2025-09-15T14:20:39.126Z | [OTHER] | Attempt 1395: Error rate 50.4% (target: 15%) -2025-09-15T14:20:39.127Z | [OTHER] | Attempt 1396: Error rate 52.96% (target: 15%) -2025-09-15T14:20:39.130Z | [OTHER] | Attempt 1397: Error rate 54.55% (target: 15%) -2025-09-15T14:20:39.132Z | [OTHER] | Attempt 1398: Error rate 46.03% (target: 15%) -2025-09-15T14:20:39.134Z | [OTHER] | Attempt 1399: Error rate 43.59% (target: 15%) -2025-09-15T14:20:39.136Z | [OTHER] | Attempt 1400: Error rate 54.76% (target: 15%) -2025-09-15T14:20:39.138Z | [OTHER] | Attempt 1401: Error rate 51.11% (target: 15%) -2025-09-15T14:20:39.140Z | [OTHER] | Attempt 1402: Error rate 56.44% (target: 15%) -2025-09-15T14:20:39.142Z | [OTHER] | Attempt 1403: Error rate 46.38% (target: 15%) -2025-09-15T14:20:39.144Z | [OTHER] | Attempt 1404: Error rate 51.06% (target: 15%) -2025-09-15T14:20:39.146Z | [OTHER] | Attempt 1405: Error rate 55.3% (target: 15%) -2025-09-15T14:20:39.148Z | [OTHER] | Attempt 1406: Error rate 56.88% (target: 15%) -2025-09-15T14:20:39.150Z | [OTHER] | Attempt 1407: Error rate 54.47% (target: 15%) -2025-09-15T14:20:39.152Z | [OTHER] | Attempt 1408: Error rate 48.89% (target: 15%) -2025-09-15T14:20:39.156Z | [OTHER] | Attempt 1409: Error rate 51.09% (target: 15%) -2025-09-15T14:20:39.157Z | [OTHER] | Attempt 1410: Error rate 52.04% (target: 15%) -2025-09-15T14:20:39.159Z | [OTHER] | Attempt 1411: Error rate 49.28% (target: 15%) -2025-09-15T14:20:39.161Z | [OTHER] | Attempt 1412: Error rate 49.6% (target: 15%) -2025-09-15T14:20:39.163Z | [OTHER] | Attempt 1413: Error rate 48.98% (target: 15%) -2025-09-15T14:20:39.166Z | [OTHER] | Attempt 1414: Error rate 53.57% (target: 15%) -2025-09-15T14:20:39.168Z | [OTHER] | Attempt 1415: Error rate 52.38% (target: 15%) -2025-09-15T14:20:39.170Z | [OTHER] | Attempt 1416: Error rate 55.28% (target: 15%) -2025-09-15T14:20:39.172Z | [OTHER] | Attempt 1417: Error rate 58.16% (target: 15%) -2025-09-15T14:20:39.174Z | [OTHER] | Attempt 1418: Error rate 53.03% (target: 15%) -2025-09-15T14:20:39.176Z | [OTHER] | Attempt 1419: Error rate 52.78% (target: 15%) -2025-09-15T14:20:39.178Z | [OTHER] | Attempt 1420: Error rate 53.4% (target: 15%) -2025-09-15T14:20:39.180Z | [OTHER] | Attempt 1421: Error rate 55.21% (target: 15%) -2025-09-15T14:20:39.182Z | [OTHER] | Attempt 1422: Error rate 46.26% (target: 15%) -2025-09-15T14:20:39.185Z | [OTHER] | Attempt 1423: Error rate 51.16% (target: 15%) -2025-09-15T14:20:39.187Z | [OTHER] | Attempt 1424: Error rate 54.17% (target: 15%) -2025-09-15T14:20:39.189Z | [OTHER] | Attempt 1425: Error rate 54.55% (target: 15%) -2025-09-15T14:20:39.191Z | [OTHER] | Attempt 1426: Error rate 51.77% (target: 15%) -2025-09-15T14:20:39.193Z | [OTHER] | Attempt 1427: Error rate 54.44% (target: 15%) -2025-09-15T14:20:39.195Z | [OTHER] | Attempt 1428: Error rate 49.17% (target: 15%) -2025-09-15T14:20:39.197Z | [OTHER] | Attempt 1429: Error rate 55% (target: 15%) -2025-09-15T14:20:39.199Z | [OTHER] | Attempt 1430: Error rate 46.88% (target: 15%) -2025-09-15T14:20:39.201Z | [OTHER] | Attempt 1431: Error rate 48.81% (target: 15%) -2025-09-15T14:20:39.204Z | [OTHER] | Attempt 1432: Error rate 56.44% (target: 15%) -2025-09-15T14:20:39.206Z | [OTHER] | Attempt 1433: Error rate 48.06% (target: 15%) -2025-09-15T14:20:39.207Z | [OTHER] | Attempt 1434: Error rate 54.88% (target: 15%) -2025-09-15T14:20:39.210Z | [OTHER] | Attempt 1435: Error rate 52.59% (target: 15%) -2025-09-15T14:20:39.212Z | [OTHER] | Attempt 1436: Error rate 53.66% (target: 15%) -2025-09-15T14:20:39.214Z | [OTHER] | Attempt 1437: Error rate 55.21% (target: 15%) -2025-09-15T14:20:39.216Z | [OTHER] | Attempt 1438: Error rate 52.33% (target: 15%) -2025-09-15T14:20:39.218Z | [OTHER] | Attempt 1439: Error rate 54.33% (target: 15%) -2025-09-15T14:20:39.221Z | [OTHER] | Attempt 1440: Error rate 51.77% (target: 15%) -2025-09-15T14:20:39.225Z | [OTHER] | Attempt 1441: Error rate 47.46% (target: 15%) -2025-09-15T14:20:39.227Z | [OTHER] | Attempt 1442: Error rate 51.48% (target: 15%) -2025-09-15T14:20:39.232Z | [OTHER] | Attempt 1443: Error rate 52.78% (target: 15%) -2025-09-15T14:20:39.235Z | [OTHER] | Attempt 1444: Error rate 50% (target: 15%) -2025-09-15T14:20:39.237Z | [OTHER] | Attempt 1445: Error rate 54.07% (target: 15%) -2025-09-15T14:20:39.240Z | [OTHER] | Attempt 1446: Error rate 44.7% (target: 15%) -2025-09-15T14:20:39.242Z | [OTHER] | Attempt 1447: Error rate 54.71% (target: 15%) -2025-09-15T14:20:39.244Z | [OTHER] | Attempt 1448: Error rate 54.17% (target: 15%) -2025-09-15T14:20:39.247Z | [OTHER] | Attempt 1449: Error rate 41.46% (target: 15%) -2025-09-15T14:20:39.251Z | [OTHER] | Attempt 1450: Error rate 48.11% (target: 15%) -2025-09-15T14:20:39.253Z | [OTHER] | Attempt 1451: Error rate 47.73% (target: 15%) -2025-09-15T14:20:39.255Z | [OTHER] | Attempt 1452: Error rate 50.38% (target: 15%) -2025-09-15T14:20:39.258Z | [OTHER] | Attempt 1453: Error rate 59.3% (target: 15%) -2025-09-15T14:20:39.260Z | [OTHER] | Attempt 1454: Error rate 49.21% (target: 15%) -2025-09-15T14:20:39.262Z | [OTHER] | Attempt 1455: Error rate 55.19% (target: 15%) -2025-09-15T14:20:39.265Z | [OTHER] | Attempt 1456: Error rate 46.3% (target: 15%) -2025-09-15T14:20:39.267Z | [OTHER] | Attempt 1457: Error rate 57.41% (target: 15%) -2025-09-15T14:20:39.270Z | [OTHER] | Attempt 1458: Error rate 53.7% (target: 15%) -2025-09-15T14:20:39.272Z | [OTHER] | Attempt 1459: Error rate 42.75% (target: 15%) -2025-09-15T14:20:39.274Z | [OTHER] | Attempt 1460: Error rate 42.22% (target: 15%) -2025-09-15T14:20:39.277Z | [OTHER] | Attempt 1461: Error rate 55.68% (target: 15%) -2025-09-15T14:20:39.279Z | [OTHER] | Attempt 1462: Error rate 55.67% (target: 15%) -2025-09-15T14:20:39.281Z | [OTHER] | Attempt 1463: Error rate 47.15% (target: 15%) -2025-09-15T14:20:39.284Z | [OTHER] | Attempt 1464: Error rate 53.88% (target: 15%) -2025-09-15T14:20:39.286Z | [OTHER] | Attempt 1465: Error rate 50.76% (target: 15%) -2025-09-15T14:20:39.289Z | [OTHER] | Attempt 1466: Error rate 46.67% (target: 15%) -2025-09-15T14:20:39.291Z | [OTHER] | Attempt 1467: Error rate 46.67% (target: 15%) -2025-09-15T14:20:39.294Z | [OTHER] | Attempt 1468: Error rate 48.45% (target: 15%) -2025-09-15T14:20:39.296Z | [OTHER] | Attempt 1469: Error rate 48.52% (target: 15%) -2025-09-15T14:20:39.298Z | [OTHER] | Attempt 1470: Error rate 54.26% (target: 15%) -2025-09-15T14:20:39.300Z | [OTHER] | Attempt 1471: Error rate 47.67% (target: 15%) -2025-09-15T14:20:39.302Z | [OTHER] | Attempt 1472: Error rate 48.19% (target: 15%) -2025-09-15T14:20:39.304Z | [OTHER] | Attempt 1473: Error rate 53.57% (target: 15%) -2025-09-15T14:20:39.306Z | [OTHER] | Attempt 1474: Error rate 51.14% (target: 15%) -2025-09-15T14:20:39.308Z | [OTHER] | Attempt 1475: Error rate 54.71% (target: 15%) -2025-09-15T14:20:39.310Z | [OTHER] | Attempt 1476: Error rate 47.29% (target: 15%) -2025-09-15T14:20:39.313Z | [OTHER] | Attempt 1477: Error rate 52.22% (target: 15%) -2025-09-15T14:20:39.315Z | [OTHER] | Attempt 1478: Error rate 56.5% (target: 15%) -2025-09-15T14:20:39.317Z | [OTHER] | Attempt 1479: Error rate 48.19% (target: 15%) -2025-09-15T14:20:39.320Z | [OTHER] | Attempt 1480: Error rate 58.14% (target: 15%) -2025-09-15T14:20:39.322Z | [OTHER] | Attempt 1481: Error rate 55.81% (target: 15%) -2025-09-15T14:20:39.324Z | [OTHER] | Attempt 1482: Error rate 51.63% (target: 15%) -2025-09-15T14:20:39.326Z | [OTHER] | Attempt 1483: Error rate 53.33% (target: 15%) -2025-09-15T14:20:39.328Z | [OTHER] | Attempt 1484: Error rate 53.17% (target: 15%) -2025-09-15T14:20:39.331Z | [OTHER] | Attempt 1485: Error rate 56.6% (target: 15%) -2025-09-15T14:20:39.333Z | [OTHER] | Attempt 1486: Error rate 58.91% (target: 15%) -2025-09-15T14:20:39.335Z | [OTHER] | Attempt 1487: Error rate 60.32% (target: 15%) -2025-09-15T14:20:39.337Z | [OTHER] | Attempt 1488: Error rate 57.61% (target: 15%) -2025-09-15T14:20:39.339Z | [OTHER] | Attempt 1489: Error rate 52.63% (target: 15%) -2025-09-15T14:20:39.341Z | [OTHER] | Attempt 1490: Error rate 43.84% (target: 15%) -2025-09-15T14:20:39.345Z | [OTHER] | Attempt 1491: Error rate 46.3% (target: 15%) -2025-09-15T14:20:39.346Z | [OTHER] | Attempt 1492: Error rate 57.25% (target: 15%) -2025-09-15T14:20:39.348Z | [OTHER] | Attempt 1493: Error rate 48.45% (target: 15%) -2025-09-15T14:20:39.351Z | [OTHER] | Attempt 1494: Error rate 48.02% (target: 15%) -2025-09-15T14:20:39.353Z | [OTHER] | Attempt 1495: Error rate 56.67% (target: 15%) -2025-09-15T14:20:39.355Z | [OTHER] | Attempt 1496: Error rate 51.98% (target: 15%) -2025-09-15T14:20:39.357Z | [OTHER] | Attempt 1497: Error rate 49.28% (target: 15%) -2025-09-15T14:20:39.359Z | [OTHER] | Attempt 1498: Error rate 56.82% (target: 15%) -2025-09-15T14:20:39.361Z | [OTHER] | Attempt 1499: Error rate 47.56% (target: 15%) -2025-09-15T14:20:39.364Z | [OTHER] | Attempt 1500: Error rate 51.06% (target: 15%) -2025-09-15T14:20:39.366Z | [OTHER] | Attempt 1501: Error rate 48.15% (target: 15%) -2025-09-15T14:20:39.368Z | [OTHER] | Attempt 1502: Error rate 50% (target: 15%) -2025-09-15T14:20:39.370Z | [OTHER] | Attempt 1503: Error rate 54.37% (target: 15%) -2025-09-15T14:20:39.373Z | [OTHER] | Attempt 1504: Error rate 47.29% (target: 15%) -2025-09-15T14:20:39.375Z | [OTHER] | Attempt 1505: Error rate 54.26% (target: 15%) -2025-09-15T14:20:39.377Z | [OTHER] | Attempt 1506: Error rate 56.44% (target: 15%) -2025-09-15T14:20:39.379Z | [OTHER] | Attempt 1507: Error rate 57.04% (target: 15%) -2025-09-15T14:20:39.382Z | [OTHER] | Attempt 1508: Error rate 44.57% (target: 15%) -2025-09-15T14:20:39.384Z | [OTHER] | Attempt 1509: Error rate 55.3% (target: 15%) -2025-09-15T14:20:39.387Z | [OTHER] | Attempt 1510: Error rate 57.52% (target: 15%) -2025-09-15T14:20:39.389Z | [OTHER] | Attempt 1511: Error rate 45.19% (target: 15%) -2025-09-15T14:20:39.391Z | [OTHER] | Attempt 1512: Error rate 58.51% (target: 15%) -2025-09-15T14:20:39.394Z | [OTHER] | Attempt 1513: Error rate 39.77% (target: 15%) -2025-09-15T14:20:39.396Z | [OTHER] | Attempt 1514: Error rate 51.74% (target: 15%) -2025-09-15T14:20:39.399Z | [OTHER] | Attempt 1515: Error rate 53.33% (target: 15%) -2025-09-15T14:20:39.401Z | [OTHER] | Attempt 1516: Error rate 53.79% (target: 15%) -2025-09-15T14:20:39.403Z | [OTHER] | Attempt 1517: Error rate 53.97% (target: 15%) -2025-09-15T14:20:39.405Z | [OTHER] | Attempt 1518: Error rate 44.05% (target: 15%) -2025-09-15T14:20:39.407Z | [OTHER] | Attempt 1519: Error rate 50% (target: 15%) -2025-09-15T14:20:39.410Z | [OTHER] | Attempt 1520: Error rate 55.43% (target: 15%) -2025-09-15T14:20:39.412Z | [OTHER] | Attempt 1521: Error rate 50.35% (target: 15%) -2025-09-15T14:20:39.414Z | [OTHER] | Attempt 1522: Error rate 51.25% (target: 15%) -2025-09-15T14:20:39.416Z | [OTHER] | Attempt 1523: Error rate 51.16% (target: 15%) -2025-09-15T14:20:39.418Z | [OTHER] | Attempt 1524: Error rate 46.51% (target: 15%) -2025-09-15T14:20:39.420Z | [OTHER] | Attempt 1525: Error rate 46.38% (target: 15%) -2025-09-15T14:20:39.422Z | [OTHER] | Attempt 1526: Error rate 52.31% (target: 15%) -2025-09-15T14:20:39.424Z | [OTHER] | Attempt 1527: Error rate 62.79% (target: 15%) -2025-09-15T14:20:39.427Z | [OTHER] | Attempt 1528: Error rate 42.96% (target: 15%) -2025-09-15T14:20:39.430Z | [OTHER] | Attempt 1529: Error rate 52.03% (target: 15%) -2025-09-15T14:20:39.434Z | [OTHER] | Attempt 1530: Error rate 55.05% (target: 15%) -2025-09-15T14:20:39.437Z | [OTHER] | Attempt 1531: Error rate 53.55% (target: 15%) -2025-09-15T14:20:39.441Z | [OTHER] | Attempt 1532: Error rate 52.96% (target: 15%) -2025-09-15T14:20:39.442Z | [OTHER] | Attempt 1533: Error rate 44.72% (target: 15%) -2025-09-15T14:20:39.445Z | [OTHER] | Attempt 1534: Error rate 59.03% (target: 15%) -2025-09-15T14:20:39.447Z | [OTHER] | Attempt 1535: Error rate 50% (target: 15%) -2025-09-15T14:20:39.449Z | [OTHER] | Attempt 1536: Error rate 51.55% (target: 15%) -2025-09-15T14:20:39.451Z | [OTHER] | Attempt 1537: Error rate 57.54% (target: 15%) -2025-09-15T14:20:39.454Z | [OTHER] | Attempt 1538: Error rate 41.67% (target: 15%) -2025-09-15T14:20:39.456Z | [OTHER] | Attempt 1539: Error rate 52.85% (target: 15%) -2025-09-15T14:20:39.459Z | [OTHER] | Attempt 1540: Error rate 50.42% (target: 15%) -2025-09-15T14:20:39.461Z | [OTHER] | Attempt 1541: Error rate 50.35% (target: 15%) -2025-09-15T14:20:39.463Z | [OTHER] | Attempt 1542: Error rate 48.25% (target: 15%) -2025-09-15T14:20:39.465Z | [OTHER] | Attempt 1543: Error rate 55.67% (target: 15%) -2025-09-15T14:20:39.467Z | [OTHER] | Attempt 1544: Error rate 44.84% (target: 15%) -2025-09-15T14:20:39.470Z | [OTHER] | Attempt 1545: Error rate 49.57% (target: 15%) -2025-09-15T14:20:39.472Z | [OTHER] | Attempt 1546: Error rate 50% (target: 15%) -2025-09-15T14:20:39.474Z | [OTHER] | Attempt 1547: Error rate 47.83% (target: 15%) -2025-09-15T14:20:39.477Z | [OTHER] | Attempt 1548: Error rate 47.78% (target: 15%) -2025-09-15T14:20:39.479Z | [OTHER] | Attempt 1549: Error rate 46.38% (target: 15%) -2025-09-15T14:20:39.481Z | [OTHER] | Attempt 1550: Error rate 51.42% (target: 15%) -2025-09-15T14:20:39.483Z | [OTHER] | Attempt 1551: Error rate 48.72% (target: 15%) -2025-09-15T14:20:39.485Z | [OTHER] | Attempt 1552: Error rate 51.52% (target: 15%) -2025-09-15T14:20:39.488Z | [OTHER] | Attempt 1553: Error rate 44.1% (target: 15%) -2025-09-15T14:20:39.490Z | [OTHER] | Attempt 1554: Error rate 54.81% (target: 15%) -2025-09-15T14:20:39.492Z | [OTHER] | Attempt 1555: Error rate 52.85% (target: 15%) -2025-09-15T14:20:39.494Z | [OTHER] | Attempt 1556: Error rate 50% (target: 15%) -2025-09-15T14:20:39.497Z | [OTHER] | Attempt 1557: Error rate 47.97% (target: 15%) -2025-09-15T14:20:39.499Z | [OTHER] | Attempt 1558: Error rate 54.81% (target: 15%) -2025-09-15T14:20:39.502Z | [OTHER] | Attempt 1559: Error rate 51.85% (target: 15%) -2025-09-15T14:20:39.504Z | [OTHER] | Attempt 1560: Error rate 48.45% (target: 15%) -2025-09-15T14:20:39.507Z | [OTHER] | Attempt 1561: Error rate 44.2% (target: 15%) -2025-09-15T14:20:39.509Z | [OTHER] | Attempt 1562: Error rate 55.68% (target: 15%) -2025-09-15T14:20:39.511Z | [OTHER] | Attempt 1563: Error rate 50% (target: 15%) -2025-09-15T14:20:39.513Z | [OTHER] | Attempt 1564: Error rate 49.29% (target: 15%) -2025-09-15T14:20:39.515Z | [OTHER] | Attempt 1565: Error rate 50.37% (target: 15%) -2025-09-15T14:20:39.518Z | [OTHER] | Attempt 1566: Error rate 52.44% (target: 15%) -2025-09-15T14:20:39.520Z | [OTHER] | Attempt 1567: Error rate 56.14% (target: 15%) -2025-09-15T14:20:39.522Z | [OTHER] | Attempt 1568: Error rate 53.25% (target: 15%) -2025-09-15T14:20:39.525Z | [OTHER] | Attempt 1569: Error rate 58.91% (target: 15%) -2025-09-15T14:20:39.527Z | [OTHER] | Attempt 1570: Error rate 49.26% (target: 15%) -2025-09-15T14:20:39.529Z | [OTHER] | Attempt 1571: Error rate 52.22% (target: 15%) -2025-09-15T14:20:39.532Z | [OTHER] | Attempt 1572: Error rate 55.19% (target: 15%) -2025-09-15T14:20:39.534Z | [OTHER] | Attempt 1573: Error rate 54.44% (target: 15%) -2025-09-15T14:20:39.537Z | [OTHER] | Attempt 1574: Error rate 59.78% (target: 15%) -2025-09-15T14:20:39.539Z | [OTHER] | Attempt 1575: Error rate 51.85% (target: 15%) -2025-09-15T14:20:39.541Z | [OTHER] | Attempt 1576: Error rate 50.79% (target: 15%) -2025-09-15T14:20:39.543Z | [OTHER] | Attempt 1577: Error rate 49.61% (target: 15%) -2025-09-15T14:20:39.545Z | [OTHER] | Attempt 1578: Error rate 47.41% (target: 15%) -2025-09-15T14:20:39.548Z | [OTHER] | Attempt 1579: Error rate 45.63% (target: 15%) -2025-09-15T14:20:39.550Z | [OTHER] | Attempt 1580: Error rate 48.45% (target: 15%) -2025-09-15T14:20:39.552Z | [OTHER] | Attempt 1581: Error rate 56.44% (target: 15%) -2025-09-15T14:20:39.554Z | [OTHER] | Attempt 1582: Error rate 54.92% (target: 15%) -2025-09-15T14:20:39.556Z | [OTHER] | Attempt 1583: Error rate 57.46% (target: 15%) -2025-09-15T14:20:39.558Z | [OTHER] | Attempt 1584: Error rate 46.76% (target: 15%) -2025-09-15T14:20:39.561Z | [OTHER] | Attempt 1585: Error rate 53.33% (target: 15%) -2025-09-15T14:20:39.563Z | [OTHER] | Attempt 1586: Error rate 62.79% (target: 15%) -2025-09-15T14:20:39.565Z | [OTHER] | Attempt 1587: Error rate 52.65% (target: 15%) -2025-09-15T14:20:39.568Z | [OTHER] | Attempt 1588: Error rate 49.29% (target: 15%) -2025-09-15T14:20:39.570Z | [OTHER] | Attempt 1589: Error rate 49.29% (target: 15%) -2025-09-15T14:20:39.572Z | [OTHER] | Attempt 1590: Error rate 47.78% (target: 15%) -2025-09-15T14:20:39.575Z | [OTHER] | Attempt 1591: Error rate 53.88% (target: 15%) -2025-09-15T14:20:39.577Z | [OTHER] | Attempt 1592: Error rate 54.55% (target: 15%) -2025-09-15T14:20:39.580Z | [OTHER] | Attempt 1593: Error rate 59.06% (target: 15%) -2025-09-15T14:20:39.582Z | [OTHER] | Attempt 1594: Error rate 56.74% (target: 15%) -2025-09-15T14:20:39.584Z | [OTHER] | Attempt 1595: Error rate 53.79% (target: 15%) -2025-09-15T14:20:39.586Z | [OTHER] | Attempt 1596: Error rate 50.35% (target: 15%) -2025-09-15T14:20:39.588Z | [OTHER] | Attempt 1597: Error rate 53.17% (target: 15%) -2025-09-15T14:20:39.591Z | [OTHER] | Attempt 1598: Error rate 44.7% (target: 15%) -2025-09-15T14:20:39.593Z | [OTHER] | Attempt 1599: Error rate 45.74% (target: 15%) -2025-09-15T14:20:39.595Z | [OTHER] | Attempt 1600: Error rate 55.43% (target: 15%) -2025-09-15T14:20:39.598Z | [OTHER] | Attempt 1601: Error rate 47.52% (target: 15%) -2025-09-15T14:20:39.600Z | [OTHER] | Attempt 1602: Error rate 50% (target: 15%) -2025-09-15T14:20:39.602Z | [OTHER] | Attempt 1603: Error rate 54.17% (target: 15%) -2025-09-15T14:20:39.605Z | [OTHER] | Attempt 1604: Error rate 47.46% (target: 15%) -2025-09-15T14:20:39.607Z | [OTHER] | Attempt 1605: Error rate 52.99% (target: 15%) -2025-09-15T14:20:39.609Z | [OTHER] | Attempt 1606: Error rate 48.81% (target: 15%) -2025-09-15T14:20:39.611Z | [OTHER] | Attempt 1607: Error rate 44.57% (target: 15%) -2025-09-15T14:20:39.613Z | [OTHER] | Attempt 1608: Error rate 52.03% (target: 15%) -2025-09-15T14:20:39.616Z | [OTHER] | Attempt 1609: Error rate 53.79% (target: 15%) -2025-09-15T14:20:39.618Z | [OTHER] | Attempt 1610: Error rate 52.96% (target: 15%) -2025-09-15T14:20:39.621Z | [OTHER] | Attempt 1611: Error rate 44.81% (target: 15%) -2025-09-15T14:20:39.623Z | [OTHER] | Attempt 1612: Error rate 49.62% (target: 15%) -2025-09-15T14:20:39.625Z | [OTHER] | Attempt 1613: Error rate 51.16% (target: 15%) -2025-09-15T14:20:39.628Z | [OTHER] | Attempt 1614: Error rate 54.71% (target: 15%) -2025-09-15T14:20:39.630Z | [OTHER] | Attempt 1615: Error rate 52.33% (target: 15%) -2025-09-15T14:20:39.633Z | [OTHER] | Attempt 1616: Error rate 53.49% (target: 15%) -2025-09-15T14:20:39.635Z | [OTHER] | Attempt 1617: Error rate 51.94% (target: 15%) -2025-09-15T14:20:39.637Z | [OTHER] | Attempt 1618: Error rate 55.19% (target: 15%) -2025-09-15T14:20:39.640Z | [OTHER] | Attempt 1619: Error rate 53.41% (target: 15%) -2025-09-15T14:20:39.642Z | [OTHER] | Attempt 1620: Error rate 42.59% (target: 15%) -2025-09-15T14:20:39.644Z | [OTHER] | Attempt 1621: Error rate 51.94% (target: 15%) -2025-09-15T14:20:39.647Z | [OTHER] | Attempt 1622: Error rate 40.74% (target: 15%) -2025-09-15T14:20:39.649Z | [OTHER] | Attempt 1623: Error rate 52.85% (target: 15%) -2025-09-15T14:20:39.651Z | [OTHER] | Attempt 1624: Error rate 45.19% (target: 15%) -2025-09-15T14:20:39.654Z | [OTHER] | Attempt 1625: Error rate 54.26% (target: 15%) -2025-09-15T14:20:39.656Z | [OTHER] | Attempt 1626: Error rate 53.49% (target: 15%) -2025-09-15T14:20:39.659Z | [OTHER] | Attempt 1627: Error rate 54.17% (target: 15%) -2025-09-15T14:20:39.661Z | [OTHER] | Attempt 1628: Error rate 50.83% (target: 15%) -2025-09-15T14:20:39.663Z | [OTHER] | Attempt 1629: Error rate 55.16% (target: 15%) -2025-09-15T14:20:39.666Z | [OTHER] | Attempt 1630: Error rate 57.04% (target: 15%) -2025-09-15T14:20:39.668Z | [OTHER] | Attempt 1631: Error rate 55.56% (target: 15%) -2025-09-15T14:20:39.671Z | [OTHER] | Attempt 1632: Error rate 58.54% (target: 15%) -2025-09-15T14:20:39.678Z | [OTHER] | Attempt 1633: Error rate 50% (target: 15%) -2025-09-15T14:20:39.681Z | [OTHER] | Attempt 1634: Error rate 45.24% (target: 15%) -2025-09-15T14:20:39.684Z | [OTHER] | Attempt 1635: Error rate 59.09% (target: 15%) -2025-09-15T14:20:39.686Z | [OTHER] | Attempt 1636: Error rate 53.79% (target: 15%) -2025-09-15T14:20:39.689Z | [OTHER] | Attempt 1637: Error rate 49.17% (target: 15%) -2025-09-15T14:20:39.691Z | [OTHER] | Attempt 1638: Error rate 50.37% (target: 15%) -2025-09-15T14:20:39.693Z | [OTHER] | Attempt 1639: Error rate 52.22% (target: 15%) -2025-09-15T14:20:39.696Z | [OTHER] | Attempt 1640: Error rate 48.19% (target: 15%) -2025-09-15T14:20:39.698Z | [OTHER] | Attempt 1641: Error rate 59.78% (target: 15%) -2025-09-15T14:20:39.700Z | [OTHER] | Attempt 1642: Error rate 54.71% (target: 15%) -2025-09-15T14:20:39.703Z | [OTHER] | Attempt 1643: Error rate 53.79% (target: 15%) -2025-09-15T14:20:39.705Z | [OTHER] | Attempt 1644: Error rate 61.9% (target: 15%) -2025-09-15T14:20:39.707Z | [OTHER] | Attempt 1645: Error rate 59.13% (target: 15%) -2025-09-15T14:20:39.709Z | [OTHER] | Attempt 1646: Error rate 54.17% (target: 15%) -2025-09-15T14:20:39.712Z | [OTHER] | Attempt 1647: Error rate 56.35% (target: 15%) -2025-09-15T14:20:39.714Z | [OTHER] | Attempt 1648: Error rate 42.86% (target: 15%) -2025-09-15T14:20:39.716Z | [OTHER] | Attempt 1649: Error rate 47.41% (target: 15%) -2025-09-15T14:20:39.718Z | [OTHER] | Attempt 1650: Error rate 57.2% (target: 15%) -2025-09-15T14:20:39.721Z | [OTHER] | Attempt 1651: Error rate 51.55% (target: 15%) -2025-09-15T14:20:39.723Z | [OTHER] | Attempt 1652: Error rate 52.54% (target: 15%) -2025-09-15T14:20:39.726Z | [OTHER] | Attempt 1653: Error rate 54.47% (target: 15%) -2025-09-15T14:20:39.728Z | [OTHER] | Attempt 1654: Error rate 49.12% (target: 15%) -2025-09-15T14:20:39.730Z | [OTHER] | Attempt 1655: Error rate 57.58% (target: 15%) -2025-09-15T14:20:39.732Z | [OTHER] | Attempt 1656: Error rate 59.67% (target: 15%) -2025-09-15T14:20:39.734Z | [OTHER] | Attempt 1657: Error rate 52.27% (target: 15%) -2025-09-15T14:20:39.738Z | [OTHER] | Attempt 1658: Error rate 46.38% (target: 15%) -2025-09-15T14:20:39.739Z | [OTHER] | Attempt 1659: Error rate 61.9% (target: 15%) -2025-09-15T14:20:39.741Z | [OTHER] | Attempt 1660: Error rate 54.76% (target: 15%) -2025-09-15T14:20:39.744Z | [OTHER] | Attempt 1661: Error rate 52.22% (target: 15%) -2025-09-15T14:20:39.746Z | [OTHER] | Attempt 1662: Error rate 54.92% (target: 15%) -2025-09-15T14:20:39.749Z | [OTHER] | Attempt 1663: Error rate 56.35% (target: 15%) -2025-09-15T14:20:39.751Z | [OTHER] | Attempt 1664: Error rate 53.97% (target: 15%) -2025-09-15T14:20:39.753Z | [OTHER] | Attempt 1665: Error rate 52.71% (target: 15%) -2025-09-15T14:20:39.756Z | [OTHER] | Attempt 1666: Error rate 45.93% (target: 15%) -2025-09-15T14:20:39.758Z | [OTHER] | Attempt 1667: Error rate 56.52% (target: 15%) -2025-09-15T14:20:39.760Z | [OTHER] | Attempt 1668: Error rate 50% (target: 15%) -2025-09-15T14:20:39.763Z | [OTHER] | Attempt 1669: Error rate 57.41% (target: 15%) -2025-09-15T14:20:39.765Z | [OTHER] | Attempt 1670: Error rate 60.64% (target: 15%) -2025-09-15T14:20:39.767Z | [OTHER] | Attempt 1671: Error rate 51.22% (target: 15%) -2025-09-15T14:20:39.769Z | [OTHER] | Attempt 1672: Error rate 53.41% (target: 15%) -2025-09-15T14:20:39.772Z | [OTHER] | Attempt 1673: Error rate 49.22% (target: 15%) -2025-09-15T14:20:39.775Z | [OTHER] | Attempt 1674: Error rate 51.89% (target: 15%) -2025-09-15T14:20:39.777Z | [OTHER] | Attempt 1675: Error rate 57.54% (target: 15%) -2025-09-15T14:20:39.780Z | [OTHER] | Attempt 1676: Error rate 43.16% (target: 15%) -2025-09-15T14:20:39.782Z | [OTHER] | Attempt 1677: Error rate 47.22% (target: 15%) -2025-09-15T14:20:39.784Z | [OTHER] | Attempt 1678: Error rate 52.56% (target: 15%) -2025-09-15T14:20:39.787Z | [OTHER] | Attempt 1679: Error rate 43.33% (target: 15%) -2025-09-15T14:20:39.789Z | [OTHER] | Attempt 1680: Error rate 51.45% (target: 15%) -2025-09-15T14:20:39.791Z | [OTHER] | Attempt 1681: Error rate 62.59% (target: 15%) -2025-09-15T14:20:39.794Z | [OTHER] | Attempt 1682: Error rate 53.9% (target: 15%) -2025-09-15T14:20:39.796Z | [OTHER] | Attempt 1683: Error rate 54.17% (target: 15%) -2025-09-15T14:20:39.798Z | [OTHER] | Attempt 1684: Error rate 53.1% (target: 15%) -2025-09-15T14:20:39.800Z | [OTHER] | Attempt 1685: Error rate 53.7% (target: 15%) -2025-09-15T14:20:39.803Z | [OTHER] | Attempt 1686: Error rate 46.21% (target: 15%) -2025-09-15T14:20:39.806Z | [OTHER] | Attempt 1687: Error rate 49.21% (target: 15%) -2025-09-15T14:20:39.808Z | [OTHER] | Attempt 1688: Error rate 49.33% (target: 15%) -2025-09-15T14:20:39.811Z | [OTHER] | Attempt 1689: Error rate 54.42% (target: 15%) -2025-09-15T14:20:39.813Z | [OTHER] | Attempt 1690: Error rate 47.67% (target: 15%) -2025-09-15T14:20:39.815Z | [OTHER] | Attempt 1691: Error rate 59.26% (target: 15%) -2025-09-15T14:20:39.818Z | [OTHER] | Attempt 1692: Error rate 54.81% (target: 15%) -2025-09-15T14:20:39.820Z | [OTHER] | Attempt 1693: Error rate 54.76% (target: 15%) -2025-09-15T14:20:39.823Z | [OTHER] | Attempt 1694: Error rate 53.25% (target: 15%) -2025-09-15T14:20:39.825Z | [OTHER] | Attempt 1695: Error rate 50% (target: 15%) -2025-09-15T14:20:39.828Z | [OTHER] | Attempt 1696: Error rate 55.93% (target: 15%) -2025-09-15T14:20:39.830Z | [OTHER] | Attempt 1697: Error rate 48.52% (target: 15%) -2025-09-15T14:20:39.832Z | [OTHER] | Attempt 1698: Error rate 56.2% (target: 15%) -2025-09-15T14:20:39.834Z | [OTHER] | Attempt 1699: Error rate 55.78% (target: 15%) -2025-09-15T14:20:39.838Z | [OTHER] | Attempt 1700: Error rate 51.14% (target: 15%) -2025-09-15T14:20:39.840Z | [OTHER] | Attempt 1701: Error rate 56.06% (target: 15%) -2025-09-15T14:20:39.842Z | [OTHER] | Attempt 1702: Error rate 55.43% (target: 15%) -2025-09-15T14:20:39.844Z | [OTHER] | Attempt 1703: Error rate 56.16% (target: 15%) -2025-09-15T14:20:39.846Z | [OTHER] | Attempt 1704: Error rate 60.57% (target: 15%) -2025-09-15T14:20:39.849Z | [OTHER] | Attempt 1705: Error rate 52.54% (target: 15%) -2025-09-15T14:20:39.852Z | [OTHER] | Attempt 1706: Error rate 51.11% (target: 15%) -2025-09-15T14:20:39.854Z | [OTHER] | Attempt 1707: Error rate 57.72% (target: 15%) -2025-09-15T14:20:39.856Z | [OTHER] | Attempt 1708: Error rate 55.78% (target: 15%) -2025-09-15T14:20:39.859Z | [OTHER] | Attempt 1709: Error rate 49.58% (target: 15%) -2025-09-15T14:20:39.861Z | [OTHER] | Attempt 1710: Error rate 62.12% (target: 15%) -2025-09-15T14:20:39.864Z | [OTHER] | Attempt 1711: Error rate 48.61% (target: 15%) -2025-09-15T14:20:39.866Z | [OTHER] | Attempt 1712: Error rate 53.88% (target: 15%) -2025-09-15T14:20:39.868Z | [OTHER] | Attempt 1713: Error rate 50.85% (target: 15%) -2025-09-15T14:20:39.871Z | [OTHER] | Attempt 1714: Error rate 44.93% (target: 15%) -2025-09-15T14:20:39.873Z | [OTHER] | Attempt 1715: Error rate 55.07% (target: 15%) -2025-09-15T14:20:39.875Z | [OTHER] | Attempt 1716: Error rate 55.56% (target: 15%) -2025-09-15T14:20:39.878Z | [OTHER] | Attempt 1717: Error rate 52.27% (target: 15%) -2025-09-15T14:20:39.880Z | [OTHER] | Attempt 1718: Error rate 47.29% (target: 15%) -2025-09-15T14:20:39.883Z | [OTHER] | Attempt 1719: Error rate 52.71% (target: 15%) -2025-09-15T14:20:39.885Z | [OTHER] | Attempt 1720: Error rate 41.86% (target: 15%) -2025-09-15T14:20:39.887Z | [OTHER] | Attempt 1721: Error rate 51.55% (target: 15%) -2025-09-15T14:20:39.890Z | [OTHER] | Attempt 1722: Error rate 55.67% (target: 15%) -2025-09-15T14:20:39.892Z | [OTHER] | Attempt 1723: Error rate 45.53% (target: 15%) -2025-09-15T14:20:39.894Z | [OTHER] | Attempt 1724: Error rate 56.5% (target: 15%) -2025-09-15T14:20:39.897Z | [OTHER] | Attempt 1725: Error rate 44.02% (target: 15%) -2025-09-15T14:20:39.899Z | [OTHER] | Attempt 1726: Error rate 55.56% (target: 15%) -2025-09-15T14:20:39.902Z | [OTHER] | Attempt 1727: Error rate 53.66% (target: 15%) -2025-09-15T14:20:39.904Z | [OTHER] | Attempt 1728: Error rate 57.5% (target: 15%) -2025-09-15T14:20:39.906Z | [OTHER] | Attempt 1729: Error rate 47.87% (target: 15%) -2025-09-15T14:20:39.908Z | [OTHER] | Attempt 1730: Error rate 46.83% (target: 15%) -2025-09-15T14:20:39.911Z | [OTHER] | Attempt 1731: Error rate 54.07% (target: 15%) -2025-09-15T14:20:39.913Z | [OTHER] | Attempt 1732: Error rate 50% (target: 15%) -2025-09-15T14:20:39.915Z | [OTHER] | Attempt 1733: Error rate 53.41% (target: 15%) -2025-09-15T14:20:39.918Z | [OTHER] | Attempt 1734: Error rate 51.52% (target: 15%) -2025-09-15T14:20:39.920Z | [OTHER] | Attempt 1735: Error rate 39.53% (target: 15%) -2025-09-15T14:20:39.922Z | [OTHER] | Attempt 1736: Error rate 55.56% (target: 15%) -2025-09-15T14:20:39.925Z | [OTHER] | Attempt 1737: Error rate 47.83% (target: 15%) -2025-09-15T14:20:39.927Z | [OTHER] | Attempt 1738: Error rate 54.07% (target: 15%) -2025-09-15T14:20:39.929Z | [OTHER] | Attempt 1739: Error rate 56.38% (target: 15%) -2025-09-15T14:20:39.932Z | [OTHER] | Attempt 1740: Error rate 60% (target: 15%) -2025-09-15T14:20:39.934Z | [OTHER] | Attempt 1741: Error rate 53.1% (target: 15%) -2025-09-15T14:20:39.937Z | [OTHER] | Attempt 1742: Error rate 47.1% (target: 15%) -2025-09-15T14:20:39.939Z | [OTHER] | Attempt 1743: Error rate 59.3% (target: 15%) -2025-09-15T14:20:39.942Z | [OTHER] | Attempt 1744: Error rate 50.76% (target: 15%) -2025-09-15T14:20:39.945Z | [OTHER] | Attempt 1745: Error rate 52.84% (target: 15%) -2025-09-15T14:20:39.948Z | [OTHER] | Attempt 1746: Error rate 57.14% (target: 15%) -2025-09-15T14:20:39.950Z | [OTHER] | Attempt 1747: Error rate 49.65% (target: 15%) -2025-09-15T14:20:39.953Z | [OTHER] | Attempt 1748: Error rate 53.17% (target: 15%) -2025-09-15T14:20:39.956Z | [OTHER] | Attempt 1749: Error rate 57.32% (target: 15%) -2025-09-15T14:20:39.959Z | [OTHER] | Attempt 1750: Error rate 56.98% (target: 15%) -2025-09-15T14:20:39.963Z | [OTHER] | Attempt 1751: Error rate 59.33% (target: 15%) -2025-09-15T14:20:39.966Z | [OTHER] | Attempt 1752: Error rate 50% (target: 15%) -2025-09-15T14:20:39.969Z | [OTHER] | Attempt 1753: Error rate 56.38% (target: 15%) -2025-09-15T14:20:39.972Z | [OTHER] | Attempt 1754: Error rate 51.11% (target: 15%) -2025-09-15T14:20:39.974Z | [OTHER] | Attempt 1755: Error rate 62.4% (target: 15%) -2025-09-15T14:20:39.977Z | [OTHER] | Attempt 1756: Error rate 43.18% (target: 15%) -2025-09-15T14:20:39.979Z | [OTHER] | Attempt 1757: Error rate 45.18% (target: 15%) -2025-09-15T14:20:39.981Z | [OTHER] | Attempt 1758: Error rate 47.62% (target: 15%) -2025-09-15T14:20:39.984Z | [OTHER] | Attempt 1759: Error rate 51.89% (target: 15%) -2025-09-15T14:20:39.987Z | [OTHER] | Attempt 1760: Error rate 47.57% (target: 15%) -2025-09-15T14:20:39.989Z | [OTHER] | Attempt 1761: Error rate 52.92% (target: 15%) -2025-09-15T14:20:39.992Z | [OTHER] | Attempt 1762: Error rate 61.51% (target: 15%) -2025-09-15T14:20:39.995Z | [OTHER] | Attempt 1763: Error rate 50.79% (target: 15%) -2025-09-15T14:20:39.998Z | [OTHER] | Attempt 1764: Error rate 58.71% (target: 15%) -2025-09-15T14:20:40.000Z | [OTHER] | Attempt 1765: Error rate 58.55% (target: 15%) -2025-09-15T14:20:40.003Z | [OTHER] | Attempt 1766: Error rate 55.32% (target: 15%) -2025-09-15T14:20:40.006Z | [OTHER] | Attempt 1767: Error rate 55.43% (target: 15%) -2025-09-15T14:20:40.010Z | [OTHER] | Attempt 1768: Error rate 52.84% (target: 15%) -2025-09-15T14:20:40.013Z | [OTHER] | Attempt 1769: Error rate 53.55% (target: 15%) -2025-09-15T14:20:40.016Z | [OTHER] | Attempt 1770: Error rate 43.7% (target: 15%) -2025-09-15T14:20:40.019Z | [OTHER] | Attempt 1771: Error rate 51.59% (target: 15%) -2025-09-15T14:20:40.022Z | [OTHER] | Attempt 1772: Error rate 53.41% (target: 15%) -2025-09-15T14:20:40.025Z | [OTHER] | Attempt 1773: Error rate 54.7% (target: 15%) -2025-09-15T14:20:40.028Z | [OTHER] | Attempt 1774: Error rate 52.04% (target: 15%) -2025-09-15T14:20:40.030Z | [OTHER] | Attempt 1775: Error rate 45.83% (target: 15%) -2025-09-15T14:20:40.033Z | [OTHER] | Attempt 1776: Error rate 49.64% (target: 15%) -2025-09-15T14:20:40.036Z | [OTHER] | Attempt 1777: Error rate 45.19% (target: 15%) -2025-09-15T14:20:40.039Z | [OTHER] | Attempt 1778: Error rate 56.67% (target: 15%) -2025-09-15T14:20:40.041Z | [OTHER] | Attempt 1779: Error rate 57.58% (target: 15%) -2025-09-15T14:20:40.044Z | [OTHER] | Attempt 1780: Error rate 51.89% (target: 15%) -2025-09-15T14:20:40.047Z | [OTHER] | Attempt 1781: Error rate 52.17% (target: 15%) -2025-09-15T14:20:40.050Z | [OTHER] | Attempt 1782: Error rate 53.33% (target: 15%) -2025-09-15T14:20:40.054Z | [OTHER] | Attempt 1783: Error rate 46.88% (target: 15%) -2025-09-15T14:20:40.056Z | [OTHER] | Attempt 1784: Error rate 53.57% (target: 15%) -2025-09-15T14:20:40.058Z | [OTHER] | Attempt 1785: Error rate 55.56% (target: 15%) -2025-09-15T14:20:40.061Z | [OTHER] | Attempt 1786: Error rate 55.43% (target: 15%) -2025-09-15T14:20:40.064Z | [OTHER] | Attempt 1787: Error rate 50.36% (target: 15%) -2025-09-15T14:20:40.067Z | [OTHER] | Attempt 1788: Error rate 52.27% (target: 15%) -2025-09-15T14:20:40.070Z | [OTHER] | Attempt 1789: Error rate 58.33% (target: 15%) -2025-09-15T14:20:40.072Z | [OTHER] | Attempt 1790: Error rate 49.21% (target: 15%) -2025-09-15T14:20:40.075Z | [OTHER] | Attempt 1791: Error rate 57.2% (target: 15%) -2025-09-15T14:20:40.078Z | [OTHER] | Attempt 1792: Error rate 50.78% (target: 15%) -2025-09-15T14:20:40.080Z | [OTHER] | Attempt 1793: Error rate 52.22% (target: 15%) -2025-09-15T14:20:40.083Z | [OTHER] | Attempt 1794: Error rate 51.85% (target: 15%) -2025-09-15T14:20:40.085Z | [OTHER] | Attempt 1795: Error rate 62.68% (target: 15%) -2025-09-15T14:20:40.087Z | [OTHER] | Attempt 1796: Error rate 48.11% (target: 15%) -2025-09-15T14:20:40.090Z | [OTHER] | Attempt 1797: Error rate 50.78% (target: 15%) -2025-09-15T14:20:40.092Z | [OTHER] | Attempt 1798: Error rate 55.8% (target: 15%) -2025-09-15T14:20:40.095Z | [OTHER] | Attempt 1799: Error rate 45.29% (target: 15%) -2025-09-15T14:20:40.097Z | [OTHER] | Attempt 1800: Error rate 46.43% (target: 15%) -2025-09-15T14:20:40.099Z | [OTHER] | Attempt 1801: Error rate 47.78% (target: 15%) -2025-09-15T14:20:40.102Z | [OTHER] | Attempt 1802: Error rate 46.38% (target: 15%) -2025-09-15T14:20:40.104Z | [OTHER] | Attempt 1803: Error rate 49.58% (target: 15%) -2025-09-15T14:20:40.106Z | [OTHER] | Attempt 1804: Error rate 47.35% (target: 15%) -2025-09-15T14:20:40.109Z | [OTHER] | Attempt 1805: Error rate 52.5% (target: 15%) -2025-09-15T14:20:40.112Z | [OTHER] | Attempt 1806: Error rate 47.35% (target: 15%) -2025-09-15T14:20:40.114Z | [OTHER] | Attempt 1807: Error rate 52.78% (target: 15%) -2025-09-15T14:20:40.116Z | [OTHER] | Attempt 1808: Error rate 49.63% (target: 15%) -2025-09-15T14:20:40.119Z | [OTHER] | Attempt 1809: Error rate 53.75% (target: 15%) -2025-09-15T14:20:40.121Z | [OTHER] | Attempt 1810: Error rate 61.36% (target: 15%) -2025-09-15T14:20:40.124Z | [OTHER] | Attempt 1811: Error rate 50.81% (target: 15%) -2025-09-15T14:20:40.126Z | [OTHER] | Attempt 1812: Error rate 50.43% (target: 15%) -2025-09-15T14:20:40.128Z | [OTHER] | Attempt 1813: Error rate 46.05% (target: 15%) -2025-09-15T14:20:40.131Z | [OTHER] | Attempt 1814: Error rate 53.41% (target: 15%) -2025-09-15T14:20:40.133Z | [OTHER] | Attempt 1815: Error rate 56.2% (target: 15%) -2025-09-15T14:20:40.136Z | [OTHER] | Attempt 1816: Error rate 57.36% (target: 15%) -2025-09-15T14:20:40.138Z | [OTHER] | Attempt 1817: Error rate 53.26% (target: 15%) -2025-09-15T14:20:40.140Z | [OTHER] | Attempt 1818: Error rate 47.08% (target: 15%) -2025-09-15T14:20:40.143Z | [OTHER] | Attempt 1819: Error rate 57.14% (target: 15%) -2025-09-15T14:20:40.145Z | [OTHER] | Attempt 1820: Error rate 52.17% (target: 15%) -2025-09-15T14:20:40.148Z | [OTHER] | Attempt 1821: Error rate 47.78% (target: 15%) -2025-09-15T14:20:40.150Z | [OTHER] | Attempt 1822: Error rate 61.51% (target: 15%) -2025-09-15T14:20:40.153Z | [OTHER] | Attempt 1823: Error rate 52.14% (target: 15%) -2025-09-15T14:20:40.155Z | [OTHER] | Attempt 1824: Error rate 51.85% (target: 15%) -2025-09-15T14:20:40.159Z | [OTHER] | Attempt 1825: Error rate 46.21% (target: 15%) -2025-09-15T14:20:40.160Z | [OTHER] | Attempt 1826: Error rate 52.9% (target: 15%) -2025-09-15T14:20:40.163Z | [OTHER] | Attempt 1827: Error rate 53.62% (target: 15%) -2025-09-15T14:20:40.165Z | [OTHER] | Attempt 1828: Error rate 54.61% (target: 15%) -2025-09-15T14:20:40.168Z | [OTHER] | Attempt 1829: Error rate 52.22% (target: 15%) -2025-09-15T14:20:40.170Z | [OTHER] | Attempt 1830: Error rate 51.59% (target: 15%) -2025-09-15T14:20:40.172Z | [OTHER] | Attempt 1831: Error rate 51.67% (target: 15%) -2025-09-15T14:20:40.175Z | [OTHER] | Attempt 1832: Error rate 48.58% (target: 15%) -2025-09-15T14:20:40.177Z | [OTHER] | Attempt 1833: Error rate 52.84% (target: 15%) -2025-09-15T14:20:40.180Z | [OTHER] | Attempt 1834: Error rate 54.07% (target: 15%) -2025-09-15T14:20:40.182Z | [OTHER] | Attempt 1835: Error rate 52.17% (target: 15%) -2025-09-15T14:20:40.185Z | [OTHER] | Attempt 1836: Error rate 45.65% (target: 15%) -2025-09-15T14:20:40.187Z | [OTHER] | Attempt 1837: Error rate 53.17% (target: 15%) -2025-09-15T14:20:40.190Z | [OTHER] | Attempt 1838: Error rate 58.33% (target: 15%) -2025-09-15T14:20:40.193Z | [OTHER] | Attempt 1839: Error rate 51.98% (target: 15%) -2025-09-15T14:20:40.195Z | [OTHER] | Attempt 1840: Error rate 42.03% (target: 15%) -2025-09-15T14:20:40.198Z | [OTHER] | Attempt 1841: Error rate 49.28% (target: 15%) -2025-09-15T14:20:40.200Z | [OTHER] | Attempt 1842: Error rate 55.67% (target: 15%) -2025-09-15T14:20:40.203Z | [OTHER] | Attempt 1843: Error rate 56.88% (target: 15%) -2025-09-15T14:20:40.205Z | [OTHER] | Attempt 1844: Error rate 45.74% (target: 15%) -2025-09-15T14:20:40.208Z | [OTHER] | Attempt 1845: Error rate 53.88% (target: 15%) -2025-09-15T14:20:40.210Z | [OTHER] | Attempt 1846: Error rate 48.15% (target: 15%) -2025-09-15T14:20:40.213Z | [OTHER] | Attempt 1847: Error rate 50% (target: 15%) -2025-09-15T14:20:40.215Z | [OTHER] | Attempt 1848: Error rate 45.08% (target: 15%) -2025-09-15T14:20:40.218Z | [OTHER] | Attempt 1849: Error rate 51.89% (target: 15%) -2025-09-15T14:20:40.220Z | [OTHER] | Attempt 1850: Error rate 49.22% (target: 15%) -2025-09-15T14:20:40.223Z | [OTHER] | Attempt 1851: Error rate 48.84% (target: 15%) -2025-09-15T14:20:40.225Z | [OTHER] | Attempt 1852: Error rate 48% (target: 15%) -2025-09-15T14:20:40.228Z | [OTHER] | Attempt 1853: Error rate 53.49% (target: 15%) -2025-09-15T14:20:40.230Z | [OTHER] | Attempt 1854: Error rate 49.28% (target: 15%) -2025-09-15T14:20:40.233Z | [OTHER] | Attempt 1855: Error rate 58.13% (target: 15%) -2025-09-15T14:20:40.235Z | [OTHER] | Attempt 1856: Error rate 58.15% (target: 15%) -2025-09-15T14:20:40.237Z | [OTHER] | Attempt 1857: Error rate 50.74% (target: 15%) -2025-09-15T14:20:40.240Z | [OTHER] | Attempt 1858: Error rate 56.35% (target: 15%) -2025-09-15T14:20:40.242Z | [OTHER] | Attempt 1859: Error rate 46.83% (target: 15%) -2025-09-15T14:20:40.245Z | [OTHER] | Attempt 1860: Error rate 51.11% (target: 15%) -2025-09-15T14:20:40.247Z | [OTHER] | Attempt 1861: Error rate 47.87% (target: 15%) -2025-09-15T14:20:40.249Z | [OTHER] | Attempt 1862: Error rate 55.68% (target: 15%) -2025-09-15T14:20:40.252Z | [OTHER] | Attempt 1863: Error rate 51.55% (target: 15%) -2025-09-15T14:20:40.254Z | [OTHER] | Attempt 1864: Error rate 50.35% (target: 15%) -2025-09-15T14:20:40.257Z | [OTHER] | Attempt 1865: Error rate 55.16% (target: 15%) -2025-09-15T14:20:40.260Z | [OTHER] | Attempt 1866: Error rate 58.5% (target: 15%) -2025-09-15T14:20:40.262Z | [OTHER] | Attempt 1867: Error rate 52.17% (target: 15%) -2025-09-15T14:20:40.264Z | [OTHER] | Attempt 1868: Error rate 41.47% (target: 15%) -2025-09-15T14:20:40.267Z | [OTHER] | Attempt 1869: Error rate 51.52% (target: 15%) -2025-09-15T14:20:40.269Z | [OTHER] | Attempt 1870: Error rate 58.33% (target: 15%) -2025-09-15T14:20:40.272Z | [OTHER] | Attempt 1871: Error rate 51.11% (target: 15%) -2025-09-15T14:20:40.274Z | [OTHER] | Attempt 1872: Error rate 48.52% (target: 15%) -2025-09-15T14:20:40.278Z | [OTHER] | Attempt 1873: Error rate 45.56% (target: 15%) -2025-09-15T14:20:40.280Z | [OTHER] | Attempt 1874: Error rate 49.63% (target: 15%) -2025-09-15T14:20:40.283Z | [OTHER] | Attempt 1875: Error rate 46.34% (target: 15%) -2025-09-15T14:20:40.285Z | [OTHER] | Attempt 1876: Error rate 51.55% (target: 15%) -2025-09-15T14:20:40.288Z | [OTHER] | Attempt 1877: Error rate 53.57% (target: 15%) -2025-09-15T14:20:40.290Z | [OTHER] | Attempt 1878: Error rate 52.14% (target: 15%) -2025-09-15T14:20:40.293Z | [OTHER] | Attempt 1879: Error rate 48.45% (target: 15%) -2025-09-15T14:20:40.295Z | [OTHER] | Attempt 1880: Error rate 49.57% (target: 15%) -2025-09-15T14:20:40.298Z | [OTHER] | Attempt 1881: Error rate 45.83% (target: 15%) -2025-09-15T14:20:40.300Z | [OTHER] | Attempt 1882: Error rate 51.67% (target: 15%) -2025-09-15T14:20:40.303Z | [OTHER] | Attempt 1883: Error rate 53.06% (target: 15%) -2025-09-15T14:20:40.306Z | [OTHER] | Attempt 1884: Error rate 51.42% (target: 15%) -2025-09-15T14:20:40.308Z | [OTHER] | Attempt 1885: Error rate 56.44% (target: 15%) -2025-09-15T14:20:40.310Z | [OTHER] | Attempt 1886: Error rate 52.54% (target: 15%) -2025-09-15T14:20:40.313Z | [OTHER] | Attempt 1887: Error rate 46.67% (target: 15%) -2025-09-15T14:20:40.316Z | [OTHER] | Attempt 1888: Error rate 59.47% (target: 15%) -2025-09-15T14:20:40.318Z | [OTHER] | Attempt 1889: Error rate 50.67% (target: 15%) -2025-09-15T14:20:40.321Z | [OTHER] | Attempt 1890: Error rate 56.35% (target: 15%) -2025-09-15T14:20:40.323Z | [OTHER] | Attempt 1891: Error rate 59.13% (target: 15%) -2025-09-15T14:20:40.326Z | [OTHER] | Attempt 1892: Error rate 52.44% (target: 15%) -2025-09-15T14:20:40.328Z | [OTHER] | Attempt 1893: Error rate 56.06% (target: 15%) -2025-09-15T14:20:40.330Z | [OTHER] | Attempt 1894: Error rate 58.15% (target: 15%) -2025-09-15T14:20:40.333Z | [OTHER] | Attempt 1895: Error rate 47.22% (target: 15%) -2025-09-15T14:20:40.335Z | [OTHER] | Attempt 1896: Error rate 59.63% (target: 15%) -2025-09-15T14:20:40.338Z | [OTHER] | Attempt 1897: Error rate 50.39% (target: 15%) -2025-09-15T14:20:40.340Z | [OTHER] | Attempt 1898: Error rate 47.35% (target: 15%) -2025-09-15T14:20:40.343Z | [OTHER] | Attempt 1899: Error rate 41.48% (target: 15%) -2025-09-15T14:20:40.346Z | [OTHER] | Attempt 1900: Error rate 46.74% (target: 15%) -2025-09-15T14:20:40.348Z | [OTHER] | Attempt 1901: Error rate 54.92% (target: 15%) -2025-09-15T14:20:40.350Z | [OTHER] | Attempt 1902: Error rate 55.69% (target: 15%) -2025-09-15T14:20:40.353Z | [OTHER] | Attempt 1903: Error rate 48.15% (target: 15%) -2025-09-15T14:20:40.356Z | [OTHER] | Attempt 1904: Error rate 55.04% (target: 15%) -2025-09-15T14:20:40.358Z | [OTHER] | Attempt 1905: Error rate 60.71% (target: 15%) -2025-09-15T14:20:40.361Z | [OTHER] | Attempt 1906: Error rate 50.83% (target: 15%) -2025-09-15T14:20:40.363Z | [OTHER] | Attempt 1907: Error rate 51.59% (target: 15%) -2025-09-15T14:20:40.367Z | [OTHER] | Attempt 1908: Error rate 60.99% (target: 15%) -2025-09-15T14:20:40.368Z | [OTHER] | Attempt 1909: Error rate 43.02% (target: 15%) -2025-09-15T14:20:40.371Z | [OTHER] | Attempt 1910: Error rate 44.96% (target: 15%) -2025-09-15T14:20:40.373Z | [OTHER] | Attempt 1911: Error rate 53.49% (target: 15%) -2025-09-15T14:20:40.376Z | [OTHER] | Attempt 1912: Error rate 54.81% (target: 15%) -2025-09-15T14:20:40.378Z | [OTHER] | Attempt 1913: Error rate 56.06% (target: 15%) -2025-09-15T14:20:40.381Z | [OTHER] | Attempt 1914: Error rate 54.65% (target: 15%) -2025-09-15T14:20:40.383Z | [OTHER] | Attempt 1915: Error rate 47.96% (target: 15%) -2025-09-15T14:20:40.386Z | [OTHER] | Attempt 1916: Error rate 55.3% (target: 15%) -2025-09-15T14:20:40.388Z | [OTHER] | Attempt 1917: Error rate 43.8% (target: 15%) -2025-09-15T14:20:40.390Z | [OTHER] | Attempt 1918: Error rate 58.33% (target: 15%) -2025-09-15T14:20:40.393Z | [OTHER] | Attempt 1919: Error rate 45.19% (target: 15%) -2025-09-15T14:20:40.395Z | [OTHER] | Attempt 1920: Error rate 57.95% (target: 15%) -2025-09-15T14:20:40.398Z | [OTHER] | Attempt 1921: Error rate 54.96% (target: 15%) -2025-09-15T14:20:40.400Z | [OTHER] | Attempt 1922: Error rate 50.36% (target: 15%) -2025-09-15T14:20:40.402Z | [OTHER] | Attempt 1923: Error rate 47.14% (target: 15%) -2025-09-15T14:20:40.405Z | [OTHER] | Attempt 1924: Error rate 46.83% (target: 15%) -2025-09-15T14:20:40.408Z | [OTHER] | Attempt 1925: Error rate 40.94% (target: 15%) -2025-09-15T14:20:40.410Z | [OTHER] | Attempt 1926: Error rate 51.89% (target: 15%) -2025-09-15T14:20:40.413Z | [OTHER] | Attempt 1927: Error rate 56.3% (target: 15%) -2025-09-15T14:20:40.415Z | [OTHER] | Attempt 1928: Error rate 57.75% (target: 15%) -2025-09-15T14:20:40.418Z | [OTHER] | Attempt 1929: Error rate 50% (target: 15%) -2025-09-15T14:20:40.420Z | [OTHER] | Attempt 1930: Error rate 51.06% (target: 15%) -2025-09-15T14:20:40.423Z | [OTHER] | Attempt 1931: Error rate 55.81% (target: 15%) -2025-09-15T14:20:40.425Z | [OTHER] | Attempt 1932: Error rate 48.26% (target: 15%) -2025-09-15T14:20:40.428Z | [OTHER] | Attempt 1933: Error rate 54.07% (target: 15%) -2025-09-15T14:20:40.430Z | [OTHER] | Attempt 1934: Error rate 49.28% (target: 15%) -2025-09-15T14:20:40.433Z | [OTHER] | Attempt 1935: Error rate 54.26% (target: 15%) -2025-09-15T14:20:40.436Z | [OTHER] | Attempt 1936: Error rate 59.92% (target: 15%) -2025-09-15T14:20:40.438Z | [OTHER] | Attempt 1937: Error rate 56.16% (target: 15%) -2025-09-15T14:20:40.441Z | [OTHER] | Attempt 1938: Error rate 43% (target: 15%) -2025-09-15T14:20:40.443Z | [OTHER] | Attempt 1939: Error rate 52.59% (target: 15%) -2025-09-15T14:20:40.446Z | [OTHER] | Attempt 1940: Error rate 52.27% (target: 15%) -2025-09-15T14:20:40.448Z | [OTHER] | Attempt 1941: Error rate 55.56% (target: 15%) -2025-09-15T14:20:40.451Z | [OTHER] | Attempt 1942: Error rate 52.59% (target: 15%) -2025-09-15T14:20:40.453Z | [OTHER] | Attempt 1943: Error rate 48.48% (target: 15%) -2025-09-15T14:20:40.455Z | [OTHER] | Attempt 1944: Error rate 52.96% (target: 15%) -2025-09-15T14:20:40.458Z | [OTHER] | Attempt 1945: Error rate 56.38% (target: 15%) -2025-09-15T14:20:40.461Z | [OTHER] | Attempt 1946: Error rate 55.93% (target: 15%) -2025-09-15T14:20:40.463Z | [OTHER] | Attempt 1947: Error rate 51.52% (target: 15%) -2025-09-15T14:20:40.465Z | [OTHER] | Attempt 1948: Error rate 57.69% (target: 15%) -2025-09-15T14:20:40.469Z | [OTHER] | Attempt 1949: Error rate 54.61% (target: 15%) -2025-09-15T14:20:40.471Z | [OTHER] | Attempt 1950: Error rate 50.81% (target: 15%) -2025-09-15T14:20:40.473Z | [OTHER] | Attempt 1951: Error rate 43.4% (target: 15%) -2025-09-15T14:20:40.476Z | [OTHER] | Attempt 1952: Error rate 42.22% (target: 15%) -2025-09-15T14:20:40.478Z | [OTHER] | Attempt 1953: Error rate 46.03% (target: 15%) -2025-09-15T14:20:40.481Z | [OTHER] | Attempt 1954: Error rate 50.42% (target: 15%) -2025-09-15T14:20:40.484Z | [OTHER] | Attempt 1955: Error rate 51.25% (target: 15%) -2025-09-15T14:20:40.486Z | [OTHER] | Attempt 1956: Error rate 49.65% (target: 15%) -2025-09-15T14:20:40.489Z | [OTHER] | Attempt 1957: Error rate 52.27% (target: 15%) -2025-09-15T14:20:40.491Z | [OTHER] | Attempt 1958: Error rate 50.43% (target: 15%) -2025-09-15T14:20:40.493Z | [OTHER] | Attempt 1959: Error rate 49.15% (target: 15%) -2025-09-15T14:20:40.496Z | [OTHER] | Attempt 1960: Error rate 48.11% (target: 15%) -2025-09-15T14:20:40.498Z | [OTHER] | Attempt 1961: Error rate 44.44% (target: 15%) -2025-09-15T14:20:40.501Z | [OTHER] | Attempt 1962: Error rate 59.92% (target: 15%) -2025-09-15T14:20:40.503Z | [OTHER] | Attempt 1963: Error rate 52.33% (target: 15%) -2025-09-15T14:20:40.506Z | [OTHER] | Attempt 1964: Error rate 44.2% (target: 15%) -2025-09-15T14:20:40.508Z | [OTHER] | Attempt 1965: Error rate 47.62% (target: 15%) -2025-09-15T14:20:40.510Z | [OTHER] | Attempt 1966: Error rate 50.39% (target: 15%) -2025-09-15T14:20:40.514Z | [OTHER] | Attempt 1967: Error rate 55.8% (target: 15%) -2025-09-15T14:20:40.516Z | [OTHER] | Attempt 1968: Error rate 51.45% (target: 15%) -2025-09-15T14:20:40.519Z | [OTHER] | Attempt 1969: Error rate 47.62% (target: 15%) -2025-09-15T14:20:40.521Z | [OTHER] | Attempt 1970: Error rate 57.94% (target: 15%) -2025-09-15T14:20:40.524Z | [OTHER] | Attempt 1971: Error rate 55.07% (target: 15%) -2025-09-15T14:20:40.526Z | [OTHER] | Attempt 1972: Error rate 57.36% (target: 15%) -2025-09-15T14:20:40.529Z | [OTHER] | Attempt 1973: Error rate 54.96% (target: 15%) -2025-09-15T14:20:40.531Z | [OTHER] | Attempt 1974: Error rate 51.67% (target: 15%) -2025-09-15T14:20:40.534Z | [OTHER] | Attempt 1975: Error rate 59.92% (target: 15%) -2025-09-15T14:20:40.536Z | [OTHER] | Attempt 1976: Error rate 55.28% (target: 15%) -2025-09-15T14:20:40.539Z | [OTHER] | Attempt 1977: Error rate 50.36% (target: 15%) -2025-09-15T14:20:40.542Z | [OTHER] | Attempt 1978: Error rate 50.36% (target: 15%) -2025-09-15T14:20:40.545Z | [OTHER] | Attempt 1979: Error rate 49.62% (target: 15%) -2025-09-15T14:20:40.548Z | [OTHER] | Attempt 1980: Error rate 47.87% (target: 15%) -2025-09-15T14:20:40.551Z | [OTHER] | Attempt 1981: Error rate 53.74% (target: 15%) -2025-09-15T14:20:40.553Z | [OTHER] | Attempt 1982: Error rate 57.09% (target: 15%) -2025-09-15T14:20:40.556Z | [OTHER] | Attempt 1983: Error rate 55.43% (target: 15%) -2025-09-15T14:20:40.559Z | [OTHER] | Attempt 1984: Error rate 49.26% (target: 15%) -2025-09-15T14:20:40.563Z | [OTHER] | Attempt 1985: Error rate 55.93% (target: 15%) -2025-09-15T14:20:40.565Z | [OTHER] | Attempt 1986: Error rate 52.13% (target: 15%) -2025-09-15T14:20:40.568Z | [OTHER] | Attempt 1987: Error rate 45.83% (target: 15%) -2025-09-15T14:20:40.571Z | [OTHER] | Attempt 1988: Error rate 54.37% (target: 15%) -2025-09-15T14:20:40.574Z | [OTHER] | Attempt 1989: Error rate 49.63% (target: 15%) -2025-09-15T14:20:40.577Z | [OTHER] | Attempt 1990: Error rate 55.04% (target: 15%) -2025-09-15T14:20:40.580Z | [OTHER] | Attempt 1991: Error rate 51.55% (target: 15%) -2025-09-15T14:20:40.582Z | [OTHER] | Attempt 1992: Error rate 50% (target: 15%) -2025-09-15T14:20:40.585Z | [OTHER] | Attempt 1993: Error rate 50.74% (target: 15%) -2025-09-15T14:20:40.587Z | [OTHER] | Attempt 1994: Error rate 53.62% (target: 15%) -2025-09-15T14:20:40.589Z | [OTHER] | Attempt 1995: Error rate 52.96% (target: 15%) -2025-09-15T14:20:40.592Z | [OTHER] | Attempt 1996: Error rate 58.7% (target: 15%) -2025-09-15T14:20:40.595Z | [OTHER] | Attempt 1997: Error rate 51.11% (target: 15%) -2025-09-15T14:20:40.597Z | [OTHER] | Attempt 1998: Error rate 48.06% (target: 15%) -2025-09-15T14:20:40.600Z | [OTHER] | Attempt 1999: Error rate 55.56% (target: 15%) -2025-09-15T14:20:40.602Z | [OTHER] | Attempt 2000: Error rate 55.04% (target: 15%) -2025-09-15T14:20:40.605Z | [OTHER] | Attempt 2001: Error rate 55.83% (target: 15%) -2025-09-15T14:20:40.607Z | [OTHER] | Attempt 2002: Error rate 54.07% (target: 15%) -2025-09-15T14:20:40.610Z | [OTHER] | Attempt 2003: Error rate 55.98% (target: 15%) -2025-09-15T14:20:40.613Z | [OTHER] | Attempt 2004: Error rate 54.7% (target: 15%) -2025-09-15T14:20:40.615Z | [OTHER] | Attempt 2005: Error rate 56.2% (target: 15%) -2025-09-15T14:20:40.618Z | [OTHER] | Attempt 2006: Error rate 56.52% (target: 15%) -2025-09-15T14:20:40.620Z | [OTHER] | Attempt 2007: Error rate 51.22% (target: 15%) -2025-09-15T14:20:40.623Z | [OTHER] | Attempt 2008: Error rate 53.26% (target: 15%) -2025-09-15T14:20:40.626Z | [OTHER] | Attempt 2009: Error rate 51.45% (target: 15%) -2025-09-15T14:20:40.628Z | [OTHER] | Attempt 2010: Error rate 47.04% (target: 15%) -2025-09-15T14:20:40.631Z | [OTHER] | Attempt 2011: Error rate 37.6% (target: 15%) -2025-09-15T14:20:40.634Z | [OTHER] | Attempt 2012: Error rate 53.17% (target: 15%) -2025-09-15T14:20:40.636Z | [OTHER] | Attempt 2013: Error rate 50.37% (target: 15%) -2025-09-15T14:20:40.639Z | [OTHER] | Attempt 2014: Error rate 51.48% (target: 15%) -2025-09-15T14:20:40.642Z | [OTHER] | Attempt 2015: Error rate 43.56% (target: 15%) -2025-09-15T14:20:40.644Z | [OTHER] | Attempt 2016: Error rate 55.93% (target: 15%) -2025-09-15T14:20:40.647Z | [OTHER] | Attempt 2017: Error rate 49.64% (target: 15%) -2025-09-15T14:20:40.650Z | [OTHER] | Attempt 2018: Error rate 51.45% (target: 15%) -2025-09-15T14:20:40.652Z | [OTHER] | Attempt 2019: Error rate 55.07% (target: 15%) -2025-09-15T14:20:40.655Z | [OTHER] | Attempt 2020: Error rate 55.93% (target: 15%) -2025-09-15T14:20:40.658Z | [OTHER] | Attempt 2021: Error rate 60.74% (target: 15%) -2025-09-15T14:20:40.660Z | [OTHER] | Attempt 2022: Error rate 53.33% (target: 15%) -2025-09-15T14:20:40.662Z | [OTHER] | Attempt 2023: Error rate 50% (target: 15%) -2025-09-15T14:20:40.665Z | [OTHER] | Attempt 2024: Error rate 58.33% (target: 15%) -2025-09-15T14:20:40.668Z | [OTHER] | Attempt 2025: Error rate 46.9% (target: 15%) -2025-09-15T14:20:40.671Z | [OTHER] | Attempt 2026: Error rate 51.32% (target: 15%) -2025-09-15T14:20:40.673Z | [OTHER] | Attempt 2027: Error rate 54.07% (target: 15%) -2025-09-15T14:20:40.676Z | [OTHER] | Attempt 2028: Error rate 45.73% (target: 15%) -2025-09-15T14:20:40.678Z | [OTHER] | Attempt 2029: Error rate 46.97% (target: 15%) -2025-09-15T14:20:40.681Z | [OTHER] | Attempt 2030: Error rate 49.6% (target: 15%) -2025-09-15T14:20:40.684Z | [OTHER] | Attempt 2031: Error rate 47.83% (target: 15%) -2025-09-15T14:20:40.686Z | [OTHER] | Attempt 2032: Error rate 50.38% (target: 15%) -2025-09-15T14:20:40.690Z | [OTHER] | Attempt 2033: Error rate 57.72% (target: 15%) -2025-09-15T14:20:40.691Z | [OTHER] | Attempt 2034: Error rate 51.98% (target: 15%) -2025-09-15T14:20:40.694Z | [OTHER] | Attempt 2035: Error rate 55% (target: 15%) -2025-09-15T14:20:40.697Z | [OTHER] | Attempt 2036: Error rate 57.94% (target: 15%) -2025-09-15T14:20:40.699Z | [OTHER] | Attempt 2037: Error rate 53.17% (target: 15%) -2025-09-15T14:20:40.702Z | [OTHER] | Attempt 2038: Error rate 46.58% (target: 15%) -2025-09-15T14:20:40.705Z | [OTHER] | Attempt 2039: Error rate 54.26% (target: 15%) -2025-09-15T14:20:40.708Z | [OTHER] | Attempt 2040: Error rate 49.55% (target: 15%) -2025-09-15T14:20:40.710Z | [OTHER] | Attempt 2041: Error rate 52.9% (target: 15%) -2025-09-15T14:20:40.713Z | [OTHER] | Attempt 2042: Error rate 60.23% (target: 15%) -2025-09-15T14:20:40.716Z | [OTHER] | Attempt 2043: Error rate 47.56% (target: 15%) -2025-09-15T14:20:40.718Z | [OTHER] | Attempt 2044: Error rate 54.35% (target: 15%) -2025-09-15T14:20:40.721Z | [OTHER] | Attempt 2045: Error rate 53.33% (target: 15%) -2025-09-15T14:20:40.724Z | [OTHER] | Attempt 2046: Error rate 57.32% (target: 15%) -2025-09-15T14:20:40.726Z | [OTHER] | Attempt 2047: Error rate 50.35% (target: 15%) -2025-09-15T14:20:40.729Z | [OTHER] | Attempt 2048: Error rate 50.38% (target: 15%) -2025-09-15T14:20:40.731Z | [OTHER] | Attempt 2049: Error rate 60.47% (target: 15%) -2025-09-15T14:20:40.734Z | [OTHER] | Attempt 2050: Error rate 54.44% (target: 15%) -2025-09-15T14:20:40.737Z | [OTHER] | Attempt 2051: Error rate 55.28% (target: 15%) -2025-09-15T14:20:40.739Z | [OTHER] | Attempt 2052: Error rate 50.72% (target: 15%) -2025-09-15T14:20:40.742Z | [OTHER] | Attempt 2053: Error rate 54.26% (target: 15%) -2025-09-15T14:20:40.744Z | [OTHER] | Attempt 2054: Error rate 52.03% (target: 15%) -2025-09-15T14:20:40.747Z | [OTHER] | Attempt 2055: Error rate 56.74% (target: 15%) -2025-09-15T14:20:40.749Z | [OTHER] | Attempt 2056: Error rate 45.14% (target: 15%) -2025-09-15T14:20:40.752Z | [OTHER] | Attempt 2057: Error rate 52.9% (target: 15%) -2025-09-15T14:20:40.755Z | [OTHER] | Attempt 2058: Error rate 56.3% (target: 15%) -2025-09-15T14:20:40.757Z | [OTHER] | Attempt 2059: Error rate 47.78% (target: 15%) -2025-09-15T14:20:40.760Z | [OTHER] | Attempt 2060: Error rate 51.89% (target: 15%) -2025-09-15T14:20:40.762Z | [OTHER] | Attempt 2061: Error rate 58.14% (target: 15%) -2025-09-15T14:20:40.765Z | [OTHER] | Attempt 2062: Error rate 56.52% (target: 15%) -2025-09-15T14:20:40.767Z | [OTHER] | Attempt 2063: Error rate 56.38% (target: 15%) -2025-09-15T14:20:40.770Z | [OTHER] | Attempt 2064: Error rate 51.94% (target: 15%) -2025-09-15T14:20:40.773Z | [OTHER] | Attempt 2065: Error rate 61.11% (target: 15%) -2025-09-15T14:20:40.775Z | [OTHER] | Attempt 2066: Error rate 57.78% (target: 15%) -2025-09-15T14:20:40.778Z | [OTHER] | Attempt 2067: Error rate 59.42% (target: 15%) -2025-09-15T14:20:40.781Z | [OTHER] | Attempt 2068: Error rate 39.13% (target: 15%) -2025-09-15T14:20:40.784Z | [OTHER] | Attempt 2069: Error rate 50.36% (target: 15%) -2025-09-15T14:20:40.789Z | [OTHER] | Attempt 2070: Error rate 51.09% (target: 15%) -2025-09-15T14:20:40.792Z | [OTHER] | Attempt 2071: Error rate 45.93% (target: 15%) -2025-09-15T14:20:40.795Z | [OTHER] | Attempt 2072: Error rate 51.45% (target: 15%) -2025-09-15T14:20:40.798Z | [OTHER] | Attempt 2073: Error rate 51.67% (target: 15%) -2025-09-15T14:20:40.800Z | [OTHER] | Attempt 2074: Error rate 57.45% (target: 15%) -2025-09-15T14:20:40.805Z | [OTHER] | Attempt 2075: Error rate 57.48% (target: 15%) -2025-09-15T14:20:40.806Z | [OTHER] | Attempt 2076: Error rate 52.78% (target: 15%) -2025-09-15T14:20:40.809Z | [OTHER] | Attempt 2077: Error rate 49.21% (target: 15%) -2025-09-15T14:20:40.812Z | [OTHER] | Attempt 2078: Error rate 54.67% (target: 15%) -2025-09-15T14:20:40.815Z | [OTHER] | Attempt 2079: Error rate 50.4% (target: 15%) -2025-09-15T14:20:40.817Z | [OTHER] | Attempt 2080: Error rate 49.63% (target: 15%) -2025-09-15T14:20:40.820Z | [OTHER] | Attempt 2081: Error rate 59.13% (target: 15%) -2025-09-15T14:20:40.823Z | [OTHER] | Attempt 2082: Error rate 47.1% (target: 15%) -2025-09-15T14:20:40.825Z | [OTHER] | Attempt 2083: Error rate 53.74% (target: 15%) -2025-09-15T14:20:40.828Z | [OTHER] | Attempt 2084: Error rate 56.52% (target: 15%) -2025-09-15T14:20:40.831Z | [OTHER] | Attempt 2085: Error rate 55.3% (target: 15%) -2025-09-15T14:20:40.834Z | [OTHER] | Attempt 2086: Error rate 54.76% (target: 15%) -2025-09-15T14:20:40.836Z | [OTHER] | Attempt 2087: Error rate 60.85% (target: 15%) -2025-09-15T14:20:40.839Z | [OTHER] | Attempt 2088: Error rate 48.29% (target: 15%) -2025-09-15T14:20:40.842Z | [OTHER] | Attempt 2089: Error rate 55.04% (target: 15%) -2025-09-15T14:20:40.844Z | [OTHER] | Attempt 2090: Error rate 46.51% (target: 15%) -2025-09-15T14:20:40.847Z | [OTHER] | Attempt 2091: Error rate 51.48% (target: 15%) -2025-09-15T14:20:40.849Z | [OTHER] | Attempt 2092: Error rate 45.83% (target: 15%) -2025-09-15T14:20:40.852Z | [OTHER] | Attempt 2093: Error rate 56.1% (target: 15%) -2025-09-15T14:20:40.855Z | [OTHER] | Attempt 2094: Error rate 50% (target: 15%) -2025-09-15T14:20:40.857Z | [OTHER] | Attempt 2095: Error rate 53.66% (target: 15%) -2025-09-15T14:20:40.860Z | [OTHER] | Attempt 2096: Error rate 60.71% (target: 15%) -2025-09-15T14:20:40.863Z | [OTHER] | Attempt 2097: Error rate 53.33% (target: 15%) -2025-09-15T14:20:40.865Z | [OTHER] | Attempt 2098: Error rate 50.37% (target: 15%) -2025-09-15T14:20:40.868Z | [OTHER] | Attempt 2099: Error rate 44.31% (target: 15%) -2025-09-15T14:20:40.871Z | [OTHER] | Attempt 2100: Error rate 55.43% (target: 15%) -2025-09-15T14:20:40.873Z | [OTHER] | Attempt 2101: Error rate 52.38% (target: 15%) -2025-09-15T14:20:40.876Z | [OTHER] | Attempt 2102: Error rate 50.78% (target: 15%) -2025-09-15T14:20:40.879Z | [OTHER] | Attempt 2103: Error rate 51.14% (target: 15%) -2025-09-15T14:20:40.882Z | [OTHER] | Attempt 2104: Error rate 56.5% (target: 15%) -2025-09-15T14:20:40.884Z | [OTHER] | Attempt 2105: Error rate 47.73% (target: 15%) -2025-09-15T14:20:40.887Z | [OTHER] | Attempt 2106: Error rate 51.48% (target: 15%) -2025-09-15T14:20:40.890Z | [OTHER] | Attempt 2107: Error rate 47.67% (target: 15%) -2025-09-15T14:20:40.892Z | [OTHER] | Attempt 2108: Error rate 59.57% (target: 15%) -2025-09-15T14:20:40.895Z | [OTHER] | Attempt 2109: Error rate 53.41% (target: 15%) -2025-09-15T14:20:40.897Z | [OTHER] | Attempt 2110: Error rate 56.38% (target: 15%) -2025-09-15T14:20:40.900Z | [OTHER] | Attempt 2111: Error rate 48.04% (target: 15%) -2025-09-15T14:20:40.903Z | [OTHER] | Attempt 2112: Error rate 53.97% (target: 15%) -2025-09-15T14:20:40.906Z | [OTHER] | Attempt 2113: Error rate 45.56% (target: 15%) -2025-09-15T14:20:40.908Z | [OTHER] | Attempt 2114: Error rate 47.73% (target: 15%) -2025-09-15T14:20:40.911Z | [OTHER] | Attempt 2115: Error rate 53.03% (target: 15%) -2025-09-15T14:20:40.914Z | [OTHER] | Attempt 2116: Error rate 54.07% (target: 15%) -2025-09-15T14:20:40.918Z | [OTHER] | Attempt 2117: Error rate 43.42% (target: 15%) -2025-09-15T14:20:40.920Z | [OTHER] | Attempt 2118: Error rate 53.7% (target: 15%) -2025-09-15T14:20:40.922Z | [OTHER] | Attempt 2119: Error rate 55.68% (target: 15%) -2025-09-15T14:20:40.925Z | [OTHER] | Attempt 2120: Error rate 50.71% (target: 15%) -2025-09-15T14:20:40.928Z | [OTHER] | Attempt 2121: Error rate 55.3% (target: 15%) -2025-09-15T14:20:40.931Z | [OTHER] | Attempt 2122: Error rate 57.78% (target: 15%) -2025-09-15T14:20:40.933Z | [OTHER] | Attempt 2123: Error rate 53.03% (target: 15%) -2025-09-15T14:20:40.936Z | [OTHER] | Attempt 2124: Error rate 43.94% (target: 15%) -2025-09-15T14:20:40.939Z | [OTHER] | Attempt 2125: Error rate 51.55% (target: 15%) -2025-09-15T14:20:40.941Z | [OTHER] | Attempt 2126: Error rate 44.93% (target: 15%) -2025-09-15T14:20:40.944Z | [OTHER] | Attempt 2127: Error rate 55.44% (target: 15%) -2025-09-15T14:20:40.946Z | [OTHER] | Attempt 2128: Error rate 48.26% (target: 15%) -2025-09-15T14:20:40.949Z | [OTHER] | Attempt 2129: Error rate 51.11% (target: 15%) -2025-09-15T14:20:40.951Z | [OTHER] | Attempt 2130: Error rate 45.63% (target: 15%) -2025-09-15T14:20:40.954Z | [OTHER] | Attempt 2131: Error rate 45% (target: 15%) -2025-09-15T14:20:40.957Z | [OTHER] | Attempt 2132: Error rate 58.91% (target: 15%) -2025-09-15T14:20:40.960Z | [OTHER] | Attempt 2133: Error rate 56.88% (target: 15%) -2025-09-15T14:20:40.963Z | [OTHER] | Attempt 2134: Error rate 58.33% (target: 15%) -2025-09-15T14:20:40.966Z | [OTHER] | Attempt 2135: Error rate 55.93% (target: 15%) -2025-09-15T14:20:40.969Z | [OTHER] | Attempt 2136: Error rate 52.65% (target: 15%) -2025-09-15T14:20:40.972Z | [OTHER] | Attempt 2137: Error rate 52.65% (target: 15%) -2025-09-15T14:20:40.975Z | [OTHER] | Attempt 2138: Error rate 49.65% (target: 15%) -2025-09-15T14:20:40.977Z | [OTHER] | Attempt 2139: Error rate 45.61% (target: 15%) -2025-09-15T14:20:40.980Z | [OTHER] | Attempt 2140: Error rate 54.88% (target: 15%) -2025-09-15T14:20:40.983Z | [OTHER] | Attempt 2141: Error rate 57.94% (target: 15%) -2025-09-15T14:20:40.986Z | [OTHER] | Attempt 2142: Error rate 44.33% (target: 15%) -2025-09-15T14:20:40.989Z | [OTHER] | Attempt 2143: Error rate 57.5% (target: 15%) -2025-09-15T14:20:40.991Z | [OTHER] | Attempt 2144: Error rate 53.26% (target: 15%) -2025-09-15T14:20:40.994Z | [OTHER] | Attempt 2145: Error rate 55.3% (target: 15%) -2025-09-15T14:20:40.997Z | [OTHER] | Attempt 2146: Error rate 52.27% (target: 15%) -2025-09-15T14:20:40.999Z | [OTHER] | Attempt 2147: Error rate 49.62% (target: 15%) -2025-09-15T14:20:41.002Z | [OTHER] | Attempt 2148: Error rate 56.98% (target: 15%) -2025-09-15T14:20:41.005Z | [OTHER] | Attempt 2149: Error rate 57.97% (target: 15%) -2025-09-15T14:20:41.007Z | [OTHER] | Attempt 2150: Error rate 53.42% (target: 15%) -2025-09-15T14:20:41.010Z | [OTHER] | Attempt 2151: Error rate 46.9% (target: 15%) -2025-09-15T14:20:41.012Z | [OTHER] | Attempt 2152: Error rate 60.98% (target: 15%) -2025-09-15T14:20:41.016Z | [OTHER] | Attempt 2153: Error rate 49.28% (target: 15%) -2025-09-15T14:20:41.018Z | [OTHER] | Attempt 2154: Error rate 55.3% (target: 15%) -2025-09-15T14:20:41.022Z | [OTHER] | Attempt 2155: Error rate 54.65% (target: 15%) -2025-09-15T14:20:41.024Z | [OTHER] | Attempt 2156: Error rate 51.48% (target: 15%) -2025-09-15T14:20:41.027Z | [OTHER] | Attempt 2157: Error rate 52.27% (target: 15%) -2025-09-15T14:20:41.029Z | [OTHER] | Attempt 2158: Error rate 51.42% (target: 15%) -2025-09-15T14:20:41.033Z | [OTHER] | Attempt 2159: Error rate 52.59% (target: 15%) -2025-09-15T14:20:41.035Z | [OTHER] | Attempt 2160: Error rate 50.76% (target: 15%) -2025-09-15T14:20:41.038Z | [OTHER] | Attempt 2161: Error rate 52.71% (target: 15%) -2025-09-15T14:20:41.041Z | [OTHER] | Attempt 2162: Error rate 51.81% (target: 15%) -2025-09-15T14:20:41.043Z | [OTHER] | Attempt 2163: Error rate 54.07% (target: 15%) -2025-09-15T14:20:41.046Z | [OTHER] | Attempt 2164: Error rate 47.08% (target: 15%) -2025-09-15T14:20:41.050Z | [OTHER] | Attempt 2165: Error rate 57.61% (target: 15%) -2025-09-15T14:20:41.054Z | [OTHER] | Attempt 2166: Error rate 48.89% (target: 15%) -2025-09-15T14:20:41.056Z | [OTHER] | Attempt 2167: Error rate 58.89% (target: 15%) -2025-09-15T14:20:41.059Z | [OTHER] | Attempt 2168: Error rate 56.67% (target: 15%) -2025-09-15T14:20:41.062Z | [OTHER] | Attempt 2169: Error rate 48.91% (target: 15%) -2025-09-15T14:20:41.065Z | [OTHER] | Attempt 2170: Error rate 54.61% (target: 15%) -2025-09-15T14:20:41.067Z | [OTHER] | Attempt 2171: Error rate 53.55% (target: 15%) -2025-09-15T14:20:41.070Z | [OTHER] | Attempt 2172: Error rate 44.81% (target: 15%) -2025-09-15T14:20:41.073Z | [OTHER] | Attempt 2173: Error rate 47.22% (target: 15%) -2025-09-15T14:20:41.076Z | [OTHER] | Attempt 2174: Error rate 54.76% (target: 15%) -2025-09-15T14:20:41.079Z | [OTHER] | Attempt 2175: Error rate 52.71% (target: 15%) -2025-09-15T14:20:41.081Z | [OTHER] | Attempt 2176: Error rate 50% (target: 15%) -2025-09-15T14:20:41.084Z | [OTHER] | Attempt 2177: Error rate 61.48% (target: 15%) -2025-09-15T14:20:41.086Z | [OTHER] | Attempt 2178: Error rate 52.54% (target: 15%) -2025-09-15T14:20:41.090Z | [OTHER] | Attempt 2179: Error rate 56.75% (target: 15%) -2025-09-15T14:20:41.092Z | [OTHER] | Attempt 2180: Error rate 44.32% (target: 15%) -2025-09-15T14:20:41.095Z | [OTHER] | Attempt 2181: Error rate 56.06% (target: 15%) -2025-09-15T14:20:41.098Z | [OTHER] | Attempt 2182: Error rate 53.13% (target: 15%) -2025-09-15T14:20:41.101Z | [OTHER] | Attempt 2183: Error rate 52.78% (target: 15%) -2025-09-15T14:20:41.104Z | [OTHER] | Attempt 2184: Error rate 58.33% (target: 15%) -2025-09-15T14:20:41.107Z | [OTHER] | Attempt 2185: Error rate 55.04% (target: 15%) -2025-09-15T14:20:41.109Z | [OTHER] | Attempt 2186: Error rate 50.33% (target: 15%) -2025-09-15T14:20:41.112Z | [OTHER] | Attempt 2187: Error rate 47.62% (target: 15%) -2025-09-15T14:20:41.115Z | [OTHER] | Attempt 2188: Error rate 51.71% (target: 15%) -2025-09-15T14:20:41.118Z | [OTHER] | Attempt 2189: Error rate 56.38% (target: 15%) -2025-09-15T14:20:41.120Z | [OTHER] | Attempt 2190: Error rate 49.58% (target: 15%) -2025-09-15T14:20:41.124Z | [OTHER] | Attempt 2191: Error rate 58.7% (target: 15%) -2025-09-15T14:20:41.127Z | [OTHER] | Attempt 2192: Error rate 44.68% (target: 15%) -2025-09-15T14:20:41.130Z | [OTHER] | Attempt 2193: Error rate 54.44% (target: 15%) -2025-09-15T14:20:41.133Z | [OTHER] | Attempt 2194: Error rate 47.83% (target: 15%) -2025-09-15T14:20:41.135Z | [OTHER] | Attempt 2195: Error rate 51.19% (target: 15%) -2025-09-15T14:20:41.138Z | [OTHER] | Attempt 2196: Error rate 50.36% (target: 15%) -2025-09-15T14:20:41.141Z | [OTHER] | Attempt 2197: Error rate 60% (target: 15%) -2025-09-15T14:20:41.144Z | [OTHER] | Attempt 2198: Error rate 56.59% (target: 15%) -2025-09-15T14:20:41.146Z | [OTHER] | Attempt 2199: Error rate 46.97% (target: 15%) -2025-09-15T14:20:41.150Z | [OTHER] | Attempt 2200: Error rate 51.94% (target: 15%) -2025-09-15T14:20:41.152Z | [OTHER] | Attempt 2201: Error rate 54.61% (target: 15%) -2025-09-15T14:20:41.154Z | [OTHER] | Attempt 2202: Error rate 47.97% (target: 15%) -2025-09-15T14:20:41.157Z | [OTHER] | Attempt 2203: Error rate 53.47% (target: 15%) -2025-09-15T14:20:41.160Z | [OTHER] | Attempt 2204: Error rate 51.48% (target: 15%) -2025-09-15T14:20:41.163Z | [OTHER] | Attempt 2205: Error rate 51.06% (target: 15%) -2025-09-15T14:20:41.165Z | [OTHER] | Attempt 2206: Error rate 47.56% (target: 15%) -2025-09-15T14:20:41.168Z | [OTHER] | Attempt 2207: Error rate 47.92% (target: 15%) -2025-09-15T14:20:41.171Z | [OTHER] | Attempt 2208: Error rate 53.17% (target: 15%) -2025-09-15T14:20:41.174Z | [OTHER] | Attempt 2209: Error rate 53.57% (target: 15%) -2025-09-15T14:20:41.176Z | [OTHER] | Attempt 2210: Error rate 50.38% (target: 15%) -2025-09-15T14:20:41.179Z | [OTHER] | Attempt 2211: Error rate 46.26% (target: 15%) -2025-09-15T14:20:41.182Z | [OTHER] | Attempt 2212: Error rate 57.8% (target: 15%) -2025-09-15T14:20:41.185Z | [OTHER] | Attempt 2213: Error rate 55.56% (target: 15%) -2025-09-15T14:20:41.188Z | [OTHER] | Attempt 2214: Error rate 51.14% (target: 15%) -2025-09-15T14:20:41.190Z | [OTHER] | Attempt 2215: Error rate 50.76% (target: 15%) -2025-09-15T14:20:41.193Z | [OTHER] | Attempt 2216: Error rate 57.75% (target: 15%) -2025-09-15T14:20:41.196Z | [OTHER] | Attempt 2217: Error rate 52.71% (target: 15%) -2025-09-15T14:20:41.199Z | [OTHER] | Attempt 2218: Error rate 62.39% (target: 15%) -2025-09-15T14:20:41.202Z | [OTHER] | Attempt 2219: Error rate 55.3% (target: 15%) -2025-09-15T14:20:41.205Z | [OTHER] | Attempt 2220: Error rate 49.17% (target: 15%) -2025-09-15T14:20:41.208Z | [OTHER] | Attempt 2221: Error rate 46.59% (target: 15%) -2025-09-15T14:20:41.211Z | [OTHER] | Attempt 2222: Error rate 44.05% (target: 15%) -2025-09-15T14:20:41.214Z | [OTHER] | Attempt 2223: Error rate 48.15% (target: 15%) -2025-09-15T14:20:41.216Z | [OTHER] | Attempt 2224: Error rate 53.17% (target: 15%) -2025-09-15T14:20:41.219Z | [OTHER] | Attempt 2225: Error rate 58.11% (target: 15%) -2025-09-15T14:20:41.222Z | [OTHER] | Attempt 2226: Error rate 52.67% (target: 15%) -2025-09-15T14:20:41.225Z | [OTHER] | Attempt 2227: Error rate 46.59% (target: 15%) -2025-09-15T14:20:41.228Z | [OTHER] | Attempt 2228: Error rate 56.44% (target: 15%) -2025-09-15T14:20:41.231Z | [OTHER] | Attempt 2229: Error rate 53.49% (target: 15%) -2025-09-15T14:20:41.233Z | [OTHER] | Attempt 2230: Error rate 52.85% (target: 15%) -2025-09-15T14:20:41.236Z | [OTHER] | Attempt 2231: Error rate 52.38% (target: 15%) -2025-09-15T14:20:41.239Z | [OTHER] | Attempt 2232: Error rate 54.17% (target: 15%) -2025-09-15T14:20:41.241Z | [OTHER] | Attempt 2233: Error rate 52.03% (target: 15%) -2025-09-15T14:20:41.244Z | [OTHER] | Attempt 2234: Error rate 52.85% (target: 15%) -2025-09-15T14:20:41.247Z | [OTHER] | Attempt 2235: Error rate 53.88% (target: 15%) -2025-09-15T14:20:41.250Z | [OTHER] | Attempt 2236: Error rate 51.39% (target: 15%) -2025-09-15T14:20:41.253Z | [OTHER] | Attempt 2237: Error rate 55.68% (target: 15%) -2025-09-15T14:20:41.255Z | [OTHER] | Attempt 2238: Error rate 45.58% (target: 15%) -2025-09-15T14:20:41.258Z | [OTHER] | Attempt 2239: Error rate 54.58% (target: 15%) -2025-09-15T14:20:41.261Z | [OTHER] | Attempt 2240: Error rate 56.44% (target: 15%) -2025-09-15T14:20:41.264Z | [OTHER] | Attempt 2241: Error rate 55.56% (target: 15%) -2025-09-15T14:20:41.267Z | [OTHER] | Attempt 2242: Error rate 50.79% (target: 15%) -2025-09-15T14:20:41.269Z | [OTHER] | Attempt 2243: Error rate 50.37% (target: 15%) -2025-09-15T14:20:41.272Z | [OTHER] | Attempt 2244: Error rate 65.89% (target: 15%) -2025-09-15T14:20:41.275Z | [OTHER] | Attempt 2245: Error rate 49.22% (target: 15%) -2025-09-15T14:20:41.278Z | [OTHER] | Attempt 2246: Error rate 56.98% (target: 15%) -2025-09-15T14:20:41.280Z | [OTHER] | Attempt 2247: Error rate 53.7% (target: 15%) -2025-09-15T14:20:41.283Z | [OTHER] | Attempt 2248: Error rate 51.14% (target: 15%) -2025-09-15T14:20:41.286Z | [OTHER] | Attempt 2249: Error rate 52.54% (target: 15%) -2025-09-15T14:20:41.289Z | [OTHER] | Attempt 2250: Error rate 49.61% (target: 15%) -2025-09-15T14:20:41.291Z | [OTHER] | Attempt 2251: Error rate 50% (target: 15%) -2025-09-15T14:20:41.295Z | [OTHER] | Attempt 2252: Error rate 47.78% (target: 15%) -2025-09-15T14:20:41.298Z | [OTHER] | Attempt 2253: Error rate 50.39% (target: 15%) -2025-09-15T14:20:41.304Z | [OTHER] | Attempt 2254: Error rate 57.09% (target: 15%) -2025-09-15T14:20:41.308Z | [OTHER] | Attempt 2255: Error rate 60.85% (target: 15%) -2025-09-15T14:20:41.313Z | [OTHER] | Attempt 2256: Error rate 51.89% (target: 15%) -2025-09-15T14:20:41.316Z | [OTHER] | Attempt 2257: Error rate 51.98% (target: 15%) -2025-09-15T14:20:41.319Z | [OTHER] | Attempt 2258: Error rate 52.38% (target: 15%) -2025-09-15T14:20:41.322Z | [OTHER] | Attempt 2259: Error rate 56.59% (target: 15%) -2025-09-15T14:20:41.325Z | [OTHER] | Attempt 2260: Error rate 51.52% (target: 15%) -2025-09-15T14:20:41.327Z | [OTHER] | Attempt 2261: Error rate 51.98% (target: 15%) -2025-09-15T14:20:41.331Z | [OTHER] | Attempt 2262: Error rate 56.88% (target: 15%) -2025-09-15T14:20:41.334Z | [OTHER] | Attempt 2263: Error rate 55.68% (target: 15%) -2025-09-15T14:20:41.337Z | [OTHER] | Attempt 2264: Error rate 55.68% (target: 15%) -2025-09-15T14:20:41.340Z | [OTHER] | Attempt 2265: Error rate 55.07% (target: 15%) -2025-09-15T14:20:41.343Z | [OTHER] | Attempt 2266: Error rate 54.71% (target: 15%) -2025-09-15T14:20:41.345Z | [OTHER] | Attempt 2267: Error rate 52.78% (target: 15%) -2025-09-15T14:20:41.348Z | [OTHER] | Attempt 2268: Error rate 53.26% (target: 15%) -2025-09-15T14:20:41.352Z | [OTHER] | Attempt 2269: Error rate 51.14% (target: 15%) -2025-09-15T14:20:41.355Z | [OTHER] | Attempt 2270: Error rate 55.8% (target: 15%) -2025-09-15T14:20:41.358Z | [OTHER] | Attempt 2271: Error rate 50.93% (target: 15%) -2025-09-15T14:20:41.361Z | [OTHER] | Attempt 2272: Error rate 54.07% (target: 15%) -2025-09-15T14:20:41.364Z | [OTHER] | Attempt 2273: Error rate 48.91% (target: 15%) -2025-09-15T14:20:41.368Z | [OTHER] | Attempt 2274: Error rate 59.3% (target: 15%) -2025-09-15T14:20:41.371Z | [OTHER] | Attempt 2275: Error rate 51.59% (target: 15%) -2025-09-15T14:20:41.374Z | [OTHER] | Attempt 2276: Error rate 53.51% (target: 15%) -2025-09-15T14:20:41.377Z | [OTHER] | Attempt 2277: Error rate 47.35% (target: 15%) -2025-09-15T14:20:41.380Z | [OTHER] | Attempt 2278: Error rate 55.86% (target: 15%) -2025-09-15T14:20:41.383Z | [OTHER] | Attempt 2279: Error rate 50% (target: 15%) -2025-09-15T14:20:41.385Z | [OTHER] | Attempt 2280: Error rate 50.79% (target: 15%) -2025-09-15T14:20:41.388Z | [OTHER] | Attempt 2281: Error rate 50.36% (target: 15%) -2025-09-15T14:20:41.391Z | [OTHER] | Attempt 2282: Error rate 51.63% (target: 15%) -2025-09-15T14:20:41.394Z | [OTHER] | Attempt 2283: Error rate 50% (target: 15%) -2025-09-15T14:20:41.397Z | [OTHER] | Attempt 2284: Error rate 52.85% (target: 15%) -2025-09-15T14:20:41.400Z | [OTHER] | Attempt 2285: Error rate 56.91% (target: 15%) -2025-09-15T14:20:41.403Z | [OTHER] | Attempt 2286: Error rate 56.88% (target: 15%) -2025-09-15T14:20:41.405Z | [OTHER] | Attempt 2287: Error rate 51.02% (target: 15%) -2025-09-15T14:20:41.408Z | [OTHER] | Attempt 2288: Error rate 55.21% (target: 15%) -2025-09-15T14:20:41.411Z | [OTHER] | Attempt 2289: Error rate 55.56% (target: 15%) -2025-09-15T14:20:41.414Z | [OTHER] | Attempt 2290: Error rate 53.19% (target: 15%) -2025-09-15T14:20:41.417Z | [OTHER] | Attempt 2291: Error rate 55.1% (target: 15%) -2025-09-15T14:20:41.420Z | [OTHER] | Attempt 2292: Error rate 47.86% (target: 15%) -2025-09-15T14:20:41.423Z | [OTHER] | Attempt 2293: Error rate 51.14% (target: 15%) -2025-09-15T14:20:41.426Z | [OTHER] | Attempt 2294: Error rate 52.08% (target: 15%) -2025-09-15T14:20:41.429Z | [OTHER] | Attempt 2295: Error rate 56.44% (target: 15%) -2025-09-15T14:20:41.431Z | [OTHER] | Attempt 2296: Error rate 54.76% (target: 15%) -2025-09-15T14:20:41.434Z | [OTHER] | Attempt 2297: Error rate 47.04% (target: 15%) -2025-09-15T14:20:41.437Z | [OTHER] | Attempt 2298: Error rate 55.07% (target: 15%) -2025-09-15T14:20:41.439Z | [OTHER] | Attempt 2299: Error rate 50.36% (target: 15%) -2025-09-15T14:20:41.442Z | [OTHER] | Attempt 2300: Error rate 51.63% (target: 15%) -2025-09-15T14:20:41.445Z | [OTHER] | Attempt 2301: Error rate 52.85% (target: 15%) -2025-09-15T14:20:41.448Z | [OTHER] | Attempt 2302: Error rate 50.35% (target: 15%) -2025-09-15T14:20:41.451Z | [OTHER] | Attempt 2303: Error rate 56.44% (target: 15%) -2025-09-15T14:20:41.454Z | [OTHER] | Attempt 2304: Error rate 52.38% (target: 15%) -2025-09-15T14:20:41.457Z | [OTHER] | Attempt 2305: Error rate 50.78% (target: 15%) -2025-09-15T14:20:41.461Z | [OTHER] | Attempt 2306: Error rate 58.89% (target: 15%) -2025-09-15T14:20:41.463Z | [OTHER] | Attempt 2307: Error rate 55.13% (target: 15%) -2025-09-15T14:20:41.466Z | [OTHER] | Attempt 2308: Error rate 52.78% (target: 15%) -2025-09-15T14:20:41.469Z | [OTHER] | Attempt 2309: Error rate 48.91% (target: 15%) -2025-09-15T14:20:41.472Z | [OTHER] | Attempt 2310: Error rate 44.96% (target: 15%) -2025-09-15T14:20:41.474Z | [OTHER] | Attempt 2311: Error rate 50.35% (target: 15%) -2025-09-15T14:20:41.478Z | [OTHER] | Attempt 2312: Error rate 56.44% (target: 15%) -2025-09-15T14:20:41.480Z | [OTHER] | Attempt 2313: Error rate 55.81% (target: 15%) -2025-09-15T14:20:41.483Z | [OTHER] | Attempt 2314: Error rate 48.15% (target: 15%) -2025-09-15T14:20:41.486Z | [OTHER] | Attempt 2315: Error rate 57.75% (target: 15%) -2025-09-15T14:20:41.489Z | [OTHER] | Attempt 2316: Error rate 52.03% (target: 15%) -2025-09-15T14:20:41.491Z | [OTHER] | Attempt 2317: Error rate 58.75% (target: 15%) -2025-09-15T14:20:41.494Z | [OTHER] | Attempt 2318: Error rate 50% (target: 15%) -2025-09-15T14:20:41.497Z | [OTHER] | Attempt 2319: Error rate 46.21% (target: 15%) -2025-09-15T14:20:41.500Z | [OTHER] | Attempt 2320: Error rate 58.89% (target: 15%) -2025-09-15T14:20:41.503Z | [OTHER] | Attempt 2321: Error rate 48.52% (target: 15%) -2025-09-15T14:20:41.505Z | [OTHER] | Attempt 2322: Error rate 51.19% (target: 15%) -2025-09-15T14:20:41.508Z | [OTHER] | Attempt 2323: Error rate 48.64% (target: 15%) -2025-09-15T14:20:41.511Z | [OTHER] | Attempt 2324: Error rate 58.33% (target: 15%) -2025-09-15T14:20:41.515Z | [OTHER] | Attempt 2325: Error rate 53.49% (target: 15%) -2025-09-15T14:20:41.517Z | [OTHER] | Attempt 2326: Error rate 51.11% (target: 15%) -2025-09-15T14:20:41.520Z | [OTHER] | Attempt 2327: Error rate 59.85% (target: 15%) -2025-09-15T14:20:41.522Z | [OTHER] | Attempt 2328: Error rate 47.78% (target: 15%) -2025-09-15T14:20:41.525Z | [OTHER] | Attempt 2329: Error rate 59.57% (target: 15%) -2025-09-15T14:20:41.528Z | [OTHER] | Attempt 2330: Error rate 55% (target: 15%) -2025-09-15T14:20:41.531Z | [OTHER] | Attempt 2331: Error rate 50.81% (target: 15%) -2025-09-15T14:20:41.533Z | [OTHER] | Attempt 2332: Error rate 55.93% (target: 15%) -2025-09-15T14:20:41.537Z | [OTHER] | Attempt 2333: Error rate 48.84% (target: 15%) -2025-09-15T14:20:41.539Z | [OTHER] | Attempt 2334: Error rate 55.3% (target: 15%) -2025-09-15T14:20:41.542Z | [OTHER] | Attempt 2335: Error rate 47.29% (target: 15%) -2025-09-15T14:20:41.545Z | [OTHER] | Attempt 2336: Error rate 50.69% (target: 15%) -2025-09-15T14:20:41.548Z | [OTHER] | Attempt 2337: Error rate 54.88% (target: 15%) -2025-09-15T14:20:41.551Z | [OTHER] | Attempt 2338: Error rate 49.22% (target: 15%) -2025-09-15T14:20:41.554Z | [OTHER] | Attempt 2339: Error rate 51.16% (target: 15%) -2025-09-15T14:20:41.557Z | [OTHER] | Attempt 2340: Error rate 43.33% (target: 15%) -2025-09-15T14:20:41.560Z | [OTHER] | Attempt 2341: Error rate 54.37% (target: 15%) -2025-09-15T14:20:41.563Z | [OTHER] | Attempt 2342: Error rate 51.14% (target: 15%) -2025-09-15T14:20:41.567Z | [OTHER] | Attempt 2343: Error rate 49.61% (target: 15%) -2025-09-15T14:20:41.569Z | [OTHER] | Attempt 2344: Error rate 51.67% (target: 15%) -2025-09-15T14:20:41.573Z | [OTHER] | Attempt 2345: Error rate 51.22% (target: 15%) -2025-09-15T14:20:41.576Z | [OTHER] | Attempt 2346: Error rate 46.21% (target: 15%) -2025-09-15T14:20:41.579Z | [OTHER] | Attempt 2347: Error rate 48.06% (target: 15%) -2025-09-15T14:20:41.582Z | [OTHER] | Attempt 2348: Error rate 55.8% (target: 15%) -2025-09-15T14:20:41.585Z | [OTHER] | Attempt 2349: Error rate 53.33% (target: 15%) -2025-09-15T14:20:41.588Z | [OTHER] | Attempt 2350: Error rate 49.26% (target: 15%) -2025-09-15T14:20:41.591Z | [OTHER] | Attempt 2351: Error rate 56.12% (target: 15%) -2025-09-15T14:20:41.594Z | [OTHER] | Attempt 2352: Error rate 49.6% (target: 15%) -2025-09-15T14:20:41.597Z | [OTHER] | Attempt 2353: Error rate 57.2% (target: 15%) -2025-09-15T14:20:41.600Z | [OTHER] | Attempt 2354: Error rate 52.22% (target: 15%) -2025-09-15T14:20:41.602Z | [OTHER] | Attempt 2355: Error rate 51.16% (target: 15%) -2025-09-15T14:20:41.605Z | [OTHER] | Attempt 2356: Error rate 57.78% (target: 15%) -2025-09-15T14:20:41.608Z | [OTHER] | Attempt 2357: Error rate 48.64% (target: 15%) -2025-09-15T14:20:41.611Z | [OTHER] | Attempt 2358: Error rate 48.19% (target: 15%) -2025-09-15T14:20:41.614Z | [OTHER] | Attempt 2359: Error rate 43.97% (target: 15%) -2025-09-15T14:20:41.617Z | [OTHER] | Attempt 2360: Error rate 55.28% (target: 15%) -2025-09-15T14:20:41.619Z | [OTHER] | Attempt 2361: Error rate 56.35% (target: 15%) -2025-09-15T14:20:41.622Z | [OTHER] | Attempt 2362: Error rate 55.19% (target: 15%) -2025-09-15T14:20:41.625Z | [OTHER] | Attempt 2363: Error rate 50.76% (target: 15%) -2025-09-15T14:20:41.628Z | [OTHER] | Attempt 2364: Error rate 56.82% (target: 15%) -2025-09-15T14:20:41.631Z | [OTHER] | Attempt 2365: Error rate 44.72% (target: 15%) -2025-09-15T14:20:41.634Z | [OTHER] | Attempt 2366: Error rate 50.81% (target: 15%) -2025-09-15T14:20:41.638Z | [OTHER] | Attempt 2367: Error rate 58.89% (target: 15%) -2025-09-15T14:20:41.640Z | [OTHER] | Attempt 2368: Error rate 48.91% (target: 15%) -2025-09-15T14:20:41.643Z | [OTHER] | Attempt 2369: Error rate 54.26% (target: 15%) -2025-09-15T14:20:41.646Z | [OTHER] | Attempt 2370: Error rate 55.56% (target: 15%) -2025-09-15T14:20:41.648Z | [OTHER] | Attempt 2371: Error rate 54.44% (target: 15%) -2025-09-15T14:20:41.651Z | [OTHER] | Attempt 2372: Error rate 53.33% (target: 15%) -2025-09-15T14:20:41.654Z | [OTHER] | Attempt 2373: Error rate 48.89% (target: 15%) -2025-09-15T14:20:41.657Z | [OTHER] | Attempt 2374: Error rate 52.33% (target: 15%) -2025-09-15T14:20:41.660Z | [OTHER] | Attempt 2375: Error rate 47.92% (target: 15%) -2025-09-15T14:20:41.663Z | [OTHER] | Attempt 2376: Error rate 47.29% (target: 15%) -2025-09-15T14:20:41.666Z | [OTHER] | Attempt 2377: Error rate 55.56% (target: 15%) -2025-09-15T14:20:41.669Z | [OTHER] | Attempt 2378: Error rate 45.93% (target: 15%) -2025-09-15T14:20:41.672Z | [OTHER] | Attempt 2379: Error rate 57.58% (target: 15%) -2025-09-15T14:20:41.674Z | [OTHER] | Attempt 2380: Error rate 52.14% (target: 15%) -2025-09-15T14:20:41.677Z | [OTHER] | Attempt 2381: Error rate 55.19% (target: 15%) -2025-09-15T14:20:41.680Z | [OTHER] | Attempt 2382: Error rate 44.32% (target: 15%) -2025-09-15T14:20:41.683Z | [OTHER] | Attempt 2383: Error rate 47.73% (target: 15%) -2025-09-15T14:20:41.686Z | [OTHER] | Attempt 2384: Error rate 48.02% (target: 15%) -2025-09-15T14:20:41.689Z | [OTHER] | Attempt 2385: Error rate 48% (target: 15%) -2025-09-15T14:20:41.692Z | [OTHER] | Attempt 2386: Error rate 52.84% (target: 15%) -2025-09-15T14:20:41.694Z | [OTHER] | Attempt 2387: Error rate 43.02% (target: 15%) -2025-09-15T14:20:41.697Z | [OTHER] | Attempt 2388: Error rate 49.64% (target: 15%) -2025-09-15T14:20:41.700Z | [OTHER] | Attempt 2389: Error rate 57.75% (target: 15%) -2025-09-15T14:20:41.703Z | [OTHER] | Attempt 2390: Error rate 51.63% (target: 15%) -2025-09-15T14:20:41.706Z | [OTHER] | Attempt 2391: Error rate 46.3% (target: 15%) -2025-09-15T14:20:41.709Z | [OTHER] | Attempt 2392: Error rate 55.13% (target: 15%) -2025-09-15T14:20:41.712Z | [OTHER] | Attempt 2393: Error rate 46.53% (target: 15%) -2025-09-15T14:20:41.715Z | [OTHER] | Attempt 2394: Error rate 47.67% (target: 15%) -2025-09-15T14:20:41.717Z | [OTHER] | Attempt 2395: Error rate 58.53% (target: 15%) -2025-09-15T14:20:41.720Z | [OTHER] | Attempt 2396: Error rate 56.91% (target: 15%) -2025-09-15T14:20:41.723Z | [OTHER] | Attempt 2397: Error rate 47.1% (target: 15%) -2025-09-15T14:20:41.726Z | [OTHER] | Attempt 2398: Error rate 48.84% (target: 15%) -2025-09-15T14:20:41.729Z | [OTHER] | Attempt 2399: Error rate 52.33% (target: 15%) -2025-09-15T14:20:41.732Z | [OTHER] | Attempt 2400: Error rate 50.88% (target: 15%) -2025-09-15T14:20:41.734Z | [OTHER] | Attempt 2401: Error rate 50.35% (target: 15%) -2025-09-15T14:20:41.737Z | [OTHER] | Attempt 2402: Error rate 48.2% (target: 15%) -2025-09-15T14:20:41.740Z | [OTHER] | Attempt 2403: Error rate 58.75% (target: 15%) -2025-09-15T14:20:41.743Z | [OTHER] | Attempt 2404: Error rate 47.67% (target: 15%) -2025-09-15T14:20:41.745Z | [OTHER] | Attempt 2405: Error rate 48.94% (target: 15%) -2025-09-15T14:20:41.749Z | [OTHER] | Attempt 2406: Error rate 51.67% (target: 15%) -2025-09-15T14:20:41.751Z | [OTHER] | Attempt 2407: Error rate 44.72% (target: 15%) -2025-09-15T14:20:41.754Z | [OTHER] | Attempt 2408: Error rate 57.29% (target: 15%) -2025-09-15T14:20:41.758Z | [OTHER] | Attempt 2409: Error rate 52.48% (target: 15%) -2025-09-15T14:20:41.761Z | [OTHER] | Attempt 2410: Error rate 50.85% (target: 15%) -2025-09-15T14:20:41.763Z | [OTHER] | Attempt 2411: Error rate 50.83% (target: 15%) -2025-09-15T14:20:41.767Z | [OTHER] | Attempt 2412: Error rate 48.91% (target: 15%) -2025-09-15T14:20:41.769Z | [OTHER] | Attempt 2413: Error rate 57.41% (target: 15%) -2025-09-15T14:20:41.772Z | [OTHER] | Attempt 2414: Error rate 47.46% (target: 15%) -2025-09-15T14:20:41.775Z | [OTHER] | Attempt 2415: Error rate 46.74% (target: 15%) -2025-09-15T14:20:41.778Z | [OTHER] | Attempt 2416: Error rate 52.03% (target: 15%) -2025-09-15T14:20:41.781Z | [OTHER] | Attempt 2417: Error rate 54.76% (target: 15%) -2025-09-15T14:20:41.784Z | [OTHER] | Attempt 2418: Error rate 49.61% (target: 15%) -2025-09-15T14:20:41.787Z | [OTHER] | Attempt 2419: Error rate 44.93% (target: 15%) -2025-09-15T14:20:41.790Z | [OTHER] | Attempt 2420: Error rate 43.25% (target: 15%) -2025-09-15T14:20:41.793Z | [OTHER] | Attempt 2421: Error rate 53.03% (target: 15%) -2025-09-15T14:20:41.796Z | [OTHER] | Attempt 2422: Error rate 55.3% (target: 15%) -2025-09-15T14:20:41.800Z | [OTHER] | Attempt 2423: Error rate 53.33% (target: 15%) -2025-09-15T14:20:41.803Z | [OTHER] | Attempt 2424: Error rate 54.96% (target: 15%) -2025-09-15T14:20:41.806Z | [OTHER] | Attempt 2425: Error rate 43.48% (target: 15%) -2025-09-15T14:20:41.808Z | [OTHER] | Attempt 2426: Error rate 46.83% (target: 15%) -2025-09-15T14:20:41.812Z | [OTHER] | Attempt 2427: Error rate 50% (target: 15%) -2025-09-15T14:20:41.814Z | [OTHER] | Attempt 2428: Error rate 58.51% (target: 15%) -2025-09-15T14:20:41.817Z | [OTHER] | Attempt 2429: Error rate 55.83% (target: 15%) -2025-09-15T14:20:41.820Z | [OTHER] | Attempt 2430: Error rate 55.95% (target: 15%) -2025-09-15T14:20:41.823Z | [OTHER] | Attempt 2431: Error rate 49.6% (target: 15%) -2025-09-15T14:20:41.826Z | [OTHER] | Attempt 2432: Error rate 47.35% (target: 15%) -2025-09-15T14:20:41.829Z | [OTHER] | Attempt 2433: Error rate 54.76% (target: 15%) -2025-09-15T14:20:41.832Z | [OTHER] | Attempt 2434: Error rate 53.62% (target: 15%) -2025-09-15T14:20:41.835Z | [OTHER] | Attempt 2435: Error rate 48.58% (target: 15%) -2025-09-15T14:20:41.838Z | [OTHER] | Attempt 2436: Error rate 44.44% (target: 15%) -2025-09-15T14:20:41.841Z | [OTHER] | Attempt 2437: Error rate 57.97% (target: 15%) -2025-09-15T14:20:41.844Z | [OTHER] | Attempt 2438: Error rate 53.99% (target: 15%) -2025-09-15T14:20:41.847Z | [OTHER] | Attempt 2439: Error rate 49.59% (target: 15%) -2025-09-15T14:20:41.849Z | [OTHER] | Attempt 2440: Error rate 57.69% (target: 15%) -2025-09-15T14:20:41.853Z | [OTHER] | Attempt 2441: Error rate 54.37% (target: 15%) -2025-09-15T14:20:41.855Z | [OTHER] | Attempt 2442: Error rate 52.9% (target: 15%) -2025-09-15T14:20:41.859Z | [OTHER] | Attempt 2443: Error rate 53.47% (target: 15%) -2025-09-15T14:20:41.861Z | [OTHER] | Attempt 2444: Error rate 43.18% (target: 15%) -2025-09-15T14:20:41.864Z | [OTHER] | Attempt 2445: Error rate 55.42% (target: 15%) -2025-09-15T14:20:41.867Z | [OTHER] | Attempt 2446: Error rate 56.67% (target: 15%) -2025-09-15T14:20:41.870Z | [OTHER] | Attempt 2447: Error rate 54.26% (target: 15%) -2025-09-15T14:20:41.873Z | [OTHER] | Attempt 2448: Error rate 52.08% (target: 15%) -2025-09-15T14:20:41.875Z | [OTHER] | Attempt 2449: Error rate 58.71% (target: 15%) -2025-09-15T14:20:41.879Z | [OTHER] | Attempt 2450: Error rate 54.44% (target: 15%) -2025-09-15T14:20:41.881Z | [OTHER] | Attempt 2451: Error rate 54% (target: 15%) -2025-09-15T14:20:41.884Z | [OTHER] | Attempt 2452: Error rate 46.12% (target: 15%) -2025-09-15T14:20:41.887Z | [OTHER] | Attempt 2453: Error rate 59.69% (target: 15%) -2025-09-15T14:20:41.890Z | [OTHER] | Attempt 2454: Error rate 51.75% (target: 15%) -2025-09-15T14:20:41.893Z | [OTHER] | Attempt 2455: Error rate 50% (target: 15%) -2025-09-15T14:20:41.896Z | [OTHER] | Attempt 2456: Error rate 48.37% (target: 15%) -2025-09-15T14:20:41.899Z | [OTHER] | Attempt 2457: Error rate 49.24% (target: 15%) -2025-09-15T14:20:41.902Z | [OTHER] | Attempt 2458: Error rate 49.63% (target: 15%) -2025-09-15T14:20:41.905Z | [OTHER] | Attempt 2459: Error rate 54.17% (target: 15%) -2025-09-15T14:20:41.908Z | [OTHER] | Attempt 2460: Error rate 47.83% (target: 15%) -2025-09-15T14:20:41.911Z | [OTHER] | Attempt 2461: Error rate 53.1% (target: 15%) -2025-09-15T14:20:41.914Z | [OTHER] | Attempt 2462: Error rate 54.96% (target: 15%) -2025-09-15T14:20:41.916Z | [OTHER] | Attempt 2463: Error rate 45.83% (target: 15%) -2025-09-15T14:20:41.919Z | [OTHER] | Attempt 2464: Error rate 54.07% (target: 15%) -2025-09-15T14:20:41.922Z | [OTHER] | Attempt 2465: Error rate 46.34% (target: 15%) -2025-09-15T14:20:41.925Z | [OTHER] | Attempt 2466: Error rate 59.33% (target: 15%) -2025-09-15T14:20:41.928Z | [OTHER] | Attempt 2467: Error rate 47.62% (target: 15%) -2025-09-15T14:20:41.931Z | [OTHER] | Attempt 2468: Error rate 57.78% (target: 15%) -2025-09-15T14:20:41.934Z | [OTHER] | Attempt 2469: Error rate 56.46% (target: 15%) -2025-09-15T14:20:41.937Z | [OTHER] | Attempt 2470: Error rate 50.85% (target: 15%) -2025-09-15T14:20:41.940Z | [OTHER] | Attempt 2471: Error rate 49.29% (target: 15%) -2025-09-15T14:20:41.944Z | [OTHER] | Attempt 2472: Error rate 52.44% (target: 15%) -2025-09-15T14:20:41.946Z | [OTHER] | Attempt 2473: Error rate 50.41% (target: 15%) -2025-09-15T14:20:41.949Z | [OTHER] | Attempt 2474: Error rate 55.83% (target: 15%) -2025-09-15T14:20:41.952Z | [OTHER] | Attempt 2475: Error rate 45.04% (target: 15%) -2025-09-15T14:20:41.955Z | [OTHER] | Attempt 2476: Error rate 54.7% (target: 15%) -2025-09-15T14:20:41.958Z | [OTHER] | Attempt 2477: Error rate 52.71% (target: 15%) -2025-09-15T14:20:41.961Z | [OTHER] | Attempt 2478: Error rate 40.54% (target: 15%) -2025-09-15T14:20:41.964Z | [OTHER] | Attempt 2479: Error rate 42.36% (target: 15%) -2025-09-15T14:20:41.967Z | [OTHER] | Attempt 2480: Error rate 58.67% (target: 15%) -2025-09-15T14:20:41.970Z | [OTHER] | Attempt 2481: Error rate 55.68% (target: 15%) -2025-09-15T14:20:41.974Z | [OTHER] | Attempt 2482: Error rate 52.5% (target: 15%) -2025-09-15T14:20:41.977Z | [OTHER] | Attempt 2483: Error rate 61.48% (target: 15%) -2025-09-15T14:20:41.980Z | [OTHER] | Attempt 2484: Error rate 47.46% (target: 15%) -2025-09-15T14:20:41.982Z | [OTHER] | Attempt 2485: Error rate 46.21% (target: 15%) -2025-09-15T14:20:41.985Z | [OTHER] | Attempt 2486: Error rate 52.33% (target: 15%) -2025-09-15T14:20:41.989Z | [OTHER] | Attempt 2487: Error rate 51.94% (target: 15%) -2025-09-15T14:20:41.992Z | [OTHER] | Attempt 2488: Error rate 50% (target: 15%) -2025-09-15T14:20:41.994Z | [OTHER] | Attempt 2489: Error rate 49.58% (target: 15%) -2025-09-15T14:20:41.998Z | [OTHER] | Attempt 2490: Error rate 55.19% (target: 15%) -2025-09-15T14:20:42.000Z | [OTHER] | Attempt 2491: Error rate 59.21% (target: 15%) -2025-09-15T14:20:42.005Z | [OTHER] | Attempt 2492: Error rate 47.78% (target: 15%) -2025-09-15T14:20:42.006Z | [OTHER] | Attempt 2493: Error rate 53.25% (target: 15%) -2025-09-15T14:20:42.010Z | [OTHER] | Attempt 2494: Error rate 55.21% (target: 15%) -2025-09-15T14:20:42.013Z | [OTHER] | Attempt 2495: Error rate 49.28% (target: 15%) -2025-09-15T14:20:42.015Z | [OTHER] | Attempt 2496: Error rate 54.26% (target: 15%) -2025-09-15T14:20:42.018Z | [OTHER] | Attempt 2497: Error rate 50.38% (target: 15%) -2025-09-15T14:20:42.021Z | [OTHER] | Attempt 2498: Error rate 48.84% (target: 15%) -2025-09-15T14:20:42.024Z | [OTHER] | Attempt 2499: Error rate 48.11% (target: 15%) -2025-09-15T14:20:42.027Z | [OTHER] | Attempt 2500: Error rate 53.03% (target: 15%) -2025-09-15T14:20:42.030Z | [OTHER] | Attempt 2501: Error rate 53.88% (target: 15%) -2025-09-15T14:20:42.033Z | [OTHER] | Attempt 2502: Error rate 54.76% (target: 15%) -2025-09-15T14:20:42.036Z | [OTHER] | Attempt 2503: Error rate 54.27% (target: 15%) -2025-09-15T14:20:42.039Z | [OTHER] | Attempt 2504: Error rate 48.58% (target: 15%) -2025-09-15T14:20:42.042Z | [OTHER] | Attempt 2505: Error rate 52.78% (target: 15%) -2025-09-15T14:20:42.045Z | [OTHER] | Attempt 2506: Error rate 52.56% (target: 15%) -2025-09-15T14:20:42.048Z | [OTHER] | Attempt 2507: Error rate 46.3% (target: 15%) -2025-09-15T14:20:42.051Z | [OTHER] | Attempt 2508: Error rate 55.16% (target: 15%) -2025-09-15T14:20:42.054Z | [OTHER] | Attempt 2509: Error rate 55.04% (target: 15%) -2025-09-15T14:20:42.057Z | [OTHER] | Attempt 2510: Error rate 50% (target: 15%) -2025-09-15T14:20:42.060Z | [OTHER] | Attempt 2511: Error rate 53.47% (target: 15%) -2025-09-15T14:20:42.063Z | [OTHER] | Attempt 2512: Error rate 58.73% (target: 15%) -2025-09-15T14:20:42.066Z | [OTHER] | Attempt 2513: Error rate 55.04% (target: 15%) -2025-09-15T14:20:42.069Z | [OTHER] | Attempt 2514: Error rate 46.01% (target: 15%) -2025-09-15T14:20:42.072Z | [OTHER] | Attempt 2515: Error rate 53.33% (target: 15%) -2025-09-15T14:20:42.075Z | [OTHER] | Attempt 2516: Error rate 50.78% (target: 15%) -2025-09-15T14:20:42.078Z | [OTHER] | Attempt 2517: Error rate 49.65% (target: 15%) -2025-09-15T14:20:42.081Z | [OTHER] | Attempt 2518: Error rate 54.86% (target: 15%) -2025-09-15T14:20:42.085Z | [OTHER] | Attempt 2519: Error rate 59.78% (target: 15%) -2025-09-15T14:20:42.088Z | [OTHER] | Attempt 2520: Error rate 54.26% (target: 15%) -2025-09-15T14:20:42.091Z | [OTHER] | Attempt 2521: Error rate 51.25% (target: 15%) -2025-09-15T14:20:42.094Z | [OTHER] | Attempt 2522: Error rate 53.19% (target: 15%) -2025-09-15T14:20:42.097Z | [OTHER] | Attempt 2523: Error rate 53.97% (target: 15%) -2025-09-15T14:20:42.100Z | [OTHER] | Attempt 2524: Error rate 50.69% (target: 15%) -2025-09-15T14:20:42.103Z | [OTHER] | Attempt 2525: Error rate 53.97% (target: 15%) -2025-09-15T14:20:42.106Z | [OTHER] | Attempt 2526: Error rate 51.42% (target: 15%) -2025-09-15T14:20:42.109Z | [OTHER] | Attempt 2527: Error rate 50.37% (target: 15%) -2025-09-15T14:20:42.112Z | [OTHER] | Attempt 2528: Error rate 54.08% (target: 15%) -2025-09-15T14:20:42.115Z | [OTHER] | Attempt 2529: Error rate 58.73% (target: 15%) -2025-09-15T14:20:42.118Z | [OTHER] | Attempt 2530: Error rate 52.19% (target: 15%) -2025-09-15T14:20:42.121Z | [OTHER] | Attempt 2531: Error rate 53.97% (target: 15%) -2025-09-15T14:20:42.124Z | [OTHER] | Attempt 2532: Error rate 51.85% (target: 15%) -2025-09-15T14:20:42.127Z | [OTHER] | Attempt 2533: Error rate 52.9% (target: 15%) -2025-09-15T14:20:42.131Z | [OTHER] | Attempt 2534: Error rate 56.98% (target: 15%) -2025-09-15T14:20:42.134Z | [OTHER] | Attempt 2535: Error rate 48.45% (target: 15%) -2025-09-15T14:20:42.137Z | [OTHER] | Attempt 2536: Error rate 49.6% (target: 15%) -2025-09-15T14:20:42.140Z | [OTHER] | Attempt 2537: Error rate 62.15% (target: 15%) -2025-09-15T14:20:42.144Z | [OTHER] | Attempt 2538: Error rate 48.11% (target: 15%) -2025-09-15T14:20:42.147Z | [OTHER] | Attempt 2539: Error rate 51.48% (target: 15%) -2025-09-15T14:20:42.150Z | [OTHER] | Attempt 2540: Error rate 51.52% (target: 15%) -2025-09-15T14:20:42.153Z | [OTHER] | Attempt 2541: Error rate 45.18% (target: 15%) -2025-09-15T14:20:42.157Z | [OTHER] | Attempt 2542: Error rate 50% (target: 15%) -2025-09-15T14:20:42.160Z | [OTHER] | Attempt 2543: Error rate 48.61% (target: 15%) -2025-09-15T14:20:42.163Z | [OTHER] | Attempt 2544: Error rate 47.67% (target: 15%) -2025-09-15T14:20:42.166Z | [OTHER] | Attempt 2545: Error rate 53.49% (target: 15%) -2025-09-15T14:20:42.169Z | [OTHER] | Attempt 2546: Error rate 56.06% (target: 15%) -2025-09-15T14:20:42.173Z | [OTHER] | Attempt 2547: Error rate 54.35% (target: 15%) -2025-09-15T14:20:42.176Z | [OTHER] | Attempt 2548: Error rate 59.38% (target: 15%) -2025-09-15T14:20:42.179Z | [OTHER] | Attempt 2549: Error rate 48.48% (target: 15%) -2025-09-15T14:20:42.182Z | [OTHER] | Attempt 2550: Error rate 51.11% (target: 15%) -2025-09-15T14:20:42.185Z | [OTHER] | Attempt 2551: Error rate 54.17% (target: 15%) -2025-09-15T14:20:42.188Z | [OTHER] | Attempt 2552: Error rate 55.43% (target: 15%) -2025-09-15T14:20:42.191Z | [OTHER] | Attempt 2553: Error rate 47.29% (target: 15%) -2025-09-15T14:20:42.194Z | [OTHER] | Attempt 2554: Error rate 54.17% (target: 15%) -2025-09-15T14:20:42.197Z | [OTHER] | Attempt 2555: Error rate 49.6% (target: 15%) -2025-09-15T14:20:42.200Z | [OTHER] | Attempt 2556: Error rate 54.88% (target: 15%) -2025-09-15T14:20:42.203Z | [OTHER] | Attempt 2557: Error rate 53.49% (target: 15%) -2025-09-15T14:20:42.206Z | [OTHER] | Attempt 2558: Error rate 56.67% (target: 15%) -2025-09-15T14:20:42.209Z | [OTHER] | Attempt 2559: Error rate 59.83% (target: 15%) -2025-09-15T14:20:42.212Z | [OTHER] | Attempt 2560: Error rate 48.02% (target: 15%) -2025-09-15T14:20:42.215Z | [OTHER] | Attempt 2561: Error rate 55.95% (target: 15%) -2025-09-15T14:20:42.218Z | [OTHER] | Attempt 2562: Error rate 57.78% (target: 15%) -2025-09-15T14:20:42.222Z | [OTHER] | Attempt 2563: Error rate 59.52% (target: 15%) -2025-09-15T14:20:42.225Z | [OTHER] | Attempt 2564: Error rate 54.61% (target: 15%) -2025-09-15T14:20:42.228Z | [OTHER] | Attempt 2565: Error rate 56.98% (target: 15%) -2025-09-15T14:20:42.231Z | [OTHER] | Attempt 2566: Error rate 51.89% (target: 15%) -2025-09-15T14:20:42.234Z | [OTHER] | Attempt 2567: Error rate 55.28% (target: 15%) -2025-09-15T14:20:42.236Z | [OTHER] | Attempt 2568: Error rate 52.54% (target: 15%) -2025-09-15T14:20:42.240Z | [OTHER] | Attempt 2569: Error rate 52.65% (target: 15%) -2025-09-15T14:20:42.243Z | [OTHER] | Attempt 2570: Error rate 58.52% (target: 15%) -2025-09-15T14:20:42.246Z | [OTHER] | Attempt 2571: Error rate 55.07% (target: 15%) -2025-09-15T14:20:42.249Z | [OTHER] | Attempt 2572: Error rate 41.87% (target: 15%) -2025-09-15T14:20:42.252Z | [OTHER] | Attempt 2573: Error rate 57.97% (target: 15%) -2025-09-15T14:20:42.255Z | [OTHER] | Attempt 2574: Error rate 50% (target: 15%) -2025-09-15T14:20:42.258Z | [OTHER] | Attempt 2575: Error rate 52.84% (target: 15%) -2025-09-15T14:20:42.262Z | [OTHER] | Attempt 2576: Error rate 53.41% (target: 15%) -2025-09-15T14:20:42.264Z | [OTHER] | Attempt 2577: Error rate 58.33% (target: 15%) -2025-09-15T14:20:42.267Z | [OTHER] | Attempt 2578: Error rate 58.91% (target: 15%) -2025-09-15T14:20:42.270Z | [OTHER] | Attempt 2579: Error rate 58.75% (target: 15%) -2025-09-15T14:20:42.273Z | [OTHER] | Attempt 2580: Error rate 54.55% (target: 15%) -2025-09-15T14:20:42.276Z | [OTHER] | Attempt 2581: Error rate 55.81% (target: 15%) -2025-09-15T14:20:42.279Z | [OTHER] | Attempt 2582: Error rate 52.13% (target: 15%) -2025-09-15T14:20:42.282Z | [OTHER] | Attempt 2583: Error rate 51.55% (target: 15%) -2025-09-15T14:20:42.285Z | [OTHER] | Attempt 2584: Error rate 54.07% (target: 15%) -2025-09-15T14:20:42.288Z | [OTHER] | Attempt 2585: Error rate 48.52% (target: 15%) -2025-09-15T14:20:42.291Z | [OTHER] | Attempt 2586: Error rate 53.7% (target: 15%) -2025-09-15T14:20:42.294Z | [OTHER] | Attempt 2587: Error rate 58.53% (target: 15%) -2025-09-15T14:20:42.297Z | [OTHER] | Attempt 2588: Error rate 43.56% (target: 15%) -2025-09-15T14:20:42.301Z | [OTHER] | Attempt 2589: Error rate 48.89% (target: 15%) -2025-09-15T14:20:42.304Z | [OTHER] | Attempt 2590: Error rate 51.42% (target: 15%) -2025-09-15T14:20:42.307Z | [OTHER] | Attempt 2591: Error rate 55.3% (target: 15%) -2025-09-15T14:20:42.310Z | [OTHER] | Attempt 2592: Error rate 56.75% (target: 15%) -2025-09-15T14:20:42.314Z | [OTHER] | Attempt 2593: Error rate 50.81% (target: 15%) -2025-09-15T14:20:42.317Z | [OTHER] | Attempt 2594: Error rate 53.62% (target: 15%) -2025-09-15T14:20:42.320Z | [OTHER] | Attempt 2595: Error rate 52.59% (target: 15%) -2025-09-15T14:20:42.323Z | [OTHER] | Attempt 2596: Error rate 56.91% (target: 15%) -2025-09-15T14:20:42.326Z | [OTHER] | Attempt 2597: Error rate 51.81% (target: 15%) -2025-09-15T14:20:42.329Z | [OTHER] | Attempt 2598: Error rate 49.26% (target: 15%) -2025-09-15T14:20:42.333Z | [OTHER] | Attempt 2599: Error rate 51.16% (target: 15%) -2025-09-15T14:20:42.336Z | [OTHER] | Attempt 2600: Error rate 57.2% (target: 15%) -2025-09-15T14:20:42.339Z | [OTHER] | Attempt 2601: Error rate 53.9% (target: 15%) -2025-09-15T14:20:42.342Z | [OTHER] | Attempt 2602: Error rate 50.74% (target: 15%) -2025-09-15T14:20:42.345Z | [OTHER] | Attempt 2603: Error rate 52.08% (target: 15%) -2025-09-15T14:20:42.348Z | [OTHER] | Attempt 2604: Error rate 42.31% (target: 15%) -2025-09-15T14:20:42.351Z | [OTHER] | Attempt 2605: Error rate 54.07% (target: 15%) -2025-09-15T14:20:42.354Z | [OTHER] | Attempt 2606: Error rate 47.15% (target: 15%) -2025-09-15T14:20:42.357Z | [OTHER] | Attempt 2607: Error rate 52.44% (target: 15%) -2025-09-15T14:20:42.360Z | [OTHER] | Attempt 2608: Error rate 51.16% (target: 15%) -2025-09-15T14:20:42.363Z | [OTHER] | Attempt 2609: Error rate 52.54% (target: 15%) -2025-09-15T14:20:42.366Z | [OTHER] | Attempt 2610: Error rate 52.04% (target: 15%) -2025-09-15T14:20:42.369Z | [OTHER] | Attempt 2611: Error rate 50% (target: 15%) -2025-09-15T14:20:42.372Z | [OTHER] | Attempt 2612: Error rate 56% (target: 15%) -2025-09-15T14:20:42.375Z | [OTHER] | Attempt 2613: Error rate 59.92% (target: 15%) -2025-09-15T14:20:42.378Z | [OTHER] | Attempt 2614: Error rate 50.4% (target: 15%) -2025-09-15T14:20:42.381Z | [OTHER] | Attempt 2615: Error rate 53.1% (target: 15%) -2025-09-15T14:20:42.385Z | [OTHER] | Attempt 2616: Error rate 57.04% (target: 15%) -2025-09-15T14:20:42.389Z | [OTHER] | Attempt 2617: Error rate 49.64% (target: 15%) -2025-09-15T14:20:42.391Z | [OTHER] | Attempt 2618: Error rate 53.07% (target: 15%) -2025-09-15T14:20:42.394Z | [OTHER] | Attempt 2619: Error rate 50% (target: 15%) -2025-09-15T14:20:42.398Z | [OTHER] | Attempt 2620: Error rate 52.85% (target: 15%) -2025-09-15T14:20:42.401Z | [OTHER] | Attempt 2621: Error rate 55.56% (target: 15%) -2025-09-15T14:20:42.404Z | [OTHER] | Attempt 2622: Error rate 56.52% (target: 15%) -2025-09-15T14:20:42.407Z | [OTHER] | Attempt 2623: Error rate 47.46% (target: 15%) -2025-09-15T14:20:42.410Z | [OTHER] | Attempt 2624: Error rate 62.4% (target: 15%) -2025-09-15T14:20:42.413Z | [OTHER] | Attempt 2625: Error rate 53.42% (target: 15%) -2025-09-15T14:20:42.417Z | [OTHER] | Attempt 2626: Error rate 55.67% (target: 15%) -2025-09-15T14:20:42.420Z | [OTHER] | Attempt 2627: Error rate 50.85% (target: 15%) -2025-09-15T14:20:42.423Z | [OTHER] | Attempt 2628: Error rate 59.17% (target: 15%) -2025-09-15T14:20:42.426Z | [OTHER] | Attempt 2629: Error rate 51.98% (target: 15%) -2025-09-15T14:20:42.429Z | [OTHER] | Attempt 2630: Error rate 51.39% (target: 15%) -2025-09-15T14:20:42.432Z | [OTHER] | Attempt 2631: Error rate 53.03% (target: 15%) -2025-09-15T14:20:42.435Z | [OTHER] | Attempt 2632: Error rate 53.82% (target: 15%) -2025-09-15T14:20:42.438Z | [OTHER] | Attempt 2633: Error rate 55.19% (target: 15%) -2025-09-15T14:20:42.442Z | [OTHER] | Attempt 2634: Error rate 45.08% (target: 15%) -2025-09-15T14:20:42.445Z | [OTHER] | Attempt 2635: Error rate 45.45% (target: 15%) -2025-09-15T14:20:42.448Z | [OTHER] | Attempt 2636: Error rate 57.2% (target: 15%) -2025-09-15T14:20:42.451Z | [OTHER] | Attempt 2637: Error rate 53.26% (target: 15%) -2025-09-15T14:20:42.454Z | [OTHER] | Attempt 2638: Error rate 50.81% (target: 15%) -2025-09-15T14:20:42.457Z | [OTHER] | Attempt 2639: Error rate 58.53% (target: 15%) -2025-09-15T14:20:42.460Z | [OTHER] | Attempt 2640: Error rate 56.67% (target: 15%) -2025-09-15T14:20:42.463Z | [OTHER] | Attempt 2641: Error rate 55.68% (target: 15%) -2025-09-15T14:20:42.467Z | [OTHER] | Attempt 2642: Error rate 50.4% (target: 15%) -2025-09-15T14:20:42.472Z | [OTHER] | Attempt 2643: Error rate 50.78% (target: 15%) -2025-09-15T14:20:42.476Z | [OTHER] | Attempt 2644: Error rate 50.69% (target: 15%) -2025-09-15T14:20:42.479Z | [OTHER] | Attempt 2645: Error rate 57.09% (target: 15%) -2025-09-15T14:20:42.482Z | [OTHER] | Attempt 2646: Error rate 58.33% (target: 15%) -2025-09-15T14:20:42.486Z | [OTHER] | Attempt 2647: Error rate 46.38% (target: 15%) -2025-09-15T14:20:42.489Z | [OTHER] | Attempt 2648: Error rate 52.84% (target: 15%) -2025-09-15T14:20:42.492Z | [OTHER] | Attempt 2649: Error rate 47.04% (target: 15%) -2025-09-15T14:20:42.496Z | [OTHER] | Attempt 2650: Error rate 42.42% (target: 15%) -2025-09-15T14:20:42.499Z | [OTHER] | Attempt 2651: Error rate 48.3% (target: 15%) -2025-09-15T14:20:42.503Z | [OTHER] | Attempt 2652: Error rate 53.97% (target: 15%) -2025-09-15T14:20:42.506Z | [OTHER] | Attempt 2653: Error rate 52.38% (target: 15%) -2025-09-15T14:20:42.509Z | [OTHER] | Attempt 2654: Error rate 49.64% (target: 15%) -2025-09-15T14:20:42.512Z | [OTHER] | Attempt 2655: Error rate 48.78% (target: 15%) -2025-09-15T14:20:42.515Z | [OTHER] | Attempt 2656: Error rate 56.52% (target: 15%) -2025-09-15T14:20:42.519Z | [OTHER] | Attempt 2657: Error rate 49.58% (target: 15%) -2025-09-15T14:20:42.522Z | [OTHER] | Attempt 2658: Error rate 46.43% (target: 15%) -2025-09-15T14:20:42.526Z | [OTHER] | Attempt 2659: Error rate 51.85% (target: 15%) -2025-09-15T14:20:42.528Z | [OTHER] | Attempt 2660: Error rate 53.88% (target: 15%) -2025-09-15T14:20:42.531Z | [OTHER] | Attempt 2661: Error rate 53.03% (target: 15%) -2025-09-15T14:20:42.534Z | [OTHER] | Attempt 2662: Error rate 50.39% (target: 15%) -2025-09-15T14:20:42.537Z | [OTHER] | Attempt 2663: Error rate 49.63% (target: 15%) -2025-09-15T14:20:42.540Z | [OTHER] | Attempt 2664: Error rate 54.35% (target: 15%) -2025-09-15T14:20:42.544Z | [OTHER] | Attempt 2665: Error rate 55.3% (target: 15%) -2025-09-15T14:20:42.547Z | [OTHER] | Attempt 2666: Error rate 50.37% (target: 15%) -2025-09-15T14:20:42.550Z | [OTHER] | Attempt 2667: Error rate 51.28% (target: 15%) -2025-09-15T14:20:42.555Z | [OTHER] | Attempt 2668: Error rate 47.81% (target: 15%) -2025-09-15T14:20:42.558Z | [OTHER] | Attempt 2669: Error rate 45.65% (target: 15%) -2025-09-15T14:20:42.561Z | [OTHER] | Attempt 2670: Error rate 53.49% (target: 15%) -2025-09-15T14:20:42.564Z | [OTHER] | Attempt 2671: Error rate 52.5% (target: 15%) -2025-09-15T14:20:42.568Z | [OTHER] | Attempt 2672: Error rate 53.41% (target: 15%) -2025-09-15T14:20:42.571Z | [OTHER] | Attempt 2673: Error rate 53.7% (target: 15%) -2025-09-15T14:20:42.574Z | [OTHER] | Attempt 2674: Error rate 47.41% (target: 15%) -2025-09-15T14:20:42.577Z | [OTHER] | Attempt 2675: Error rate 58.75% (target: 15%) -2025-09-15T14:20:42.581Z | [OTHER] | Attempt 2676: Error rate 50.81% (target: 15%) -2025-09-15T14:20:42.584Z | [OTHER] | Attempt 2677: Error rate 47.1% (target: 15%) -2025-09-15T14:20:42.587Z | [OTHER] | Attempt 2678: Error rate 48.15% (target: 15%) -2025-09-15T14:20:42.590Z | [OTHER] | Attempt 2679: Error rate 48.61% (target: 15%) -2025-09-15T14:20:42.594Z | [OTHER] | Attempt 2680: Error rate 48.23% (target: 15%) -2025-09-15T14:20:42.598Z | [OTHER] | Attempt 2681: Error rate 48.29% (target: 15%) -2025-09-15T14:20:42.601Z | [OTHER] | Attempt 2682: Error rate 46.97% (target: 15%) -2025-09-15T14:20:42.604Z | [OTHER] | Attempt 2683: Error rate 45.56% (target: 15%) -2025-09-15T14:20:42.607Z | [OTHER] | Attempt 2684: Error rate 45.56% (target: 15%) -2025-09-15T14:20:42.611Z | [OTHER] | Attempt 2685: Error rate 53.19% (target: 15%) -2025-09-15T14:20:42.614Z | [OTHER] | Attempt 2686: Error rate 53.75% (target: 15%) -2025-09-15T14:20:42.617Z | [OTHER] | Attempt 2687: Error rate 52.71% (target: 15%) -2025-09-15T14:20:42.621Z | [OTHER] | Attempt 2688: Error rate 53.7% (target: 15%) -2025-09-15T14:20:42.624Z | [OTHER] | Attempt 2689: Error rate 49.21% (target: 15%) -2025-09-15T14:20:42.627Z | [OTHER] | Attempt 2690: Error rate 50.4% (target: 15%) -2025-09-15T14:20:42.631Z | [OTHER] | Attempt 2691: Error rate 50% (target: 15%) -2025-09-15T14:20:42.634Z | [OTHER] | Attempt 2692: Error rate 57.36% (target: 15%) -2025-09-15T14:20:42.637Z | [OTHER] | Attempt 2693: Error rate 51.52% (target: 15%) -2025-09-15T14:20:42.640Z | [OTHER] | Attempt 2694: Error rate 50.83% (target: 15%) -2025-09-15T14:20:42.643Z | [OTHER] | Attempt 2695: Error rate 53.41% (target: 15%) -2025-09-15T14:20:42.646Z | [OTHER] | Attempt 2696: Error rate 53.95% (target: 15%) -2025-09-15T14:20:42.649Z | [OTHER] | Attempt 2697: Error rate 50.42% (target: 15%) -2025-09-15T14:20:42.652Z | [OTHER] | Attempt 2698: Error rate 54.96% (target: 15%) -2025-09-15T14:20:42.655Z | [OTHER] | Attempt 2699: Error rate 42.06% (target: 15%) -2025-09-15T14:20:42.658Z | [OTHER] | Attempt 2700: Error rate 52.13% (target: 15%) -2025-09-15T14:20:42.662Z | [OTHER] | Attempt 2701: Error rate 48.52% (target: 15%) -2025-09-15T14:20:42.665Z | [OTHER] | Attempt 2702: Error rate 54.96% (target: 15%) -2025-09-15T14:20:42.668Z | [OTHER] | Attempt 2703: Error rate 52.65% (target: 15%) -2025-09-15T14:20:42.672Z | [OTHER] | Attempt 2704: Error rate 57.36% (target: 15%) -2025-09-15T14:20:42.675Z | [OTHER] | Attempt 2705: Error rate 59.57% (target: 15%) -2025-09-15T14:20:42.678Z | [OTHER] | Attempt 2706: Error rate 58.91% (target: 15%) -2025-09-15T14:20:42.681Z | [OTHER] | Attempt 2707: Error rate 47.22% (target: 15%) -2025-09-15T14:20:42.684Z | [OTHER] | Attempt 2708: Error rate 55.43% (target: 15%) -2025-09-15T14:20:42.687Z | [OTHER] | Attempt 2709: Error rate 47.16% (target: 15%) -2025-09-15T14:20:42.690Z | [OTHER] | Attempt 2710: Error rate 48.41% (target: 15%) -2025-09-15T14:20:42.694Z | [OTHER] | Attempt 2711: Error rate 47.44% (target: 15%) -2025-09-15T14:20:42.697Z | [OTHER] | Attempt 2712: Error rate 60% (target: 15%) -2025-09-15T14:20:42.700Z | [OTHER] | Attempt 2713: Error rate 50.76% (target: 15%) -2025-09-15T14:20:42.703Z | [OTHER] | Attempt 2714: Error rate 48.86% (target: 15%) -2025-09-15T14:20:42.707Z | [OTHER] | Attempt 2715: Error rate 58.52% (target: 15%) -2025-09-15T14:20:42.710Z | [OTHER] | Attempt 2716: Error rate 56.2% (target: 15%) -2025-09-15T14:20:42.713Z | [OTHER] | Attempt 2717: Error rate 46.59% (target: 15%) -2025-09-15T14:20:42.716Z | [OTHER] | Attempt 2718: Error rate 52.5% (target: 15%) -2025-09-15T14:20:42.721Z | [OTHER] | Attempt 2719: Error rate 50.37% (target: 15%) -2025-09-15T14:20:42.724Z | [OTHER] | Attempt 2720: Error rate 54.17% (target: 15%) -2025-09-15T14:20:42.728Z | [OTHER] | Attempt 2721: Error rate 54.86% (target: 15%) -2025-09-15T14:20:42.731Z | [OTHER] | Attempt 2722: Error rate 50% (target: 15%) -2025-09-15T14:20:42.735Z | [OTHER] | Attempt 2723: Error rate 55.81% (target: 15%) -2025-09-15T14:20:42.739Z | [OTHER] | Attempt 2724: Error rate 53.97% (target: 15%) -2025-09-15T14:20:42.743Z | [OTHER] | Attempt 2725: Error rate 45.56% (target: 15%) -2025-09-15T14:20:42.746Z | [OTHER] | Attempt 2726: Error rate 58.53% (target: 15%) -2025-09-15T14:20:42.750Z | [OTHER] | Attempt 2727: Error rate 46.83% (target: 15%) -2025-09-15T14:20:42.754Z | [OTHER] | Attempt 2728: Error rate 55.81% (target: 15%) -2025-09-15T14:20:42.757Z | [OTHER] | Attempt 2729: Error rate 51.14% (target: 15%) -2025-09-15T14:20:42.761Z | [OTHER] | Attempt 2730: Error rate 50.39% (target: 15%) -2025-09-15T14:20:42.764Z | [OTHER] | Attempt 2731: Error rate 54.61% (target: 15%) -2025-09-15T14:20:42.768Z | [OTHER] | Attempt 2732: Error rate 45.56% (target: 15%) -2025-09-15T14:20:42.771Z | [OTHER] | Attempt 2733: Error rate 52.08% (target: 15%) -2025-09-15T14:20:42.777Z | [OTHER] | Attempt 2734: Error rate 48.02% (target: 15%) -2025-09-15T14:20:42.785Z | [OTHER] | Attempt 2735: Error rate 51.14% (target: 15%) -2025-09-15T14:20:42.791Z | [OTHER] | Attempt 2736: Error rate 46.97% (target: 15%) -2025-09-15T14:20:42.798Z | [OTHER] | Attempt 2737: Error rate 43.41% (target: 15%) -2025-09-15T14:20:42.805Z | [OTHER] | Attempt 2738: Error rate 48.58% (target: 15%) -2025-09-15T14:20:42.812Z | [OTHER] | Attempt 2739: Error rate 56.91% (target: 15%) -2025-09-15T14:20:42.818Z | [OTHER] | Attempt 2740: Error rate 45.19% (target: 15%) -2025-09-15T14:20:42.821Z | [OTHER] | Attempt 2741: Error rate 53.33% (target: 15%) -2025-09-15T14:20:42.826Z | [OTHER] | Attempt 2742: Error rate 53.49% (target: 15%) -2025-09-15T14:20:42.831Z | [OTHER] | Attempt 2743: Error rate 54.96% (target: 15%) -2025-09-15T14:20:42.838Z | [OTHER] | Attempt 2744: Error rate 55.93% (target: 15%) -2025-09-15T14:20:42.843Z | [OTHER] | Attempt 2745: Error rate 53.49% (target: 15%) -2025-09-15T14:20:42.847Z | [OTHER] | Attempt 2746: Error rate 58.14% (target: 15%) -2025-09-15T14:20:42.851Z | [OTHER] | Attempt 2747: Error rate 49.24% (target: 15%) -2025-09-15T14:20:42.855Z | [OTHER] | Attempt 2748: Error rate 49.63% (target: 15%) -2025-09-15T14:20:42.859Z | [OTHER] | Attempt 2749: Error rate 49.19% (target: 15%) -2025-09-15T14:20:42.862Z | [OTHER] | Attempt 2750: Error rate 54.55% (target: 15%) -2025-09-15T14:20:42.866Z | [OTHER] | Attempt 2751: Error rate 53.41% (target: 15%) -2025-09-15T14:20:42.870Z | [OTHER] | Attempt 2752: Error rate 60.64% (target: 15%) -2025-09-15T14:20:42.873Z | [OTHER] | Attempt 2753: Error rate 54.61% (target: 15%) -2025-09-15T14:20:42.876Z | [OTHER] | Attempt 2754: Error rate 56.52% (target: 15%) -2025-09-15T14:20:42.880Z | [OTHER] | Attempt 2755: Error rate 55.56% (target: 15%) -2025-09-15T14:20:42.883Z | [OTHER] | Attempt 2756: Error rate 54.17% (target: 15%) -2025-09-15T14:20:42.887Z | [OTHER] | Attempt 2757: Error rate 50.4% (target: 15%) -2025-09-15T14:20:42.890Z | [OTHER] | Attempt 2758: Error rate 46.97% (target: 15%) -2025-09-15T14:20:42.895Z | [OTHER] | Attempt 2759: Error rate 57.61% (target: 15%) -2025-09-15T14:20:42.899Z | [OTHER] | Attempt 2760: Error rate 46.51% (target: 15%) -2025-09-15T14:20:42.903Z | [OTHER] | Attempt 2761: Error rate 43.12% (target: 15%) -2025-09-15T14:20:42.906Z | [OTHER] | Attempt 2762: Error rate 53.03% (target: 15%) -2025-09-15T14:20:42.909Z | [OTHER] | Attempt 2763: Error rate 58.16% (target: 15%) -2025-09-15T14:20:42.912Z | [OTHER] | Attempt 2764: Error rate 49.28% (target: 15%) -2025-09-15T14:20:42.916Z | [OTHER] | Attempt 2765: Error rate 49.61% (target: 15%) -2025-09-15T14:20:42.919Z | [OTHER] | Attempt 2766: Error rate 51.39% (target: 15%) -2025-09-15T14:20:42.923Z | [OTHER] | Attempt 2767: Error rate 48.89% (target: 15%) -2025-09-15T14:20:42.926Z | [OTHER] | Attempt 2768: Error rate 50.78% (target: 15%) -2025-09-15T14:20:42.930Z | [OTHER] | Attempt 2769: Error rate 53.57% (target: 15%) -2025-09-15T14:20:42.933Z | [OTHER] | Attempt 2770: Error rate 52.92% (target: 15%) -2025-09-15T14:20:42.937Z | [OTHER] | Attempt 2771: Error rate 50.79% (target: 15%) -2025-09-15T14:20:42.941Z | [OTHER] | Attempt 2772: Error rate 49.31% (target: 15%) -2025-09-15T14:20:42.944Z | [OTHER] | Attempt 2773: Error rate 48.15% (target: 15%) -2025-09-15T14:20:42.948Z | [OTHER] | Attempt 2774: Error rate 51.14% (target: 15%) -2025-09-15T14:20:42.952Z | [OTHER] | Attempt 2775: Error rate 43.09% (target: 15%) -2025-09-15T14:20:42.956Z | [OTHER] | Attempt 2776: Error rate 56.1% (target: 15%) -2025-09-15T14:20:42.959Z | [OTHER] | Attempt 2777: Error rate 45.24% (target: 15%) -2025-09-15T14:20:42.963Z | [OTHER] | Attempt 2778: Error rate 49.24% (target: 15%) -2025-09-15T14:20:42.967Z | [OTHER] | Attempt 2779: Error rate 46.75% (target: 15%) -2025-09-15T14:20:42.970Z | [OTHER] | Attempt 2780: Error rate 46.3% (target: 15%) -2025-09-15T14:20:42.974Z | [OTHER] | Attempt 2781: Error rate 47.15% (target: 15%) -2025-09-15T14:20:42.978Z | [OTHER] | Attempt 2782: Error rate 53.19% (target: 15%) -2025-09-15T14:20:42.982Z | [OTHER] | Attempt 2783: Error rate 46.97% (target: 15%) -2025-09-15T14:20:42.986Z | [OTHER] | Attempt 2784: Error rate 53.49% (target: 15%) -2025-09-15T14:20:42.989Z | [OTHER] | Attempt 2785: Error rate 54.07% (target: 15%) -2025-09-15T14:20:42.993Z | [OTHER] | Attempt 2786: Error rate 59.63% (target: 15%) -2025-09-15T14:20:42.996Z | [OTHER] | Attempt 2787: Error rate 42.75% (target: 15%) -2025-09-15T14:20:42.999Z | [OTHER] | Attempt 2788: Error rate 47.22% (target: 15%) -2025-09-15T14:20:43.003Z | [OTHER] | Attempt 2789: Error rate 56.25% (target: 15%) -2025-09-15T14:20:43.006Z | [OTHER] | Attempt 2790: Error rate 48.58% (target: 15%) -2025-09-15T14:20:43.009Z | [OTHER] | Attempt 2791: Error rate 45.56% (target: 15%) -2025-09-15T14:20:43.012Z | [OTHER] | Attempt 2792: Error rate 51.11% (target: 15%) -2025-09-15T14:20:43.016Z | [OTHER] | Attempt 2793: Error rate 53.17% (target: 15%) -2025-09-15T14:20:43.019Z | [OTHER] | Attempt 2794: Error rate 55.44% (target: 15%) -2025-09-15T14:20:43.022Z | [OTHER] | Attempt 2795: Error rate 52.27% (target: 15%) -2025-09-15T14:20:43.025Z | [OTHER] | Attempt 2796: Error rate 59.13% (target: 15%) -2025-09-15T14:20:43.029Z | [OTHER] | Attempt 2797: Error rate 53.33% (target: 15%) -2025-09-15T14:20:43.032Z | [OTHER] | Attempt 2798: Error rate 51.04% (target: 15%) -2025-09-15T14:20:43.035Z | [OTHER] | Attempt 2799: Error rate 46.01% (target: 15%) -2025-09-15T14:20:43.038Z | [OTHER] | Attempt 2800: Error rate 51.85% (target: 15%) -2025-09-15T14:20:43.042Z | [OTHER] | Attempt 2801: Error rate 53.79% (target: 15%) -2025-09-15T14:20:43.045Z | [OTHER] | Attempt 2802: Error rate 48.58% (target: 15%) -2025-09-15T14:20:43.048Z | [OTHER] | Attempt 2803: Error rate 57.78% (target: 15%) -2025-09-15T14:20:43.051Z | [OTHER] | Attempt 2804: Error rate 53.85% (target: 15%) -2025-09-15T14:20:43.055Z | [OTHER] | Attempt 2805: Error rate 46.88% (target: 15%) -2025-09-15T14:20:43.058Z | [OTHER] | Attempt 2806: Error rate 52.33% (target: 15%) -2025-09-15T14:20:43.061Z | [OTHER] | Attempt 2807: Error rate 50.39% (target: 15%) -2025-09-15T14:20:43.065Z | [OTHER] | Attempt 2808: Error rate 53.7% (target: 15%) -2025-09-15T14:20:43.068Z | [OTHER] | Attempt 2809: Error rate 50.4% (target: 15%) -2025-09-15T14:20:43.071Z | [OTHER] | Attempt 2810: Error rate 48.58% (target: 15%) -2025-09-15T14:20:43.074Z | [OTHER] | Attempt 2811: Error rate 51.16% (target: 15%) -2025-09-15T14:20:43.077Z | [OTHER] | Attempt 2812: Error rate 48.89% (target: 15%) -2025-09-15T14:20:43.080Z | [OTHER] | Attempt 2813: Error rate 57.94% (target: 15%) -2025-09-15T14:20:43.084Z | [OTHER] | Attempt 2814: Error rate 56.16% (target: 15%) -2025-09-15T14:20:43.087Z | [OTHER] | Attempt 2815: Error rate 56.67% (target: 15%) -2025-09-15T14:20:43.090Z | [OTHER] | Attempt 2816: Error rate 51.14% (target: 15%) -2025-09-15T14:20:43.094Z | [OTHER] | Attempt 2817: Error rate 49.19% (target: 15%) -2025-09-15T14:20:43.097Z | [OTHER] | Attempt 2818: Error rate 55% (target: 15%) -2025-09-15T14:20:43.101Z | [OTHER] | Attempt 2819: Error rate 60.74% (target: 15%) -2025-09-15T14:20:43.104Z | [OTHER] | Attempt 2820: Error rate 48.45% (target: 15%) -2025-09-15T14:20:43.107Z | [OTHER] | Attempt 2821: Error rate 55.07% (target: 15%) -2025-09-15T14:20:43.111Z | [OTHER] | Attempt 2822: Error rate 53.33% (target: 15%) -2025-09-15T14:20:43.114Z | [OTHER] | Attempt 2823: Error rate 50.78% (target: 15%) -2025-09-15T14:20:43.117Z | [OTHER] | Attempt 2824: Error rate 55.43% (target: 15%) -2025-09-15T14:20:43.120Z | [OTHER] | Attempt 2825: Error rate 59.3% (target: 15%) -2025-09-15T14:20:43.125Z | [OTHER] | Attempt 2826: Error rate 51.04% (target: 15%) -2025-09-15T14:20:43.127Z | [OTHER] | Attempt 2827: Error rate 54.51% (target: 15%) -2025-09-15T14:20:43.131Z | [OTHER] | Attempt 2828: Error rate 47.67% (target: 15%) -2025-09-15T14:20:43.134Z | [OTHER] | Attempt 2829: Error rate 53.79% (target: 15%) -2025-09-15T14:20:43.137Z | [OTHER] | Attempt 2830: Error rate 60.53% (target: 15%) -2025-09-15T14:20:43.140Z | [OTHER] | Attempt 2831: Error rate 48.41% (target: 15%) -2025-09-15T14:20:43.144Z | [OTHER] | Attempt 2832: Error rate 44.81% (target: 15%) -2025-09-15T14:20:43.147Z | [OTHER] | Attempt 2833: Error rate 51.81% (target: 15%) -2025-09-15T14:20:43.151Z | [OTHER] | Attempt 2834: Error rate 50% (target: 15%) -2025-09-15T14:20:43.154Z | [OTHER] | Attempt 2835: Error rate 42.46% (target: 15%) -2025-09-15T14:20:43.158Z | [OTHER] | Attempt 2836: Error rate 59.57% (target: 15%) -2025-09-15T14:20:43.162Z | [OTHER] | Attempt 2837: Error rate 50% (target: 15%) -2025-09-15T14:20:43.166Z | [OTHER] | Attempt 2838: Error rate 51.06% (target: 15%) -2025-09-15T14:20:43.169Z | [OTHER] | Attempt 2839: Error rate 53.33% (target: 15%) -2025-09-15T14:20:43.173Z | [OTHER] | Attempt 2840: Error rate 59.78% (target: 15%) -2025-09-15T14:20:43.176Z | [OTHER] | Attempt 2841: Error rate 56.06% (target: 15%) -2025-09-15T14:20:43.179Z | [OTHER] | Attempt 2842: Error rate 50% (target: 15%) -2025-09-15T14:20:43.182Z | [OTHER] | Attempt 2843: Error rate 49.63% (target: 15%) -2025-09-15T14:20:43.186Z | [OTHER] | Attempt 2844: Error rate 59.42% (target: 15%) -2025-09-15T14:20:43.189Z | [OTHER] | Attempt 2845: Error rate 51.48% (target: 15%) -2025-09-15T14:20:43.192Z | [OTHER] | Attempt 2846: Error rate 54.81% (target: 15%) -2025-09-15T14:20:43.195Z | [OTHER] | Attempt 2847: Error rate 54.82% (target: 15%) -2025-09-15T14:20:43.199Z | [OTHER] | Attempt 2848: Error rate 55.32% (target: 15%) -2025-09-15T14:20:43.202Z | [OTHER] | Attempt 2849: Error rate 51.94% (target: 15%) -2025-09-15T14:20:43.205Z | [OTHER] | Attempt 2850: Error rate 48.26% (target: 15%) -2025-09-15T14:20:43.208Z | [OTHER] | Attempt 2851: Error rate 59.52% (target: 15%) -2025-09-15T14:20:43.211Z | [OTHER] | Attempt 2852: Error rate 48.84% (target: 15%) -2025-09-15T14:20:43.214Z | [OTHER] | Attempt 2853: Error rate 53.9% (target: 15%) -2025-09-15T14:20:43.218Z | [OTHER] | Attempt 2854: Error rate 53.03% (target: 15%) -2025-09-15T14:20:43.221Z | [OTHER] | Attempt 2855: Error rate 56.98% (target: 15%) -2025-09-15T14:20:43.224Z | [OTHER] | Attempt 2856: Error rate 57.75% (target: 15%) -2025-09-15T14:20:43.227Z | [OTHER] | Attempt 2857: Error rate 53.75% (target: 15%) -2025-09-15T14:20:43.230Z | [OTHER] | Attempt 2858: Error rate 55.13% (target: 15%) -2025-09-15T14:20:43.234Z | [OTHER] | Attempt 2859: Error rate 47.67% (target: 15%) -2025-09-15T14:20:43.237Z | [OTHER] | Attempt 2860: Error rate 50.39% (target: 15%) -2025-09-15T14:20:43.241Z | [OTHER] | Attempt 2861: Error rate 51.22% (target: 15%) -2025-09-15T14:20:43.244Z | [OTHER] | Attempt 2862: Error rate 53.97% (target: 15%) -2025-09-15T14:20:43.247Z | [OTHER] | Attempt 2863: Error rate 56.82% (target: 15%) -2025-09-15T14:20:43.250Z | [OTHER] | Attempt 2864: Error rate 43.84% (target: 15%) -2025-09-15T14:20:43.254Z | [OTHER] | Attempt 2865: Error rate 45.63% (target: 15%) -2025-09-15T14:20:43.257Z | [OTHER] | Attempt 2866: Error rate 51.94% (target: 15%) -2025-09-15T14:20:43.261Z | [OTHER] | Attempt 2867: Error rate 49.6% (target: 15%) -2025-09-15T14:20:43.264Z | [OTHER] | Attempt 2868: Error rate 48.06% (target: 15%) -2025-09-15T14:20:43.267Z | [OTHER] | Attempt 2869: Error rate 53.88% (target: 15%) -2025-09-15T14:20:43.270Z | [OTHER] | Attempt 2870: Error rate 57.41% (target: 15%) -2025-09-15T14:20:43.273Z | [OTHER] | Attempt 2871: Error rate 59.4% (target: 15%) -2025-09-15T14:20:43.277Z | [OTHER] | Attempt 2872: Error rate 46.43% (target: 15%) -2025-09-15T14:20:43.280Z | [OTHER] | Attempt 2873: Error rate 53.47% (target: 15%) -2025-09-15T14:20:43.284Z | [OTHER] | Attempt 2874: Error rate 48.86% (target: 15%) -2025-09-15T14:20:43.287Z | [OTHER] | Attempt 2875: Error rate 55.04% (target: 15%) -2025-09-15T14:20:43.290Z | [OTHER] | Attempt 2876: Error rate 51.11% (target: 15%) -2025-09-15T14:20:43.294Z | [OTHER] | Attempt 2877: Error rate 44.07% (target: 15%) -2025-09-15T14:20:43.297Z | [OTHER] | Attempt 2878: Error rate 53.33% (target: 15%) -2025-09-15T14:20:43.300Z | [OTHER] | Attempt 2879: Error rate 41.25% (target: 15%) -2025-09-15T14:20:43.303Z | [OTHER] | Attempt 2880: Error rate 54.07% (target: 15%) -2025-09-15T14:20:43.307Z | [OTHER] | Attempt 2881: Error rate 48.48% (target: 15%) -2025-09-15T14:20:43.310Z | [OTHER] | Attempt 2882: Error rate 52.38% (target: 15%) -2025-09-15T14:20:43.314Z | [OTHER] | Attempt 2883: Error rate 52.61% (target: 15%) -2025-09-15T14:20:43.317Z | [OTHER] | Attempt 2884: Error rate 51.52% (target: 15%) -2025-09-15T14:20:43.320Z | [OTHER] | Attempt 2885: Error rate 41.85% (target: 15%) -2025-09-15T14:20:43.323Z | [OTHER] | Attempt 2886: Error rate 53.1% (target: 15%) -2025-09-15T14:20:43.327Z | [OTHER] | Attempt 2887: Error rate 55.1% (target: 15%) -2025-09-15T14:20:43.330Z | [OTHER] | Attempt 2888: Error rate 63.57% (target: 15%) -2025-09-15T14:20:43.334Z | [OTHER] | Attempt 2889: Error rate 51.11% (target: 15%) -2025-09-15T14:20:43.338Z | [OTHER] | Attempt 2890: Error rate 53.49% (target: 15%) -2025-09-15T14:20:43.341Z | [OTHER] | Attempt 2891: Error rate 54.55% (target: 15%) -2025-09-15T14:20:43.345Z | [OTHER] | Attempt 2892: Error rate 52.92% (target: 15%) -2025-09-15T14:20:43.349Z | [OTHER] | Attempt 2893: Error rate 46.25% (target: 15%) -2025-09-15T14:20:43.352Z | [OTHER] | Attempt 2894: Error rate 50.39% (target: 15%) -2025-09-15T14:20:43.356Z | [OTHER] | Attempt 2895: Error rate 39.77% (target: 15%) -2025-09-15T14:20:43.359Z | [OTHER] | Attempt 2896: Error rate 48.02% (target: 15%) -2025-09-15T14:20:43.363Z | [OTHER] | Attempt 2897: Error rate 52.71% (target: 15%) -2025-09-15T14:20:43.366Z | [OTHER] | Attempt 2898: Error rate 57.04% (target: 15%) -2025-09-15T14:20:43.370Z | [OTHER] | Attempt 2899: Error rate 51.28% (target: 15%) -2025-09-15T14:20:43.374Z | [OTHER] | Attempt 2900: Error rate 58.52% (target: 15%) -2025-09-15T14:20:43.377Z | [OTHER] | Attempt 2901: Error rate 56.98% (target: 15%) -2025-09-15T14:20:43.382Z | [OTHER] | Attempt 2902: Error rate 49.28% (target: 15%) -2025-09-15T14:20:43.385Z | [OTHER] | Attempt 2903: Error rate 52.59% (target: 15%) -2025-09-15T14:20:43.390Z | [OTHER] | Attempt 2904: Error rate 56.82% (target: 15%) -2025-09-15T14:20:43.394Z | [OTHER] | Attempt 2905: Error rate 48.33% (target: 15%) -2025-09-15T14:20:43.398Z | [OTHER] | Attempt 2906: Error rate 46.97% (target: 15%) -2025-09-15T14:20:43.402Z | [OTHER] | Attempt 2907: Error rate 55.8% (target: 15%) -2025-09-15T14:20:43.406Z | [OTHER] | Attempt 2908: Error rate 50.79% (target: 15%) -2025-09-15T14:20:43.410Z | [OTHER] | Attempt 2909: Error rate 40.74% (target: 15%) -2025-09-15T14:20:43.414Z | [OTHER] | Attempt 2910: Error rate 44.44% (target: 15%) -2025-09-15T14:20:43.417Z | [OTHER] | Attempt 2911: Error rate 51.45% (target: 15%) -2025-09-15T14:20:43.420Z | [OTHER] | Attempt 2912: Error rate 53.79% (target: 15%) -2025-09-15T14:20:43.424Z | [OTHER] | Attempt 2913: Error rate 55.3% (target: 15%) -2025-09-15T14:20:43.427Z | [OTHER] | Attempt 2914: Error rate 46.83% (target: 15%) -2025-09-15T14:20:43.431Z | [OTHER] | Attempt 2915: Error rate 54.76% (target: 15%) -2025-09-15T14:20:43.435Z | [OTHER] | Attempt 2916: Error rate 45.14% (target: 15%) -2025-09-15T14:20:43.438Z | [OTHER] | Attempt 2917: Error rate 59.52% (target: 15%) -2025-09-15T14:20:43.442Z | [OTHER] | Attempt 2918: Error rate 53.47% (target: 15%) -2025-09-15T14:20:43.445Z | [OTHER] | Attempt 2919: Error rate 53.03% (target: 15%) -2025-09-15T14:20:43.449Z | [OTHER] | Attempt 2920: Error rate 49.63% (target: 15%) -2025-09-15T14:20:43.452Z | [OTHER] | Attempt 2921: Error rate 59.18% (target: 15%) -2025-09-15T14:20:43.455Z | [OTHER] | Attempt 2922: Error rate 50% (target: 15%) -2025-09-15T14:20:43.459Z | [OTHER] | Attempt 2923: Error rate 38.62% (target: 15%) -2025-09-15T14:20:43.462Z | [OTHER] | Attempt 2924: Error rate 52.43% (target: 15%) -2025-09-15T14:20:43.466Z | [OTHER] | Attempt 2925: Error rate 46.03% (target: 15%) -2025-09-15T14:20:43.469Z | [OTHER] | Attempt 2926: Error rate 53% (target: 15%) -2025-09-15T14:20:43.473Z | [OTHER] | Attempt 2927: Error rate 56.2% (target: 15%) -2025-09-15T14:20:43.476Z | [OTHER] | Attempt 2928: Error rate 51.55% (target: 15%) -2025-09-15T14:20:43.479Z | [OTHER] | Attempt 2929: Error rate 56.12% (target: 15%) -2025-09-15T14:20:43.483Z | [OTHER] | Attempt 2930: Error rate 52.9% (target: 15%) -2025-09-15T14:20:43.486Z | [OTHER] | Attempt 2931: Error rate 53.26% (target: 15%) -2025-09-15T14:20:43.490Z | [OTHER] | Attempt 2932: Error rate 57.25% (target: 15%) -2025-09-15T14:20:43.493Z | [OTHER] | Attempt 2933: Error rate 54.37% (target: 15%) -2025-09-15T14:20:43.496Z | [OTHER] | Attempt 2934: Error rate 51.04% (target: 15%) -2025-09-15T14:20:43.500Z | [OTHER] | Attempt 2935: Error rate 52.44% (target: 15%) -2025-09-15T14:20:43.503Z | [OTHER] | Attempt 2936: Error rate 53.57% (target: 15%) -2025-09-15T14:20:43.507Z | [OTHER] | Attempt 2937: Error rate 49.63% (target: 15%) -2025-09-15T14:20:43.510Z | [OTHER] | Attempt 2938: Error rate 54.47% (target: 15%) -2025-09-15T14:20:43.513Z | [OTHER] | Attempt 2939: Error rate 34.47% (target: 15%) -2025-09-15T14:20:43.517Z | [OTHER] | Attempt 2940: Error rate 47.04% (target: 15%) -2025-09-15T14:20:43.520Z | [OTHER] | Attempt 2941: Error rate 54.61% (target: 15%) -2025-09-15T14:20:43.523Z | [OTHER] | Attempt 2942: Error rate 51.89% (target: 15%) -2025-09-15T14:20:43.527Z | [OTHER] | Attempt 2943: Error rate 47.35% (target: 15%) -2025-09-15T14:20:43.530Z | [OTHER] | Attempt 2944: Error rate 50.81% (target: 15%) -2025-09-15T14:20:43.533Z | [OTHER] | Attempt 2945: Error rate 50% (target: 15%) -2025-09-15T14:20:43.537Z | [OTHER] | Attempt 2946: Error rate 53.55% (target: 15%) -2025-09-15T14:20:43.540Z | [OTHER] | Attempt 2947: Error rate 50.43% (target: 15%) -2025-09-15T14:20:43.543Z | [OTHER] | Attempt 2948: Error rate 54.44% (target: 15%) -2025-09-15T14:20:43.546Z | [OTHER] | Attempt 2949: Error rate 54.17% (target: 15%) -2025-09-15T14:20:43.550Z | [OTHER] | Attempt 2950: Error rate 57.78% (target: 15%) -2025-09-15T14:20:43.554Z | [OTHER] | Attempt 2951: Error rate 44.96% (target: 15%) -2025-09-15T14:20:43.557Z | [OTHER] | Attempt 2952: Error rate 49.59% (target: 15%) -2025-09-15T14:20:43.561Z | [OTHER] | Attempt 2953: Error rate 46.45% (target: 15%) -2025-09-15T14:20:43.566Z | [OTHER] | Attempt 2954: Error rate 55.68% (target: 15%) -2025-09-15T14:20:43.570Z | [OTHER] | Attempt 2955: Error rate 55.3% (target: 15%) -2025-09-15T14:20:43.573Z | [OTHER] | Attempt 2956: Error rate 52.96% (target: 15%) -2025-09-15T14:20:43.576Z | [OTHER] | Attempt 2957: Error rate 55.43% (target: 15%) -2025-09-15T14:20:43.580Z | [OTHER] | Attempt 2958: Error rate 51.59% (target: 15%) -2025-09-15T14:20:43.583Z | [OTHER] | Attempt 2959: Error rate 57.25% (target: 15%) -2025-09-15T14:20:43.587Z | [OTHER] | Attempt 2960: Error rate 55.69% (target: 15%) -2025-09-15T14:20:43.590Z | [OTHER] | Attempt 2961: Error rate 55.28% (target: 15%) -2025-09-15T14:20:43.593Z | [OTHER] | Attempt 2962: Error rate 52.78% (target: 15%) -2025-09-15T14:20:43.597Z | [OTHER] | Attempt 2963: Error rate 45.35% (target: 15%) -2025-09-15T14:20:43.600Z | [OTHER] | Attempt 2964: Error rate 59.69% (target: 15%) -2025-09-15T14:20:43.604Z | [OTHER] | Attempt 2965: Error rate 45.24% (target: 15%) -2025-09-15T14:20:43.607Z | [OTHER] | Attempt 2966: Error rate 57.36% (target: 15%) -2025-09-15T14:20:43.611Z | [OTHER] | Attempt 2967: Error rate 57.14% (target: 15%) -2025-09-15T14:20:43.614Z | [OTHER] | Attempt 2968: Error rate 50.35% (target: 15%) -2025-09-15T14:20:43.617Z | [OTHER] | Attempt 2969: Error rate 52.17% (target: 15%) -2025-09-15T14:20:43.621Z | [OTHER] | Attempt 2970: Error rate 55.21% (target: 15%) -2025-09-15T14:20:43.624Z | [OTHER] | Attempt 2971: Error rate 43.84% (target: 15%) -2025-09-15T14:20:43.628Z | [OTHER] | Attempt 2972: Error rate 53.62% (target: 15%) -2025-09-15T14:20:43.631Z | [OTHER] | Attempt 2973: Error rate 55.81% (target: 15%) -2025-09-15T14:20:43.635Z | [OTHER] | Attempt 2974: Error rate 51.94% (target: 15%) -2025-09-15T14:20:43.638Z | [OTHER] | Attempt 2975: Error rate 51.28% (target: 15%) -2025-09-15T14:20:43.641Z | [OTHER] | Attempt 2976: Error rate 57.48% (target: 15%) -2025-09-15T14:20:43.644Z | [OTHER] | Attempt 2977: Error rate 53.25% (target: 15%) -2025-09-15T14:20:43.648Z | [OTHER] | Attempt 2978: Error rate 57.54% (target: 15%) -2025-09-15T14:20:43.651Z | [OTHER] | Attempt 2979: Error rate 50.42% (target: 15%) -2025-09-15T14:20:43.654Z | [OTHER] | Attempt 2980: Error rate 47.35% (target: 15%) -2025-09-15T14:20:43.658Z | [OTHER] | Attempt 2981: Error rate 52.92% (target: 15%) -2025-09-15T14:20:43.661Z | [OTHER] | Attempt 2982: Error rate 52.78% (target: 15%) -2025-09-15T14:20:43.664Z | [OTHER] | Attempt 2983: Error rate 50.35% (target: 15%) -2025-09-15T14:20:43.668Z | [OTHER] | Attempt 2984: Error rate 43.8% (target: 15%) -2025-09-15T14:20:43.671Z | [OTHER] | Attempt 2985: Error rate 50.36% (target: 15%) -2025-09-15T14:20:43.675Z | [OTHER] | Attempt 2986: Error rate 53% (target: 15%) -2025-09-15T14:20:43.678Z | [OTHER] | Attempt 2987: Error rate 48.91% (target: 15%) -2025-09-15T14:20:43.682Z | [OTHER] | Attempt 2988: Error rate 52.84% (target: 15%) -2025-09-15T14:20:43.685Z | [OTHER] | Attempt 2989: Error rate 45.93% (target: 15%) -2025-09-15T14:20:43.689Z | [OTHER] | Attempt 2990: Error rate 48.26% (target: 15%) -2025-09-15T14:20:43.692Z | [OTHER] | Attempt 2991: Error rate 54.76% (target: 15%) -2025-09-15T14:20:43.696Z | [OTHER] | Attempt 2992: Error rate 53.1% (target: 15%) -2025-09-15T14:20:43.700Z | [OTHER] | Attempt 2993: Error rate 48.48% (target: 15%) -2025-09-15T14:20:43.703Z | [OTHER] | Attempt 2994: Error rate 47.73% (target: 15%) -2025-09-15T14:20:43.706Z | [OTHER] | Attempt 2995: Error rate 55.43% (target: 15%) -2025-09-15T14:20:43.710Z | [OTHER] | Attempt 2996: Error rate 51.67% (target: 15%) -2025-09-15T14:20:43.713Z | [OTHER] | Attempt 2997: Error rate 52.59% (target: 15%) -2025-09-15T14:20:43.716Z | [OTHER] | Attempt 2998: Error rate 47.46% (target: 15%) -2025-09-15T14:20:43.720Z | [OTHER] | Attempt 2999: Error rate 47.78% (target: 15%) -2025-09-15T14:20:43.723Z | [OTHER] | Attempt 3000: Error rate 55.3% (target: 15%) -2025-09-15T14:20:43.727Z | [OTHER] | Attempt 3001: Error rate 50.39% (target: 15%) -2025-09-15T14:20:43.730Z | [OTHER] | Attempt 3002: Error rate 55.19% (target: 15%) -2025-09-15T14:20:43.734Z | [OTHER] | Attempt 3003: Error rate 51.52% (target: 15%) -2025-09-15T14:20:43.738Z | [OTHER] | Attempt 3004: Error rate 51.48% (target: 15%) -2025-09-15T14:20:43.741Z | [OTHER] | Attempt 3005: Error rate 50.42% (target: 15%) -2025-09-15T14:20:43.745Z | [OTHER] | Attempt 3006: Error rate 48.81% (target: 15%) -2025-09-15T14:20:43.748Z | [OTHER] | Attempt 3007: Error rate 46.67% (target: 15%) -2025-09-15T14:20:43.752Z | [OTHER] | Attempt 3008: Error rate 48.91% (target: 15%) -2025-09-15T14:20:43.755Z | [OTHER] | Attempt 3009: Error rate 50.78% (target: 15%) -2025-09-15T14:20:43.759Z | [OTHER] | Attempt 3010: Error rate 49.59% (target: 15%) -2025-09-15T14:20:43.762Z | [OTHER] | Attempt 3011: Error rate 53.13% (target: 15%) -2025-09-15T14:20:43.765Z | [OTHER] | Attempt 3012: Error rate 63.01% (target: 15%) -2025-09-15T14:20:43.769Z | [OTHER] | Attempt 3013: Error rate 50.72% (target: 15%) -2025-09-15T14:20:43.772Z | [OTHER] | Attempt 3014: Error rate 50.37% (target: 15%) -2025-09-15T14:20:43.775Z | [OTHER] | Attempt 3015: Error rate 49.22% (target: 15%) -2025-09-15T14:20:43.779Z | [OTHER] | Attempt 3016: Error rate 55.56% (target: 15%) -2025-09-15T14:20:43.783Z | [OTHER] | Attempt 3017: Error rate 56.44% (target: 15%) -2025-09-15T14:20:43.786Z | [OTHER] | Attempt 3018: Error rate 46.88% (target: 15%) -2025-09-15T14:20:43.789Z | [OTHER] | Attempt 3019: Error rate 49.22% (target: 15%) -2025-09-15T14:20:43.793Z | [OTHER] | Attempt 3020: Error rate 49.6% (target: 15%) -2025-09-15T14:20:43.796Z | [OTHER] | Attempt 3021: Error rate 59.18% (target: 15%) -2025-09-15T14:20:43.800Z | [OTHER] | Attempt 3022: Error rate 58.94% (target: 15%) -2025-09-15T14:20:43.804Z | [OTHER] | Attempt 3023: Error rate 46.59% (target: 15%) -2025-09-15T14:20:43.807Z | [OTHER] | Attempt 3024: Error rate 57.97% (target: 15%) -2025-09-15T14:20:43.811Z | [OTHER] | Attempt 3025: Error rate 52.08% (target: 15%) -2025-09-15T14:20:43.814Z | [OTHER] | Attempt 3026: Error rate 45.56% (target: 15%) -2025-09-15T14:20:43.818Z | [OTHER] | Attempt 3027: Error rate 47.04% (target: 15%) -2025-09-15T14:20:43.821Z | [OTHER] | Attempt 3028: Error rate 54.71% (target: 15%) -2025-09-15T14:20:43.825Z | [OTHER] | Attempt 3029: Error rate 51.22% (target: 15%) -2025-09-15T14:20:43.828Z | [OTHER] | Attempt 3030: Error rate 51.55% (target: 15%) -2025-09-15T14:20:43.831Z | [OTHER] | Attempt 3031: Error rate 59.78% (target: 15%) -2025-09-15T14:20:43.835Z | [OTHER] | Attempt 3032: Error rate 54.76% (target: 15%) -2025-09-15T14:20:43.838Z | [OTHER] | Attempt 3033: Error rate 57.67% (target: 15%) -2025-09-15T14:20:43.843Z | [OTHER] | Attempt 3034: Error rate 59.18% (target: 15%) -2025-09-15T14:20:43.846Z | [OTHER] | Attempt 3035: Error rate 48.86% (target: 15%) -2025-09-15T14:20:43.849Z | [OTHER] | Attempt 3036: Error rate 57.78% (target: 15%) -2025-09-15T14:20:43.852Z | [OTHER] | Attempt 3037: Error rate 52.9% (target: 15%) -2025-09-15T14:20:43.856Z | [OTHER] | Attempt 3038: Error rate 57.41% (target: 15%) -2025-09-15T14:20:43.860Z | [OTHER] | Attempt 3039: Error rate 50.76% (target: 15%) -2025-09-15T14:20:43.863Z | [OTHER] | Attempt 3040: Error rate 60.87% (target: 15%) -2025-09-15T14:20:43.866Z | [OTHER] | Attempt 3041: Error rate 49.28% (target: 15%) -2025-09-15T14:20:43.870Z | [OTHER] | Attempt 3042: Error rate 48.78% (target: 15%) -2025-09-15T14:20:43.873Z | [OTHER] | Attempt 3043: Error rate 51.94% (target: 15%) -2025-09-15T14:20:43.877Z | [OTHER] | Attempt 3044: Error rate 52.63% (target: 15%) -2025-09-15T14:20:43.880Z | [OTHER] | Attempt 3045: Error rate 53.06% (target: 15%) -2025-09-15T14:20:43.884Z | [OTHER] | Attempt 3046: Error rate 53.03% (target: 15%) -2025-09-15T14:20:43.887Z | [OTHER] | Attempt 3047: Error rate 45.24% (target: 15%) -2025-09-15T14:20:43.890Z | [OTHER] | Attempt 3048: Error rate 59.09% (target: 15%) -2025-09-15T14:20:43.894Z | [OTHER] | Attempt 3049: Error rate 46.34% (target: 15%) -2025-09-15T14:20:43.897Z | [OTHER] | Attempt 3050: Error rate 51.63% (target: 15%) -2025-09-15T14:20:43.901Z | [OTHER] | Attempt 3051: Error rate 55.93% (target: 15%) -2025-09-15T14:20:43.904Z | [OTHER] | Attempt 3052: Error rate 50.78% (target: 15%) -2025-09-15T14:20:43.908Z | [OTHER] | Attempt 3053: Error rate 52.44% (target: 15%) -2025-09-15T14:20:43.911Z | [OTHER] | Attempt 3054: Error rate 59.85% (target: 15%) -2025-09-15T14:20:43.915Z | [OTHER] | Attempt 3055: Error rate 51.48% (target: 15%) -2025-09-15T14:20:43.918Z | [OTHER] | Attempt 3056: Error rate 56.06% (target: 15%) -2025-09-15T14:20:43.921Z | [OTHER] | Attempt 3057: Error rate 55.83% (target: 15%) -2025-09-15T14:20:43.925Z | [OTHER] | Attempt 3058: Error rate 49.19% (target: 15%) -2025-09-15T14:20:43.928Z | [OTHER] | Attempt 3059: Error rate 57.95% (target: 15%) -2025-09-15T14:20:43.932Z | [OTHER] | Attempt 3060: Error rate 51.14% (target: 15%) -2025-09-15T14:20:43.935Z | [OTHER] | Attempt 3061: Error rate 47.15% (target: 15%) -2025-09-15T14:20:43.939Z | [OTHER] | Attempt 3062: Error rate 56.67% (target: 15%) -2025-09-15T14:20:43.942Z | [OTHER] | Attempt 3063: Error rate 44.07% (target: 15%) -2025-09-15T14:20:43.948Z | [OTHER] | Attempt 3064: Error rate 52.27% (target: 15%) -2025-09-15T14:20:43.954Z | [OTHER] | Attempt 3065: Error rate 58.13% (target: 15%) -2025-09-15T14:20:43.959Z | [OTHER] | Attempt 3066: Error rate 45.93% (target: 15%) -2025-09-15T14:20:43.966Z | [OTHER] | Attempt 3067: Error rate 53.75% (target: 15%) -2025-09-15T14:20:43.971Z | [OTHER] | Attempt 3068: Error rate 46.1% (target: 15%) -2025-09-15T14:20:43.976Z | [OTHER] | Attempt 3069: Error rate 55.07% (target: 15%) -2025-09-15T14:20:43.980Z | [OTHER] | Attempt 3070: Error rate 52.44% (target: 15%) -2025-09-15T14:20:43.985Z | [OTHER] | Attempt 3071: Error rate 53.13% (target: 15%) -2025-09-15T14:20:43.989Z | [OTHER] | Attempt 3072: Error rate 48.75% (target: 15%) -2025-09-15T14:20:43.993Z | [OTHER] | Attempt 3073: Error rate 57.2% (target: 15%) -2025-09-15T14:20:43.996Z | [OTHER] | Attempt 3074: Error rate 51.25% (target: 15%) -2025-09-15T14:20:44.000Z | [OTHER] | Attempt 3075: Error rate 44.58% (target: 15%) -2025-09-15T14:20:44.004Z | [OTHER] | Attempt 3076: Error rate 50.76% (target: 15%) -2025-09-15T14:20:44.009Z | [OTHER] | Attempt 3077: Error rate 51.14% (target: 15%) -2025-09-15T14:20:44.012Z | [OTHER] | Attempt 3078: Error rate 49.62% (target: 15%) -2025-09-15T14:20:44.015Z | [OTHER] | Attempt 3079: Error rate 52.48% (target: 15%) -2025-09-15T14:20:44.019Z | [OTHER] | Attempt 3080: Error rate 57.54% (target: 15%) -2025-09-15T14:20:44.022Z | [OTHER] | Attempt 3081: Error rate 52.04% (target: 15%) -2025-09-15T14:20:44.025Z | [OTHER] | Attempt 3082: Error rate 57.36% (target: 15%) -2025-09-15T14:20:44.029Z | [OTHER] | Attempt 3083: Error rate 49.26% (target: 15%) -2025-09-15T14:20:44.032Z | [OTHER] | Attempt 3084: Error rate 48.91% (target: 15%) -2025-09-15T14:20:44.035Z | [OTHER] | Attempt 3085: Error rate 58.33% (target: 15%) -2025-09-15T14:20:44.039Z | [OTHER] | Attempt 3086: Error rate 49.61% (target: 15%) -2025-09-15T14:20:44.042Z | [OTHER] | Attempt 3087: Error rate 43.94% (target: 15%) -2025-09-15T14:20:44.046Z | [OTHER] | Attempt 3088: Error rate 48.26% (target: 15%) -2025-09-15T14:20:44.049Z | [OTHER] | Attempt 3089: Error rate 45% (target: 15%) -2025-09-15T14:20:44.053Z | [OTHER] | Attempt 3090: Error rate 57.75% (target: 15%) -2025-09-15T14:20:44.056Z | [OTHER] | Attempt 3091: Error rate 50.4% (target: 15%) -2025-09-15T14:20:44.060Z | [OTHER] | Attempt 3092: Error rate 48.33% (target: 15%) -2025-09-15T14:20:44.063Z | [OTHER] | Attempt 3093: Error rate 50% (target: 15%) -2025-09-15T14:20:44.066Z | [OTHER] | Attempt 3094: Error rate 47.92% (target: 15%) -2025-09-15T14:20:44.070Z | [OTHER] | Attempt 3095: Error rate 53.97% (target: 15%) -2025-09-15T14:20:44.074Z | [OTHER] | Attempt 3096: Error rate 51.55% (target: 15%) -2025-09-15T14:20:44.078Z | [OTHER] | Attempt 3097: Error rate 54.61% (target: 15%) -2025-09-15T14:20:44.081Z | [OTHER] | Attempt 3098: Error rate 55.67% (target: 15%) -2025-09-15T14:20:44.085Z | [OTHER] | Attempt 3099: Error rate 49.24% (target: 15%) -2025-09-15T14:20:44.088Z | [OTHER] | Attempt 3100: Error rate 52.72% (target: 15%) -2025-09-15T14:20:44.092Z | [OTHER] | Attempt 3101: Error rate 52.38% (target: 15%) -2025-09-15T14:20:44.096Z | [OTHER] | Attempt 3102: Error rate 51.85% (target: 15%) -2025-09-15T14:20:44.099Z | [OTHER] | Attempt 3103: Error rate 48.84% (target: 15%) -2025-09-15T14:20:44.103Z | [OTHER] | Attempt 3104: Error rate 53.62% (target: 15%) -2025-09-15T14:20:44.106Z | [OTHER] | Attempt 3105: Error rate 56.67% (target: 15%) -2025-09-15T14:20:44.110Z | [OTHER] | Attempt 3106: Error rate 53.03% (target: 15%) -2025-09-15T14:20:44.113Z | [OTHER] | Attempt 3107: Error rate 53.66% (target: 15%) -2025-09-15T14:20:44.117Z | [OTHER] | Attempt 3108: Error rate 44.44% (target: 15%) -2025-09-15T14:20:44.120Z | [OTHER] | Attempt 3109: Error rate 55.07% (target: 15%) -2025-09-15T14:20:44.124Z | [OTHER] | Attempt 3110: Error rate 51.85% (target: 15%) -2025-09-15T14:20:44.127Z | [OTHER] | Attempt 3111: Error rate 55.3% (target: 15%) -2025-09-15T14:20:44.131Z | [OTHER] | Attempt 3112: Error rate 55.68% (target: 15%) -2025-09-15T14:20:44.135Z | [OTHER] | Attempt 3113: Error rate 56.25% (target: 15%) -2025-09-15T14:20:44.138Z | [OTHER] | Attempt 3114: Error rate 53.19% (target: 15%) -2025-09-15T14:20:44.142Z | [OTHER] | Attempt 3115: Error rate 54.81% (target: 15%) -2025-09-15T14:20:44.145Z | [OTHER] | Attempt 3116: Error rate 50.72% (target: 15%) -2025-09-15T14:20:44.149Z | [OTHER] | Attempt 3117: Error rate 52.5% (target: 15%) -2025-09-15T14:20:44.153Z | [OTHER] | Attempt 3118: Error rate 52.96% (target: 15%) -2025-09-15T14:20:44.156Z | [OTHER] | Attempt 3119: Error rate 55.04% (target: 15%) -2025-09-15T14:20:44.159Z | [OTHER] | Attempt 3120: Error rate 55.81% (target: 15%) -2025-09-15T14:20:44.163Z | [OTHER] | Attempt 3121: Error rate 59% (target: 15%) -2025-09-15T14:20:44.166Z | [OTHER] | Attempt 3122: Error rate 51.19% (target: 15%) -2025-09-15T14:20:44.170Z | [OTHER] | Attempt 3123: Error rate 50% (target: 15%) -2025-09-15T14:20:44.173Z | [OTHER] | Attempt 3124: Error rate 53.25% (target: 15%) -2025-09-15T14:20:44.177Z | [OTHER] | Attempt 3125: Error rate 55.67% (target: 15%) -2025-09-15T14:20:44.181Z | [OTHER] | Attempt 3126: Error rate 58.73% (target: 15%) -2025-09-15T14:20:44.184Z | [OTHER] | Attempt 3127: Error rate 55.16% (target: 15%) -2025-09-15T14:20:44.187Z | [OTHER] | Attempt 3128: Error rate 50.78% (target: 15%) -2025-09-15T14:20:44.191Z | [OTHER] | Attempt 3129: Error rate 52.27% (target: 15%) -2025-09-15T14:20:44.194Z | [OTHER] | Attempt 3130: Error rate 52.78% (target: 15%) -2025-09-15T14:20:44.198Z | [OTHER] | Attempt 3131: Error rate 57.78% (target: 15%) -2025-09-15T14:20:44.201Z | [OTHER] | Attempt 3132: Error rate 53.4% (target: 15%) -2025-09-15T14:20:44.205Z | [OTHER] | Attempt 3133: Error rate 55.67% (target: 15%) -2025-09-15T14:20:44.208Z | [OTHER] | Attempt 3134: Error rate 56.12% (target: 15%) -2025-09-15T14:20:44.212Z | [OTHER] | Attempt 3135: Error rate 61.74% (target: 15%) -2025-09-15T14:20:44.215Z | [OTHER] | Attempt 3136: Error rate 48.68% (target: 15%) -2025-09-15T14:20:44.218Z | [OTHER] | Attempt 3137: Error rate 48.84% (target: 15%) -2025-09-15T14:20:44.222Z | [OTHER] | Attempt 3138: Error rate 49.67% (target: 15%) -2025-09-15T14:20:44.225Z | [OTHER] | Attempt 3139: Error rate 48.15% (target: 15%) -2025-09-15T14:20:44.229Z | [OTHER] | Attempt 3140: Error rate 48.84% (target: 15%) -2025-09-15T14:20:44.232Z | [OTHER] | Attempt 3141: Error rate 61.79% (target: 15%) -2025-09-15T14:20:44.236Z | [OTHER] | Attempt 3142: Error rate 57.36% (target: 15%) -2025-09-15T14:20:44.240Z | [OTHER] | Attempt 3143: Error rate 50.71% (target: 15%) -2025-09-15T14:20:44.244Z | [OTHER] | Attempt 3144: Error rate 49.64% (target: 15%) -2025-09-15T14:20:44.247Z | [OTHER] | Attempt 3145: Error rate 55.16% (target: 15%) -2025-09-15T14:20:44.251Z | [OTHER] | Attempt 3146: Error rate 49.61% (target: 15%) -2025-09-15T14:20:44.254Z | [OTHER] | Attempt 3147: Error rate 52.71% (target: 15%) -2025-09-15T14:20:44.258Z | [OTHER] | Attempt 3148: Error rate 45.93% (target: 15%) -2025-09-15T14:20:44.261Z | [OTHER] | Attempt 3149: Error rate 56.1% (target: 15%) -2025-09-15T14:20:44.265Z | [OTHER] | Attempt 3150: Error rate 55.78% (target: 15%) -2025-09-15T14:20:44.268Z | [OTHER] | Attempt 3151: Error rate 57.04% (target: 15%) -2025-09-15T14:20:44.272Z | [OTHER] | Attempt 3152: Error rate 54.86% (target: 15%) -2025-09-15T14:20:44.275Z | [OTHER] | Attempt 3153: Error rate 49.61% (target: 15%) -2025-09-15T14:20:44.279Z | [OTHER] | Attempt 3154: Error rate 55.42% (target: 15%) -2025-09-15T14:20:44.282Z | [OTHER] | Attempt 3155: Error rate 57.75% (target: 15%) -2025-09-15T14:20:44.286Z | [OTHER] | Attempt 3156: Error rate 58.71% (target: 15%) -2025-09-15T14:20:44.289Z | [OTHER] | Attempt 3157: Error rate 52.85% (target: 15%) -2025-09-15T14:20:44.293Z | [OTHER] | Attempt 3158: Error rate 50.38% (target: 15%) -2025-09-15T14:20:44.297Z | [OTHER] | Attempt 3159: Error rate 54.92% (target: 15%) -2025-09-15T14:20:44.301Z | [OTHER] | Attempt 3160: Error rate 56.14% (target: 15%) -2025-09-15T14:20:44.304Z | [OTHER] | Attempt 3161: Error rate 56.75% (target: 15%) -2025-09-15T14:20:44.307Z | [OTHER] | Attempt 3162: Error rate 43.48% (target: 15%) -2025-09-15T14:20:44.311Z | [OTHER] | Attempt 3163: Error rate 47.22% (target: 15%) -2025-09-15T14:20:44.315Z | [OTHER] | Attempt 3164: Error rate 63.48% (target: 15%) -2025-09-15T14:20:44.318Z | [OTHER] | Attempt 3165: Error rate 56.35% (target: 15%) -2025-09-15T14:20:44.322Z | [OTHER] | Attempt 3166: Error rate 50.74% (target: 15%) -2025-09-15T14:20:44.325Z | [OTHER] | Attempt 3167: Error rate 50.79% (target: 15%) -2025-09-15T14:20:44.330Z | [OTHER] | Attempt 3168: Error rate 43.06% (target: 15%) -2025-09-15T14:20:44.333Z | [OTHER] | Attempt 3169: Error rate 45.63% (target: 15%) -2025-09-15T14:20:44.337Z | [OTHER] | Attempt 3170: Error rate 52.08% (target: 15%) -2025-09-15T14:20:44.341Z | [OTHER] | Attempt 3171: Error rate 49.62% (target: 15%) -2025-09-15T14:20:44.345Z | [OTHER] | Attempt 3172: Error rate 48.45% (target: 15%) -2025-09-15T14:20:44.348Z | [OTHER] | Attempt 3173: Error rate 53.9% (target: 15%) -2025-09-15T14:20:44.352Z | [OTHER] | Attempt 3174: Error rate 48.84% (target: 15%) -2025-09-15T14:20:44.355Z | [OTHER] | Attempt 3175: Error rate 45.74% (target: 15%) -2025-09-15T14:20:44.359Z | [OTHER] | Attempt 3176: Error rate 58.89% (target: 15%) -2025-09-15T14:20:44.362Z | [OTHER] | Attempt 3177: Error rate 51.19% (target: 15%) -2025-09-15T14:20:44.366Z | [OTHER] | Attempt 3178: Error rate 48.45% (target: 15%) -2025-09-15T14:20:44.369Z | [OTHER] | Attempt 3179: Error rate 54.92% (target: 15%) -2025-09-15T14:20:44.373Z | [OTHER] | Attempt 3180: Error rate 53.25% (target: 15%) -2025-09-15T14:20:44.376Z | [OTHER] | Attempt 3181: Error rate 55.43% (target: 15%) -2025-09-15T14:20:44.380Z | [OTHER] | Attempt 3182: Error rate 52.38% (target: 15%) -2025-09-15T14:20:44.383Z | [OTHER] | Attempt 3183: Error rate 50.37% (target: 15%) -2025-09-15T14:20:44.387Z | [OTHER] | Attempt 3184: Error rate 59% (target: 15%) -2025-09-15T14:20:44.391Z | [OTHER] | Attempt 3185: Error rate 56.88% (target: 15%) -2025-09-15T14:20:44.395Z | [OTHER] | Attempt 3186: Error rate 53.42% (target: 15%) -2025-09-15T14:20:44.398Z | [OTHER] | Attempt 3187: Error rate 53.7% (target: 15%) -2025-09-15T14:20:44.402Z | [OTHER] | Attempt 3188: Error rate 47.46% (target: 15%) -2025-09-15T14:20:44.405Z | [OTHER] | Attempt 3189: Error rate 61.11% (target: 15%) -2025-09-15T14:20:44.409Z | [OTHER] | Attempt 3190: Error rate 50.4% (target: 15%) -2025-09-15T14:20:44.413Z | [OTHER] | Attempt 3191: Error rate 48.15% (target: 15%) -2025-09-15T14:20:44.416Z | [OTHER] | Attempt 3192: Error rate 49.22% (target: 15%) -2025-09-15T14:20:44.420Z | [OTHER] | Attempt 3193: Error rate 44.57% (target: 15%) -2025-09-15T14:20:44.423Z | [OTHER] | Attempt 3194: Error rate 60.61% (target: 15%) -2025-09-15T14:20:44.427Z | [OTHER] | Attempt 3195: Error rate 57.36% (target: 15%) -2025-09-15T14:20:44.431Z | [OTHER] | Attempt 3196: Error rate 52.27% (target: 15%) -2025-09-15T14:20:44.434Z | [OTHER] | Attempt 3197: Error rate 53.88% (target: 15%) -2025-09-15T14:20:44.438Z | [OTHER] | Attempt 3198: Error rate 53.33% (target: 15%) -2025-09-15T14:20:44.442Z | [OTHER] | Attempt 3199: Error rate 46.83% (target: 15%) -2025-09-15T14:20:44.446Z | [OTHER] | Attempt 3200: Error rate 56.3% (target: 15%) -2025-09-15T14:20:44.449Z | [OTHER] | Attempt 3201: Error rate 51.25% (target: 15%) -2025-09-15T14:20:44.454Z | [OTHER] | Attempt 3202: Error rate 42.5% (target: 15%) -2025-09-15T14:20:44.457Z | [OTHER] | Attempt 3203: Error rate 45.18% (target: 15%) -2025-09-15T14:20:44.460Z | [OTHER] | Attempt 3204: Error rate 48.78% (target: 15%) -2025-09-15T14:20:44.464Z | [OTHER] | Attempt 3205: Error rate 53.79% (target: 15%) -2025-09-15T14:20:44.468Z | [OTHER] | Attempt 3206: Error rate 54.08% (target: 15%) -2025-09-15T14:20:44.471Z | [OTHER] | Attempt 3207: Error rate 50% (target: 15%) -2025-09-15T14:20:44.475Z | [OTHER] | Attempt 3208: Error rate 45.08% (target: 15%) -2025-09-15T14:20:44.479Z | [OTHER] | Attempt 3209: Error rate 50.76% (target: 15%) -2025-09-15T14:20:44.483Z | [OTHER] | Attempt 3210: Error rate 43.8% (target: 15%) -2025-09-15T14:20:44.486Z | [OTHER] | Attempt 3211: Error rate 57.32% (target: 15%) -2025-09-15T14:20:44.490Z | [OTHER] | Attempt 3212: Error rate 57.92% (target: 15%) -2025-09-15T14:20:44.493Z | [OTHER] | Attempt 3213: Error rate 47.22% (target: 15%) -2025-09-15T14:20:44.498Z | [OTHER] | Attempt 3214: Error rate 53.75% (target: 15%) -2025-09-15T14:20:44.502Z | [OTHER] | Attempt 3215: Error rate 51.48% (target: 15%) -2025-09-15T14:20:44.506Z | [OTHER] | Attempt 3216: Error rate 47.15% (target: 15%) -2025-09-15T14:20:44.509Z | [OTHER] | Attempt 3217: Error rate 61.63% (target: 15%) -2025-09-15T14:20:44.513Z | [OTHER] | Attempt 3218: Error rate 54.17% (target: 15%) -2025-09-15T14:20:44.516Z | [OTHER] | Attempt 3219: Error rate 48.19% (target: 15%) -2025-09-15T14:20:44.520Z | [OTHER] | Attempt 3220: Error rate 50% (target: 15%) -2025-09-15T14:20:44.523Z | [OTHER] | Attempt 3221: Error rate 48.94% (target: 15%) -2025-09-15T14:20:44.527Z | [OTHER] | Attempt 3222: Error rate 53.25% (target: 15%) -2025-09-15T14:20:44.530Z | [OTHER] | Attempt 3223: Error rate 55.21% (target: 15%) -2025-09-15T14:20:44.534Z | [OTHER] | Attempt 3224: Error rate 56.59% (target: 15%) -2025-09-15T14:20:44.538Z | [OTHER] | Attempt 3225: Error rate 61.48% (target: 15%) -2025-09-15T14:20:44.541Z | [OTHER] | Attempt 3226: Error rate 43.94% (target: 15%) -2025-09-15T14:20:44.544Z | [OTHER] | Attempt 3227: Error rate 53.79% (target: 15%) -2025-09-15T14:20:44.548Z | [OTHER] | Attempt 3228: Error rate 57.09% (target: 15%) -2025-09-15T14:20:44.552Z | [OTHER] | Attempt 3229: Error rate 57.61% (target: 15%) -2025-09-15T14:20:44.555Z | [OTHER] | Attempt 3230: Error rate 56.44% (target: 15%) -2025-09-15T14:20:44.559Z | [OTHER] | Attempt 3231: Error rate 47.87% (target: 15%) -2025-09-15T14:20:44.562Z | [OTHER] | Attempt 3232: Error rate 58.14% (target: 15%) -2025-09-15T14:20:44.566Z | [OTHER] | Attempt 3233: Error rate 55.07% (target: 15%) -2025-09-15T14:20:44.570Z | [OTHER] | Attempt 3234: Error rate 53.26% (target: 15%) -2025-09-15T14:20:44.573Z | [OTHER] | Attempt 3235: Error rate 49.6% (target: 15%) -2025-09-15T14:20:44.577Z | [OTHER] | Attempt 3236: Error rate 51.71% (target: 15%) -2025-09-15T14:20:44.581Z | [OTHER] | Attempt 3237: Error rate 55.28% (target: 15%) -2025-09-15T14:20:44.585Z | [OTHER] | Attempt 3238: Error rate 48.94% (target: 15%) -2025-09-15T14:20:44.589Z | [OTHER] | Attempt 3239: Error rate 50.4% (target: 15%) -2025-09-15T14:20:44.592Z | [OTHER] | Attempt 3240: Error rate 53.57% (target: 15%) -2025-09-15T14:20:44.596Z | [OTHER] | Attempt 3241: Error rate 49.22% (target: 15%) -2025-09-15T14:20:44.600Z | [OTHER] | Attempt 3242: Error rate 55.81% (target: 15%) -2025-09-15T14:20:44.604Z | [OTHER] | Attempt 3243: Error rate 48.29% (target: 15%) -2025-09-15T14:20:44.608Z | [OTHER] | Attempt 3244: Error rate 55.93% (target: 15%) -2025-09-15T14:20:44.611Z | [OTHER] | Attempt 3245: Error rate 43.8% (target: 15%) -2025-09-15T14:20:44.615Z | [OTHER] | Attempt 3246: Error rate 59.13% (target: 15%) -2025-09-15T14:20:44.619Z | [OTHER] | Attempt 3247: Error rate 50.74% (target: 15%) -2025-09-15T14:20:44.623Z | [OTHER] | Attempt 3248: Error rate 53.33% (target: 15%) -2025-09-15T14:20:44.626Z | [OTHER] | Attempt 3249: Error rate 47.92% (target: 15%) -2025-09-15T14:20:44.631Z | [OTHER] | Attempt 3250: Error rate 48.11% (target: 15%) -2025-09-15T14:20:44.634Z | [OTHER] | Attempt 3251: Error rate 64.33% (target: 15%) -2025-09-15T14:20:44.638Z | [OTHER] | Attempt 3252: Error rate 56.1% (target: 15%) -2025-09-15T14:20:44.641Z | [OTHER] | Attempt 3253: Error rate 58.75% (target: 15%) -2025-09-15T14:20:44.645Z | [OTHER] | Attempt 3254: Error rate 54.44% (target: 15%) -2025-09-15T14:20:44.649Z | [OTHER] | Attempt 3255: Error rate 54.17% (target: 15%) -2025-09-15T14:20:44.653Z | [OTHER] | Attempt 3256: Error rate 46.03% (target: 15%) -2025-09-15T14:20:44.656Z | [OTHER] | Attempt 3257: Error rate 44.05% (target: 15%) -2025-09-15T14:20:44.660Z | [OTHER] | Attempt 3258: Error rate 46.75% (target: 15%) -2025-09-15T14:20:44.664Z | [OTHER] | Attempt 3259: Error rate 49.22% (target: 15%) -2025-09-15T14:20:44.667Z | [OTHER] | Attempt 3260: Error rate 46.12% (target: 15%) -2025-09-15T14:20:44.671Z | [OTHER] | Attempt 3261: Error rate 54.65% (target: 15%) -2025-09-15T14:20:44.675Z | [OTHER] | Attempt 3262: Error rate 52.27% (target: 15%) -2025-09-15T14:20:44.678Z | [OTHER] | Attempt 3263: Error rate 55% (target: 15%) -2025-09-15T14:20:44.682Z | [OTHER] | Attempt 3264: Error rate 44.2% (target: 15%) -2025-09-15T14:20:44.685Z | [OTHER] | Attempt 3265: Error rate 53.33% (target: 15%) -2025-09-15T14:20:44.690Z | [OTHER] | Attempt 3266: Error rate 52.17% (target: 15%) -2025-09-15T14:20:44.694Z | [OTHER] | Attempt 3267: Error rate 50% (target: 15%) -2025-09-15T14:20:44.697Z | [OTHER] | Attempt 3268: Error rate 65.22% (target: 15%) -2025-09-15T14:20:44.701Z | [OTHER] | Attempt 3269: Error rate 52.17% (target: 15%) -2025-09-15T14:20:44.705Z | [OTHER] | Attempt 3270: Error rate 48.89% (target: 15%) -2025-09-15T14:20:44.709Z | [OTHER] | Attempt 3271: Error rate 41.67% (target: 15%) -2025-09-15T14:20:44.713Z | [OTHER] | Attempt 3272: Error rate 44.33% (target: 15%) -2025-09-15T14:20:44.716Z | [OTHER] | Attempt 3273: Error rate 49.29% (target: 15%) -2025-09-15T14:20:44.720Z | [OTHER] | Attempt 3274: Error rate 49.21% (target: 15%) -2025-09-15T14:20:44.723Z | [OTHER] | Attempt 3275: Error rate 53.57% (target: 15%) -2025-09-15T14:20:44.727Z | [OTHER] | Attempt 3276: Error rate 50.79% (target: 15%) -2025-09-15T14:20:44.731Z | [OTHER] | Attempt 3277: Error rate 62.39% (target: 15%) -2025-09-15T14:20:44.734Z | [OTHER] | Attempt 3278: Error rate 56.03% (target: 15%) -2025-09-15T14:20:44.738Z | [OTHER] | Attempt 3279: Error rate 49.24% (target: 15%) -2025-09-15T14:20:44.742Z | [OTHER] | Attempt 3280: Error rate 52.78% (target: 15%) -2025-09-15T14:20:44.746Z | [OTHER] | Attempt 3281: Error rate 54.17% (target: 15%) -2025-09-15T14:20:44.750Z | [OTHER] | Attempt 3282: Error rate 56.35% (target: 15%) -2025-09-15T14:20:44.754Z | [OTHER] | Attempt 3283: Error rate 59.47% (target: 15%) -2025-09-15T14:20:44.758Z | [OTHER] | Attempt 3284: Error rate 51.14% (target: 15%) -2025-09-15T14:20:44.763Z | [OTHER] | Attempt 3285: Error rate 54.26% (target: 15%) -2025-09-15T14:20:44.766Z | [OTHER] | Attempt 3286: Error rate 51.11% (target: 15%) -2025-09-15T14:20:44.770Z | [OTHER] | Attempt 3287: Error rate 46.51% (target: 15%) -2025-09-15T14:20:44.774Z | [OTHER] | Attempt 3288: Error rate 56.02% (target: 15%) -2025-09-15T14:20:44.777Z | [OTHER] | Attempt 3289: Error rate 46.75% (target: 15%) -2025-09-15T14:20:44.781Z | [OTHER] | Attempt 3290: Error rate 53.41% (target: 15%) -2025-09-15T14:20:44.785Z | [OTHER] | Attempt 3291: Error rate 50% (target: 15%) -2025-09-15T14:20:44.789Z | [OTHER] | Attempt 3292: Error rate 48.15% (target: 15%) -2025-09-15T14:20:44.793Z | [OTHER] | Attempt 3293: Error rate 50.37% (target: 15%) -2025-09-15T14:20:44.797Z | [OTHER] | Attempt 3294: Error rate 54.35% (target: 15%) -2025-09-15T14:20:44.801Z | [OTHER] | Attempt 3295: Error rate 55.32% (target: 15%) -2025-09-15T14:20:44.804Z | [OTHER] | Attempt 3296: Error rate 44.1% (target: 15%) -2025-09-15T14:20:44.808Z | [OTHER] | Attempt 3297: Error rate 46.53% (target: 15%) -2025-09-15T14:20:44.812Z | [OTHER] | Attempt 3298: Error rate 57.14% (target: 15%) -2025-09-15T14:20:44.816Z | [OTHER] | Attempt 3299: Error rate 47.56% (target: 15%) -2025-09-15T14:20:44.819Z | [OTHER] | Attempt 3300: Error rate 46.74% (target: 15%) -2025-09-15T14:20:44.824Z | [OTHER] | Attempt 3301: Error rate 55.04% (target: 15%) -2025-09-15T14:20:44.827Z | [OTHER] | Attempt 3302: Error rate 50.42% (target: 15%) -2025-09-15T14:20:44.831Z | [OTHER] | Attempt 3303: Error rate 57.36% (target: 15%) -2025-09-15T14:20:44.836Z | [OTHER] | Attempt 3304: Error rate 53.97% (target: 15%) -2025-09-15T14:20:44.839Z | [OTHER] | Attempt 3305: Error rate 54.81% (target: 15%) -2025-09-15T14:20:44.843Z | [OTHER] | Attempt 3306: Error rate 56.1% (target: 15%) -2025-09-15T14:20:44.847Z | [OTHER] | Attempt 3307: Error rate 55.8% (target: 15%) -2025-09-15T14:20:44.851Z | [OTHER] | Attempt 3308: Error rate 48.58% (target: 15%) -2025-09-15T14:20:44.854Z | [OTHER] | Attempt 3309: Error rate 54.47% (target: 15%) -2025-09-15T14:20:44.858Z | [OTHER] | Attempt 3310: Error rate 48.48% (target: 15%) -2025-09-15T14:20:44.861Z | [OTHER] | Attempt 3311: Error rate 56.59% (target: 15%) -2025-09-15T14:20:44.865Z | [OTHER] | Attempt 3312: Error rate 50.72% (target: 15%) -2025-09-15T14:20:44.869Z | [OTHER] | Attempt 3313: Error rate 49.64% (target: 15%) -2025-09-15T14:20:44.873Z | [OTHER] | Attempt 3314: Error rate 53.03% (target: 15%) -2025-09-15T14:20:44.876Z | [OTHER] | Attempt 3315: Error rate 53.33% (target: 15%) -2025-09-15T14:20:44.880Z | [OTHER] | Attempt 3316: Error rate 60.74% (target: 15%) -2025-09-15T14:20:44.884Z | [OTHER] | Attempt 3317: Error rate 58.84% (target: 15%) -2025-09-15T14:20:44.887Z | [OTHER] | Attempt 3318: Error rate 54.07% (target: 15%) -2025-09-15T14:20:44.891Z | [OTHER] | Attempt 3319: Error rate 49.59% (target: 15%) -2025-09-15T14:20:44.895Z | [OTHER] | Attempt 3320: Error rate 54.17% (target: 15%) -2025-09-15T14:20:44.898Z | [OTHER] | Attempt 3321: Error rate 48.23% (target: 15%) -2025-09-15T14:20:44.902Z | [OTHER] | Attempt 3322: Error rate 59.3% (target: 15%) -2025-09-15T14:20:44.906Z | [OTHER] | Attempt 3323: Error rate 48.11% (target: 15%) -2025-09-15T14:20:44.910Z | [OTHER] | Attempt 3324: Error rate 53.75% (target: 15%) -2025-09-15T14:20:44.914Z | [OTHER] | Attempt 3325: Error rate 43.84% (target: 15%) -2025-09-15T14:20:44.918Z | [OTHER] | Attempt 3326: Error rate 55.07% (target: 15%) -2025-09-15T14:20:44.923Z | [OTHER] | Attempt 3327: Error rate 45.93% (target: 15%) -2025-09-15T14:20:44.927Z | [OTHER] | Attempt 3328: Error rate 46.59% (target: 15%) -2025-09-15T14:20:44.931Z | [OTHER] | Attempt 3329: Error rate 53.66% (target: 15%) -2025-09-15T14:20:44.935Z | [OTHER] | Attempt 3330: Error rate 55.04% (target: 15%) -2025-09-15T14:20:44.939Z | [OTHER] | Attempt 3331: Error rate 52.59% (target: 15%) -2025-09-15T14:20:44.943Z | [OTHER] | Attempt 3332: Error rate 54.26% (target: 15%) -2025-09-15T14:20:44.946Z | [OTHER] | Attempt 3333: Error rate 53.1% (target: 15%) -2025-09-15T14:20:44.950Z | [OTHER] | Attempt 3334: Error rate 64.02% (target: 15%) -2025-09-15T14:20:44.953Z | [OTHER] | Attempt 3335: Error rate 46.3% (target: 15%) -2025-09-15T14:20:44.957Z | [OTHER] | Attempt 3336: Error rate 57.04% (target: 15%) -2025-09-15T14:20:44.962Z | [OTHER] | Attempt 3337: Error rate 49.22% (target: 15%) -2025-09-15T14:20:44.965Z | [OTHER] | Attempt 3338: Error rate 53.51% (target: 15%) -2025-09-15T14:20:44.969Z | [OTHER] | Attempt 3339: Error rate 56.59% (target: 15%) -2025-09-15T14:20:44.973Z | [OTHER] | Attempt 3340: Error rate 49.15% (target: 15%) -2025-09-15T14:20:44.977Z | [OTHER] | Attempt 3341: Error rate 53.95% (target: 15%) -2025-09-15T14:20:44.980Z | [OTHER] | Attempt 3342: Error rate 57.36% (target: 15%) -2025-09-15T14:20:44.984Z | [OTHER] | Attempt 3343: Error rate 59.57% (target: 15%) -2025-09-15T14:20:44.988Z | [OTHER] | Attempt 3344: Error rate 50.36% (target: 15%) -2025-09-15T14:20:44.992Z | [OTHER] | Attempt 3345: Error rate 53.66% (target: 15%) -2025-09-15T14:20:44.995Z | [OTHER] | Attempt 3346: Error rate 50.32% (target: 15%) -2025-09-15T14:20:45.000Z | [OTHER] | Attempt 3347: Error rate 49.61% (target: 15%) -2025-09-15T14:20:45.004Z | [OTHER] | Attempt 3348: Error rate 55.04% (target: 15%) -2025-09-15T14:20:45.008Z | [OTHER] | Attempt 3349: Error rate 51.11% (target: 15%) -2025-09-15T14:20:45.012Z | [OTHER] | Attempt 3350: Error rate 54.65% (target: 15%) -2025-09-15T14:20:45.015Z | [OTHER] | Attempt 3351: Error rate 45.53% (target: 15%) -2025-09-15T14:20:45.019Z | [OTHER] | Attempt 3352: Error rate 54.17% (target: 15%) -2025-09-15T14:20:45.023Z | [OTHER] | Attempt 3353: Error rate 63.57% (target: 15%) -2025-09-15T14:20:45.027Z | [OTHER] | Attempt 3354: Error rate 48.41% (target: 15%) -2025-09-15T14:20:45.031Z | [OTHER] | Attempt 3355: Error rate 51.36% (target: 15%) -2025-09-15T14:20:45.035Z | [OTHER] | Attempt 3356: Error rate 47.73% (target: 15%) -2025-09-15T14:20:45.038Z | [OTHER] | Attempt 3357: Error rate 44.12% (target: 15%) -2025-09-15T14:20:45.043Z | [OTHER] | Attempt 3358: Error rate 50% (target: 15%) -2025-09-15T14:20:45.046Z | [OTHER] | Attempt 3359: Error rate 52.33% (target: 15%) -2025-09-15T14:20:45.050Z | [OTHER] | Attempt 3360: Error rate 51.85% (target: 15%) -2025-09-15T14:20:45.053Z | [OTHER] | Attempt 3361: Error rate 49.58% (target: 15%) -2025-09-15T14:20:45.057Z | [OTHER] | Attempt 3362: Error rate 51.25% (target: 15%) -2025-09-15T14:20:45.061Z | [OTHER] | Attempt 3363: Error rate 54.26% (target: 15%) -2025-09-15T14:20:45.065Z | [OTHER] | Attempt 3364: Error rate 50% (target: 15%) -2025-09-15T14:20:45.069Z | [OTHER] | Attempt 3365: Error rate 53.9% (target: 15%) -2025-09-15T14:20:45.072Z | [OTHER] | Attempt 3366: Error rate 50.43% (target: 15%) -2025-09-15T14:20:45.076Z | [OTHER] | Attempt 3367: Error rate 52.59% (target: 15%) -2025-09-15T14:20:45.079Z | [OTHER] | Attempt 3368: Error rate 57.04% (target: 15%) -2025-09-15T14:20:45.084Z | [OTHER] | Attempt 3369: Error rate 47.41% (target: 15%) -2025-09-15T14:20:45.087Z | [OTHER] | Attempt 3370: Error rate 47.62% (target: 15%) -2025-09-15T14:20:45.091Z | [OTHER] | Attempt 3371: Error rate 56.35% (target: 15%) -2025-09-15T14:20:45.094Z | [OTHER] | Attempt 3372: Error rate 52.78% (target: 15%) -2025-09-15T14:20:45.098Z | [OTHER] | Attempt 3373: Error rate 56.75% (target: 15%) -2025-09-15T14:20:45.102Z | [OTHER] | Attempt 3374: Error rate 53.79% (target: 15%) -2025-09-15T14:20:45.105Z | [OTHER] | Attempt 3375: Error rate 48.68% (target: 15%) -2025-09-15T14:20:45.109Z | [OTHER] | Attempt 3376: Error rate 49.62% (target: 15%) -2025-09-15T14:20:45.113Z | [OTHER] | Attempt 3377: Error rate 45.04% (target: 15%) -2025-09-15T14:20:45.116Z | [OTHER] | Attempt 3378: Error rate 53.1% (target: 15%) -2025-09-15T14:20:45.120Z | [OTHER] | Attempt 3379: Error rate 56.25% (target: 15%) -2025-09-15T14:20:45.124Z | [OTHER] | Attempt 3380: Error rate 54.65% (target: 15%) -2025-09-15T14:20:45.127Z | [OTHER] | Attempt 3381: Error rate 47.56% (target: 15%) -2025-09-15T14:20:45.131Z | [OTHER] | Attempt 3382: Error rate 55.78% (target: 15%) -2025-09-15T14:20:45.135Z | [OTHER] | Attempt 3383: Error rate 52.27% (target: 15%) -2025-09-15T14:20:45.139Z | [OTHER] | Attempt 3384: Error rate 52.65% (target: 15%) -2025-09-15T14:20:45.143Z | [OTHER] | Attempt 3385: Error rate 47.41% (target: 15%) -2025-09-15T14:20:45.146Z | [OTHER] | Attempt 3386: Error rate 55.19% (target: 15%) -2025-09-15T14:20:45.150Z | [OTHER] | Attempt 3387: Error rate 45.61% (target: 15%) -2025-09-15T14:20:45.154Z | [OTHER] | Attempt 3388: Error rate 52.85% (target: 15%) -2025-09-15T14:20:45.157Z | [OTHER] | Attempt 3389: Error rate 60.98% (target: 15%) -2025-09-15T14:20:45.161Z | [OTHER] | Attempt 3390: Error rate 51.09% (target: 15%) -2025-09-15T14:20:45.165Z | [OTHER] | Attempt 3391: Error rate 47.92% (target: 15%) -2025-09-15T14:20:45.169Z | [OTHER] | Attempt 3392: Error rate 57.54% (target: 15%) -2025-09-15T14:20:45.174Z | [OTHER] | Attempt 3393: Error rate 45.74% (target: 15%) -2025-09-15T14:20:45.178Z | [OTHER] | Attempt 3394: Error rate 52.67% (target: 15%) -2025-09-15T14:20:45.181Z | [OTHER] | Attempt 3395: Error rate 56.46% (target: 15%) -2025-09-15T14:20:45.186Z | [OTHER] | Attempt 3396: Error rate 54.71% (target: 15%) -2025-09-15T14:20:45.189Z | [OTHER] | Attempt 3397: Error rate 47.04% (target: 15%) -2025-09-15T14:20:45.193Z | [OTHER] | Attempt 3398: Error rate 47.52% (target: 15%) -2025-09-15T14:20:45.196Z | [OTHER] | Attempt 3399: Error rate 56.44% (target: 15%) -2025-09-15T14:20:45.200Z | [OTHER] | Attempt 3400: Error rate 48.48% (target: 15%) -2025-09-15T14:20:45.203Z | [OTHER] | Attempt 3401: Error rate 57.72% (target: 15%) -2025-09-15T14:20:45.207Z | [OTHER] | Attempt 3402: Error rate 58.71% (target: 15%) -2025-09-15T14:20:45.210Z | [OTHER] | Attempt 3403: Error rate 54.65% (target: 15%) -2025-09-15T14:20:45.214Z | [OTHER] | Attempt 3404: Error rate 59.26% (target: 15%) -2025-09-15T14:20:45.218Z | [OTHER] | Attempt 3405: Error rate 51.36% (target: 15%) -2025-09-15T14:20:45.221Z | [OTHER] | Attempt 3406: Error rate 52.22% (target: 15%) -2025-09-15T14:20:45.225Z | [OTHER] | Attempt 3407: Error rate 47.73% (target: 15%) -2025-09-15T14:20:45.229Z | [OTHER] | Attempt 3408: Error rate 54.61% (target: 15%) -2025-09-15T14:20:45.232Z | [OTHER] | Attempt 3409: Error rate 49.6% (target: 15%) -2025-09-15T14:20:45.235Z | [OTHER] | Attempt 3410: Error rate 43.33% (target: 15%) -2025-09-15T14:20:45.240Z | [OTHER] | Attempt 3411: Error rate 47.67% (target: 15%) -2025-09-15T14:20:45.243Z | [OTHER] | Attempt 3412: Error rate 49.24% (target: 15%) -2025-09-15T14:20:45.247Z | [OTHER] | Attempt 3413: Error rate 54.88% (target: 15%) -2025-09-15T14:20:45.252Z | [OTHER] | Attempt 3414: Error rate 58.16% (target: 15%) -2025-09-15T14:20:45.256Z | [OTHER] | Attempt 3415: Error rate 52.27% (target: 15%) -2025-09-15T14:20:45.260Z | [OTHER] | Attempt 3416: Error rate 51.39% (target: 15%) -2025-09-15T14:20:45.263Z | [OTHER] | Attempt 3417: Error rate 50.42% (target: 15%) -2025-09-15T14:20:45.267Z | [OTHER] | Attempt 3418: Error rate 49.61% (target: 15%) -2025-09-15T14:20:45.271Z | [OTHER] | Attempt 3419: Error rate 52.99% (target: 15%) -2025-09-15T14:20:45.274Z | [OTHER] | Attempt 3420: Error rate 52.33% (target: 15%) -2025-09-15T14:20:45.279Z | [OTHER] | Attempt 3421: Error rate 53.13% (target: 15%) -2025-09-15T14:20:45.283Z | [OTHER] | Attempt 3422: Error rate 57.78% (target: 15%) -2025-09-15T14:20:45.286Z | [OTHER] | Attempt 3423: Error rate 51.59% (target: 15%) -2025-09-15T14:20:45.290Z | [OTHER] | Attempt 3424: Error rate 53.66% (target: 15%) -2025-09-15T14:20:45.294Z | [OTHER] | Attempt 3425: Error rate 54.17% (target: 15%) -2025-09-15T14:20:45.298Z | [OTHER] | Attempt 3426: Error rate 50.76% (target: 15%) -2025-09-15T14:20:45.302Z | [OTHER] | Attempt 3427: Error rate 55.69% (target: 15%) -2025-09-15T14:20:45.305Z | [OTHER] | Attempt 3428: Error rate 47.83% (target: 15%) -2025-09-15T14:20:45.309Z | [OTHER] | Attempt 3429: Error rate 53.03% (target: 15%) -2025-09-15T14:20:45.313Z | [OTHER] | Attempt 3430: Error rate 45.35% (target: 15%) -2025-09-15T14:20:45.317Z | [OTHER] | Attempt 3431: Error rate 60.64% (target: 15%) -2025-09-15T14:20:45.321Z | [OTHER] | Attempt 3432: Error rate 60.08% (target: 15%) -2025-09-15T14:20:45.324Z | [OTHER] | Attempt 3433: Error rate 50.71% (target: 15%) -2025-09-15T14:20:45.328Z | [OTHER] | Attempt 3434: Error rate 47.92% (target: 15%) -2025-09-15T14:20:45.332Z | [OTHER] | Attempt 3435: Error rate 62.22% (target: 15%) -2025-09-15T14:20:45.335Z | [OTHER] | Attempt 3436: Error rate 58.13% (target: 15%) -2025-09-15T14:20:45.339Z | [OTHER] | Attempt 3437: Error rate 55.67% (target: 15%) -2025-09-15T14:20:45.343Z | [OTHER] | Attempt 3438: Error rate 49.64% (target: 15%) -2025-09-15T14:20:45.346Z | [OTHER] | Attempt 3439: Error rate 49.24% (target: 15%) -2025-09-15T14:20:45.350Z | [OTHER] | Attempt 3440: Error rate 54.17% (target: 15%) -2025-09-15T14:20:45.354Z | [OTHER] | Attempt 3441: Error rate 48.94% (target: 15%) -2025-09-15T14:20:45.357Z | [OTHER] | Attempt 3442: Error rate 57.97% (target: 15%) -2025-09-15T14:20:45.361Z | [OTHER] | Attempt 3443: Error rate 48.37% (target: 15%) -2025-09-15T14:20:45.364Z | [OTHER] | Attempt 3444: Error rate 44.57% (target: 15%) -2025-09-15T14:20:45.368Z | [OTHER] | Attempt 3445: Error rate 52.7% (target: 15%) -2025-09-15T14:20:45.372Z | [OTHER] | Attempt 3446: Error rate 47.57% (target: 15%) -2025-09-15T14:20:45.376Z | [OTHER] | Attempt 3447: Error rate 48.45% (target: 15%) -2025-09-15T14:20:45.379Z | [OTHER] | Attempt 3448: Error rate 59% (target: 15%) -2025-09-15T14:20:45.383Z | [OTHER] | Attempt 3449: Error rate 48.89% (target: 15%) -2025-09-15T14:20:45.387Z | [OTHER] | Attempt 3450: Error rate 61.81% (target: 15%) -2025-09-15T14:20:45.390Z | [OTHER] | Attempt 3451: Error rate 49.29% (target: 15%) -2025-09-15T14:20:45.395Z | [OTHER] | Attempt 3452: Error rate 43.56% (target: 15%) -2025-09-15T14:20:45.398Z | [OTHER] | Attempt 3453: Error rate 54.86% (target: 15%) -2025-09-15T14:20:45.402Z | [OTHER] | Attempt 3454: Error rate 54.55% (target: 15%) -2025-09-15T14:20:45.406Z | [OTHER] | Attempt 3455: Error rate 56.88% (target: 15%) -2025-09-15T14:20:45.410Z | [OTHER] | Attempt 3456: Error rate 46.51% (target: 15%) -2025-09-15T14:20:45.414Z | [OTHER] | Attempt 3457: Error rate 52.17% (target: 15%) -2025-09-15T14:20:45.418Z | [OTHER] | Attempt 3458: Error rate 52.9% (target: 15%) -2025-09-15T14:20:45.421Z | [OTHER] | Attempt 3459: Error rate 40.53% (target: 15%) -2025-09-15T14:20:45.425Z | [OTHER] | Attempt 3460: Error rate 56.06% (target: 15%) -2025-09-15T14:20:45.429Z | [OTHER] | Attempt 3461: Error rate 53.49% (target: 15%) -2025-09-15T14:20:45.433Z | [OTHER] | Attempt 3462: Error rate 50.76% (target: 15%) -2025-09-15T14:20:45.436Z | [OTHER] | Attempt 3463: Error rate 49.19% (target: 15%) -2025-09-15T14:20:45.440Z | [OTHER] | Attempt 3464: Error rate 55.81% (target: 15%) -2025-09-15T14:20:45.444Z | [OTHER] | Attempt 3465: Error rate 55.81% (target: 15%) -2025-09-15T14:20:45.448Z | [OTHER] | Attempt 3466: Error rate 60.09% (target: 15%) -2025-09-15T14:20:45.452Z | [OTHER] | Attempt 3467: Error rate 51.14% (target: 15%) -2025-09-15T14:20:45.456Z | [OTHER] | Attempt 3468: Error rate 54.88% (target: 15%) -2025-09-15T14:20:45.460Z | [OTHER] | Attempt 3469: Error rate 47.97% (target: 15%) -2025-09-15T14:20:45.463Z | [OTHER] | Attempt 3470: Error rate 47.62% (target: 15%) -2025-09-15T14:20:45.467Z | [OTHER] | Attempt 3471: Error rate 52.17% (target: 15%) -2025-09-15T14:20:45.471Z | [OTHER] | Attempt 3472: Error rate 49.26% (target: 15%) -2025-09-15T14:20:45.477Z | [OTHER] | Attempt 3473: Error rate 55.78% (target: 15%) -2025-09-15T14:20:45.481Z | [OTHER] | Attempt 3474: Error rate 49.22% (target: 15%) -2025-09-15T14:20:45.485Z | [OTHER] | Attempt 3475: Error rate 46.67% (target: 15%) -2025-09-15T14:20:45.489Z | [OTHER] | Attempt 3476: Error rate 55.68% (target: 15%) -2025-09-15T14:20:45.493Z | [OTHER] | Attempt 3477: Error rate 54.07% (target: 15%) -2025-09-15T14:20:45.497Z | [OTHER] | Attempt 3478: Error rate 60.57% (target: 15%) -2025-09-15T14:20:45.502Z | [OTHER] | Attempt 3479: Error rate 53.19% (target: 15%) -2025-09-15T14:20:45.506Z | [OTHER] | Attempt 3480: Error rate 53.99% (target: 15%) -2025-09-15T14:20:45.509Z | [OTHER] | Attempt 3481: Error rate 58.14% (target: 15%) -2025-09-15T14:20:45.513Z | [OTHER] | Attempt 3482: Error rate 50.34% (target: 15%) -2025-09-15T14:20:45.517Z | [OTHER] | Attempt 3483: Error rate 58.16% (target: 15%) -2025-09-15T14:20:45.521Z | [OTHER] | Attempt 3484: Error rate 53.49% (target: 15%) -2025-09-15T14:20:45.525Z | [OTHER] | Attempt 3485: Error rate 51.59% (target: 15%) -2025-09-15T14:20:45.529Z | [OTHER] | Attempt 3486: Error rate 41.67% (target: 15%) -2025-09-15T14:20:45.533Z | [OTHER] | Attempt 3487: Error rate 48.65% (target: 15%) -2025-09-15T14:20:45.538Z | [OTHER] | Attempt 3488: Error rate 43.7% (target: 15%) -2025-09-15T14:20:45.541Z | [OTHER] | Attempt 3489: Error rate 45.45% (target: 15%) -2025-09-15T14:20:45.545Z | [OTHER] | Attempt 3490: Error rate 47.29% (target: 15%) -2025-09-15T14:20:45.549Z | [OTHER] | Attempt 3491: Error rate 52% (target: 15%) -2025-09-15T14:20:45.553Z | [OTHER] | Attempt 3492: Error rate 51.06% (target: 15%) -2025-09-15T14:20:45.557Z | [OTHER] | Attempt 3493: Error rate 58.5% (target: 15%) -2025-09-15T14:20:45.562Z | [OTHER] | Attempt 3494: Error rate 59.92% (target: 15%) -2025-09-15T14:20:45.566Z | [OTHER] | Attempt 3495: Error rate 47.46% (target: 15%) -2025-09-15T14:20:45.569Z | [OTHER] | Attempt 3496: Error rate 40.58% (target: 15%) -2025-09-15T14:20:45.573Z | [OTHER] | Attempt 3497: Error rate 56.75% (target: 15%) -2025-09-15T14:20:45.577Z | [OTHER] | Attempt 3498: Error rate 51.09% (target: 15%) -2025-09-15T14:20:45.581Z | [OTHER] | Attempt 3499: Error rate 54.81% (target: 15%) -2025-09-15T14:20:45.585Z | [OTHER] | Attempt 3500: Error rate 44.96% (target: 15%) -2025-09-15T14:20:45.589Z | [OTHER] | Attempt 3501: Error rate 43.97% (target: 15%) -2025-09-15T14:20:45.593Z | [OTHER] | Attempt 3502: Error rate 47.92% (target: 15%) -2025-09-15T14:20:45.597Z | [OTHER] | Attempt 3503: Error rate 60.26% (target: 15%) -2025-09-15T14:20:45.601Z | [OTHER] | Attempt 3504: Error rate 48.3% (target: 15%) -2025-09-15T14:20:45.605Z | [OTHER] | Attempt 3505: Error rate 53.62% (target: 15%) -2025-09-15T14:20:45.609Z | [OTHER] | Attempt 3506: Error rate 42.03% (target: 15%) -2025-09-15T14:20:45.613Z | [OTHER] | Attempt 3507: Error rate 54.37% (target: 15%) -2025-09-15T14:20:45.617Z | [OTHER] | Attempt 3508: Error rate 54.5% (target: 15%) -2025-09-15T14:20:45.620Z | [OTHER] | Attempt 3509: Error rate 57.75% (target: 15%) -2025-09-15T14:20:45.624Z | [OTHER] | Attempt 3510: Error rate 55.93% (target: 15%) -2025-09-15T14:20:45.628Z | [OTHER] | Attempt 3511: Error rate 58.51% (target: 15%) -2025-09-15T14:20:45.632Z | [OTHER] | Attempt 3512: Error rate 50.74% (target: 15%) -2025-09-15T14:20:45.635Z | [OTHER] | Attempt 3513: Error rate 51.67% (target: 15%) -2025-09-15T14:20:45.639Z | [OTHER] | Attempt 3514: Error rate 50.69% (target: 15%) -2025-09-15T14:20:45.643Z | [OTHER] | Attempt 3515: Error rate 49.65% (target: 15%) -2025-09-15T14:20:45.647Z | [OTHER] | Attempt 3516: Error rate 47.29% (target: 15%) -2025-09-15T14:20:45.651Z | [OTHER] | Attempt 3517: Error rate 57.36% (target: 15%) -2025-09-15T14:20:45.655Z | [OTHER] | Attempt 3518: Error rate 48.11% (target: 15%) -2025-09-15T14:20:45.659Z | [OTHER] | Attempt 3519: Error rate 50.38% (target: 15%) -2025-09-15T14:20:45.662Z | [OTHER] | Attempt 3520: Error rate 56.52% (target: 15%) -2025-09-15T14:20:45.666Z | [OTHER] | Attempt 3521: Error rate 52.33% (target: 15%) -2025-09-15T14:20:45.671Z | [OTHER] | Attempt 3522: Error rate 58.14% (target: 15%) -2025-09-15T14:20:45.674Z | [OTHER] | Attempt 3523: Error rate 46.74% (target: 15%) -2025-09-15T14:20:45.679Z | [OTHER] | Attempt 3524: Error rate 54.26% (target: 15%) -2025-09-15T14:20:45.683Z | [OTHER] | Attempt 3525: Error rate 45.83% (target: 15%) -2025-09-15T14:20:45.687Z | [OTHER] | Attempt 3526: Error rate 50.74% (target: 15%) -2025-09-15T14:20:45.691Z | [OTHER] | Attempt 3527: Error rate 51.89% (target: 15%) -2025-09-15T14:20:45.695Z | [OTHER] | Attempt 3528: Error rate 50.38% (target: 15%) -2025-09-15T14:20:45.698Z | [OTHER] | Attempt 3529: Error rate 53.03% (target: 15%) -2025-09-15T14:20:45.702Z | [OTHER] | Attempt 3530: Error rate 50% (target: 15%) -2025-09-15T14:20:45.706Z | [OTHER] | Attempt 3531: Error rate 48.52% (target: 15%) -2025-09-15T14:20:45.710Z | [OTHER] | Attempt 3532: Error rate 55.07% (target: 15%) -2025-09-15T14:20:45.713Z | [OTHER] | Attempt 3533: Error rate 53.7% (target: 15%) -2025-09-15T14:20:45.717Z | [OTHER] | Attempt 3534: Error rate 48.15% (target: 15%) -2025-09-15T14:20:45.721Z | [OTHER] | Attempt 3535: Error rate 50% (target: 15%) -2025-09-15T14:20:45.724Z | [OTHER] | Attempt 3536: Error rate 57.04% (target: 15%) -2025-09-15T14:20:45.729Z | [OTHER] | Attempt 3537: Error rate 54.07% (target: 15%) -2025-09-15T14:20:45.732Z | [OTHER] | Attempt 3538: Error rate 58.54% (target: 15%) -2025-09-15T14:20:45.736Z | [OTHER] | Attempt 3539: Error rate 51.67% (target: 15%) -2025-09-15T14:20:45.740Z | [OTHER] | Attempt 3540: Error rate 56.75% (target: 15%) -2025-09-15T14:20:45.744Z | [OTHER] | Attempt 3541: Error rate 49.62% (target: 15%) -2025-09-15T14:20:45.747Z | [OTHER] | Attempt 3542: Error rate 53.66% (target: 15%) -2025-09-15T14:20:45.751Z | [OTHER] | Attempt 3543: Error rate 47.73% (target: 15%) -2025-09-15T14:20:45.755Z | [OTHER] | Attempt 3544: Error rate 45.35% (target: 15%) -2025-09-15T14:20:45.759Z | [OTHER] | Attempt 3545: Error rate 61.79% (target: 15%) -2025-09-15T14:20:45.763Z | [OTHER] | Attempt 3546: Error rate 53.79% (target: 15%) -2025-09-15T14:20:45.767Z | [OTHER] | Attempt 3547: Error rate 60.26% (target: 15%) -2025-09-15T14:20:45.771Z | [OTHER] | Attempt 3548: Error rate 54.86% (target: 15%) -2025-09-15T14:20:45.775Z | [OTHER] | Attempt 3549: Error rate 46.03% (target: 15%) -2025-09-15T14:20:45.779Z | [OTHER] | Attempt 3550: Error rate 54.07% (target: 15%) -2025-09-15T14:20:45.782Z | [OTHER] | Attempt 3551: Error rate 54.37% (target: 15%) -2025-09-15T14:20:45.787Z | [OTHER] | Attempt 3552: Error rate 55.21% (target: 15%) -2025-09-15T14:20:45.790Z | [OTHER] | Attempt 3553: Error rate 60.53% (target: 15%) -2025-09-15T14:20:45.794Z | [OTHER] | Attempt 3554: Error rate 51.22% (target: 15%) -2025-09-15T14:20:45.798Z | [OTHER] | Attempt 3555: Error rate 46.97% (target: 15%) -2025-09-15T14:20:45.801Z | [OTHER] | Attempt 3556: Error rate 52.43% (target: 15%) -2025-09-15T14:20:45.806Z | [OTHER] | Attempt 3557: Error rate 54.07% (target: 15%) -2025-09-15T14:20:45.809Z | [OTHER] | Attempt 3558: Error rate 52.9% (target: 15%) -2025-09-15T14:20:45.813Z | [OTHER] | Attempt 3559: Error rate 51.59% (target: 15%) -2025-09-15T14:20:45.817Z | [OTHER] | Attempt 3560: Error rate 54.5% (target: 15%) -2025-09-15T14:20:45.821Z | [OTHER] | Attempt 3561: Error rate 48.48% (target: 15%) -2025-09-15T14:20:45.825Z | [OTHER] | Attempt 3562: Error rate 54.55% (target: 15%) -2025-09-15T14:20:45.828Z | [OTHER] | Attempt 3563: Error rate 56.82% (target: 15%) -2025-09-15T14:20:45.832Z | [OTHER] | Attempt 3564: Error rate 54.51% (target: 15%) -2025-09-15T14:20:45.836Z | [OTHER] | Attempt 3565: Error rate 62.7% (target: 15%) -2025-09-15T14:20:45.840Z | [OTHER] | Attempt 3566: Error rate 56.3% (target: 15%) -2025-09-15T14:20:45.844Z | [OTHER] | Attempt 3567: Error rate 53.47% (target: 15%) -2025-09-15T14:20:45.848Z | [OTHER] | Attempt 3568: Error rate 59.3% (target: 15%) -2025-09-15T14:20:45.852Z | [OTHER] | Attempt 3569: Error rate 57.04% (target: 15%) -2025-09-15T14:20:45.855Z | [OTHER] | Attempt 3570: Error rate 50.88% (target: 15%) -2025-09-15T14:20:45.859Z | [OTHER] | Attempt 3571: Error rate 40.94% (target: 15%) -2025-09-15T14:20:45.863Z | [OTHER] | Attempt 3572: Error rate 51.14% (target: 15%) -2025-09-15T14:20:45.867Z | [OTHER] | Attempt 3573: Error rate 52.5% (target: 15%) -2025-09-15T14:20:45.870Z | [OTHER] | Attempt 3574: Error rate 55.95% (target: 15%) -2025-09-15T14:20:45.874Z | [OTHER] | Attempt 3575: Error rate 60.48% (target: 15%) -2025-09-15T14:20:45.879Z | [OTHER] | Attempt 3576: Error rate 60.42% (target: 15%) -2025-09-15T14:20:45.883Z | [OTHER] | Attempt 3577: Error rate 52.03% (target: 15%) -2025-09-15T14:20:45.886Z | [OTHER] | Attempt 3578: Error rate 48.48% (target: 15%) -2025-09-15T14:20:45.891Z | [OTHER] | Attempt 3579: Error rate 61.24% (target: 15%) -2025-09-15T14:20:45.894Z | [OTHER] | Attempt 3580: Error rate 51.89% (target: 15%) -2025-09-15T14:20:45.898Z | [OTHER] | Attempt 3581: Error rate 43.16% (target: 15%) -2025-09-15T14:20:45.902Z | [OTHER] | Attempt 3582: Error rate 48.06% (target: 15%) -2025-09-15T14:20:45.905Z | [OTHER] | Attempt 3583: Error rate 54.65% (target: 15%) -2025-09-15T14:20:45.909Z | [OTHER] | Attempt 3584: Error rate 51.04% (target: 15%) -2025-09-15T14:20:45.913Z | [OTHER] | Attempt 3585: Error rate 49.58% (target: 15%) -2025-09-15T14:20:45.917Z | [OTHER] | Attempt 3586: Error rate 48.89% (target: 15%) -2025-09-15T14:20:45.921Z | [OTHER] | Attempt 3587: Error rate 48.45% (target: 15%) -2025-09-15T14:20:45.925Z | [OTHER] | Attempt 3588: Error rate 54.37% (target: 15%) -2025-09-15T14:20:45.929Z | [OTHER] | Attempt 3589: Error rate 51.39% (target: 15%) -2025-09-15T14:20:45.933Z | [OTHER] | Attempt 3590: Error rate 53.74% (target: 15%) -2025-09-15T14:20:45.937Z | [OTHER] | Attempt 3591: Error rate 55.81% (target: 15%) -2025-09-15T14:20:45.941Z | [OTHER] | Attempt 3592: Error rate 50.72% (target: 15%) -2025-09-15T14:20:45.945Z | [OTHER] | Attempt 3593: Error rate 53.88% (target: 15%) -2025-09-15T14:20:45.949Z | [OTHER] | Attempt 3594: Error rate 55.93% (target: 15%) -2025-09-15T14:20:45.953Z | [OTHER] | Attempt 3595: Error rate 51.11% (target: 15%) -2025-09-15T14:20:45.957Z | [OTHER] | Attempt 3596: Error rate 54.44% (target: 15%) -2025-09-15T14:20:45.961Z | [OTHER] | Attempt 3597: Error rate 54.26% (target: 15%) -2025-09-15T14:20:45.965Z | [OTHER] | Attempt 3598: Error rate 53.25% (target: 15%) -2025-09-15T14:20:45.969Z | [OTHER] | Attempt 3599: Error rate 48.45% (target: 15%) -2025-09-15T14:20:45.973Z | [OTHER] | Attempt 3600: Error rate 55.43% (target: 15%) -2025-09-15T14:20:45.977Z | [OTHER] | Attempt 3601: Error rate 58.89% (target: 15%) -2025-09-15T14:20:45.981Z | [OTHER] | Attempt 3602: Error rate 49.62% (target: 15%) -2025-09-15T14:20:45.986Z | [OTHER] | Attempt 3603: Error rate 58.33% (target: 15%) -2025-09-15T14:20:45.988Z | [OTHER] | Attempt 3604: Error rate 56.67% (target: 15%) -2025-09-15T14:20:45.992Z | [OTHER] | Attempt 3605: Error rate 45.83% (target: 15%) -2025-09-15T14:20:45.996Z | [OTHER] | Attempt 3606: Error rate 57.64% (target: 15%) -2025-09-15T14:20:46.000Z | [OTHER] | Attempt 3607: Error rate 56.88% (target: 15%) -2025-09-15T14:20:46.004Z | [OTHER] | Attempt 3608: Error rate 56.59% (target: 15%) -2025-09-15T14:20:46.008Z | [OTHER] | Attempt 3609: Error rate 51.48% (target: 15%) -2025-09-15T14:20:46.012Z | [OTHER] | Attempt 3610: Error rate 56.2% (target: 15%) -2025-09-15T14:20:46.016Z | [OTHER] | Attempt 3611: Error rate 57.61% (target: 15%) -2025-09-15T14:20:46.020Z | [OTHER] | Attempt 3612: Error rate 48.02% (target: 15%) -2025-09-15T14:20:46.024Z | [OTHER] | Attempt 3613: Error rate 60.32% (target: 15%) -2025-09-15T14:20:46.028Z | [OTHER] | Attempt 3614: Error rate 48.15% (target: 15%) -2025-09-15T14:20:46.032Z | [OTHER] | Attempt 3615: Error rate 52.71% (target: 15%) -2025-09-15T14:20:46.036Z | [OTHER] | Attempt 3616: Error rate 48.11% (target: 15%) -2025-09-15T14:20:46.040Z | [OTHER] | Attempt 3617: Error rate 56.98% (target: 15%) -2025-09-15T14:20:46.043Z | [OTHER] | Attempt 3618: Error rate 54.81% (target: 15%) -2025-09-15T14:20:46.048Z | [OTHER] | Attempt 3619: Error rate 54.71% (target: 15%) -2025-09-15T14:20:46.053Z | [OTHER] | Attempt 3620: Error rate 50.83% (target: 15%) -2025-09-15T14:20:46.057Z | [OTHER] | Attempt 3621: Error rate 52.72% (target: 15%) -2025-09-15T14:20:46.061Z | [OTHER] | Attempt 3622: Error rate 52.22% (target: 15%) -2025-09-15T14:20:46.066Z | [OTHER] | Attempt 3623: Error rate 50.39% (target: 15%) -2025-09-15T14:20:46.070Z | [OTHER] | Attempt 3624: Error rate 49.62% (target: 15%) -2025-09-15T14:20:46.074Z | [OTHER] | Attempt 3625: Error rate 51.42% (target: 15%) -2025-09-15T14:20:46.078Z | [OTHER] | Attempt 3626: Error rate 54.44% (target: 15%) -2025-09-15T14:20:46.082Z | [OTHER] | Attempt 3627: Error rate 45.35% (target: 15%) -2025-09-15T14:20:46.086Z | [OTHER] | Attempt 3628: Error rate 42.46% (target: 15%) -2025-09-15T14:20:46.090Z | [OTHER] | Attempt 3629: Error rate 52.96% (target: 15%) -2025-09-15T14:20:46.094Z | [OTHER] | Attempt 3630: Error rate 60.28% (target: 15%) -2025-09-15T14:20:46.098Z | [OTHER] | Attempt 3631: Error rate 60.42% (target: 15%) -2025-09-15T14:20:46.102Z | [OTHER] | Attempt 3632: Error rate 50.79% (target: 15%) -2025-09-15T14:20:46.107Z | [OTHER] | Attempt 3633: Error rate 52.38% (target: 15%) -2025-09-15T14:20:46.111Z | [OTHER] | Attempt 3634: Error rate 60.08% (target: 15%) -2025-09-15T14:20:46.115Z | [OTHER] | Attempt 3635: Error rate 57.92% (target: 15%) -2025-09-15T14:20:46.119Z | [OTHER] | Attempt 3636: Error rate 52.48% (target: 15%) -2025-09-15T14:20:46.123Z | [OTHER] | Attempt 3637: Error rate 52.78% (target: 15%) -2025-09-15T14:20:46.127Z | [OTHER] | Attempt 3638: Error rate 50% (target: 15%) -2025-09-15T14:20:46.131Z | [OTHER] | Attempt 3639: Error rate 56.52% (target: 15%) -2025-09-15T14:20:46.134Z | [OTHER] | Attempt 3640: Error rate 50.85% (target: 15%) -2025-09-15T14:20:46.139Z | [OTHER] | Attempt 3641: Error rate 55.19% (target: 15%) -2025-09-15T14:20:46.143Z | [OTHER] | Attempt 3642: Error rate 48.81% (target: 15%) -2025-09-15T14:20:46.146Z | [OTHER] | Attempt 3643: Error rate 48.52% (target: 15%) -2025-09-15T14:20:46.150Z | [OTHER] | Attempt 3644: Error rate 42.06% (target: 15%) -2025-09-15T14:20:46.155Z | [OTHER] | Attempt 3645: Error rate 48.72% (target: 15%) -2025-09-15T14:20:46.158Z | [OTHER] | Attempt 3646: Error rate 51.63% (target: 15%) -2025-09-15T14:20:46.162Z | [OTHER] | Attempt 3647: Error rate 53.79% (target: 15%) -2025-09-15T14:20:46.166Z | [OTHER] | Attempt 3648: Error rate 57.69% (target: 15%) -2025-09-15T14:20:46.170Z | [OTHER] | Attempt 3649: Error rate 48.52% (target: 15%) -2025-09-15T14:20:46.174Z | [OTHER] | Attempt 3650: Error rate 55.3% (target: 15%) -2025-09-15T14:20:46.178Z | [OTHER] | Attempt 3651: Error rate 40.7% (target: 15%) -2025-09-15T14:20:46.182Z | [OTHER] | Attempt 3652: Error rate 61.11% (target: 15%) -2025-09-15T14:20:46.186Z | [OTHER] | Attempt 3653: Error rate 49.63% (target: 15%) -2025-09-15T14:20:46.190Z | [OTHER] | Attempt 3654: Error rate 51.55% (target: 15%) -2025-09-15T14:20:46.194Z | [OTHER] | Attempt 3655: Error rate 57.75% (target: 15%) -2025-09-15T14:20:46.198Z | [OTHER] | Attempt 3656: Error rate 56.44% (target: 15%) -2025-09-15T14:20:46.202Z | [OTHER] | Attempt 3657: Error rate 51.09% (target: 15%) -2025-09-15T14:20:46.206Z | [OTHER] | Attempt 3658: Error rate 49.31% (target: 15%) -2025-09-15T14:20:46.210Z | [OTHER] | Attempt 3659: Error rate 53.7% (target: 15%) -2025-09-15T14:20:46.215Z | [OTHER] | Attempt 3660: Error rate 44.79% (target: 15%) -2025-09-15T14:20:46.218Z | [OTHER] | Attempt 3661: Error rate 51.11% (target: 15%) -2025-09-15T14:20:46.222Z | [OTHER] | Attempt 3662: Error rate 50.79% (target: 15%) -2025-09-15T14:20:46.227Z | [OTHER] | Attempt 3663: Error rate 51.89% (target: 15%) -2025-09-15T14:20:46.231Z | [OTHER] | Attempt 3664: Error rate 48.41% (target: 15%) -2025-09-15T14:20:46.234Z | [OTHER] | Attempt 3665: Error rate 51.48% (target: 15%) -2025-09-15T14:20:46.238Z | [OTHER] | Attempt 3666: Error rate 53.33% (target: 15%) -2025-09-15T14:20:46.242Z | [OTHER] | Attempt 3667: Error rate 55.67% (target: 15%) -2025-09-15T14:20:46.246Z | [OTHER] | Attempt 3668: Error rate 61.51% (target: 15%) -2025-09-15T14:20:46.250Z | [OTHER] | Attempt 3669: Error rate 56.6% (target: 15%) -2025-09-15T14:20:46.254Z | [OTHER] | Attempt 3670: Error rate 51.89% (target: 15%) -2025-09-15T14:20:46.259Z | [OTHER] | Attempt 3671: Error rate 53.26% (target: 15%) -2025-09-15T14:20:46.263Z | [OTHER] | Attempt 3672: Error rate 48.37% (target: 15%) -2025-09-15T14:20:46.267Z | [OTHER] | Attempt 3673: Error rate 45.39% (target: 15%) -2025-09-15T14:20:46.271Z | [OTHER] | Attempt 3674: Error rate 50.72% (target: 15%) -2025-09-15T14:20:46.276Z | [OTHER] | Attempt 3675: Error rate 60.54% (target: 15%) -2025-09-15T14:20:46.279Z | [OTHER] | Attempt 3676: Error rate 51.98% (target: 15%) -2025-09-15T14:20:46.284Z | [OTHER] | Attempt 3677: Error rate 51.59% (target: 15%) -2025-09-15T14:20:46.288Z | [OTHER] | Attempt 3678: Error rate 39.01% (target: 15%) -2025-09-15T14:20:46.292Z | [OTHER] | Attempt 3679: Error rate 48.48% (target: 15%) -2025-09-15T14:20:46.296Z | [OTHER] | Attempt 3680: Error rate 57.8% (target: 15%) -2025-09-15T14:20:46.300Z | [OTHER] | Attempt 3681: Error rate 47.15% (target: 15%) -2025-09-15T14:20:46.304Z | [OTHER] | Attempt 3682: Error rate 58.15% (target: 15%) -2025-09-15T14:20:46.308Z | [OTHER] | Attempt 3683: Error rate 55.19% (target: 15%) -2025-09-15T14:20:46.312Z | [OTHER] | Attempt 3684: Error rate 54.39% (target: 15%) -2025-09-15T14:20:46.316Z | [OTHER] | Attempt 3685: Error rate 58.16% (target: 15%) -2025-09-15T14:20:46.320Z | [OTHER] | Attempt 3686: Error rate 52.9% (target: 15%) -2025-09-15T14:20:46.324Z | [OTHER] | Attempt 3687: Error rate 53.88% (target: 15%) -2025-09-15T14:20:46.328Z | [OTHER] | Attempt 3688: Error rate 47.35% (target: 15%) -2025-09-15T14:20:46.332Z | [OTHER] | Attempt 3689: Error rate 56.25% (target: 15%) -2025-09-15T14:20:46.336Z | [OTHER] | Attempt 3690: Error rate 55.95% (target: 15%) -2025-09-15T14:20:46.340Z | [OTHER] | Attempt 3691: Error rate 51.85% (target: 15%) -2025-09-15T14:20:46.344Z | [OTHER] | Attempt 3692: Error rate 57.94% (target: 15%) -2025-09-15T14:20:46.348Z | [OTHER] | Attempt 3693: Error rate 49.26% (target: 15%) -2025-09-15T14:20:46.352Z | [OTHER] | Attempt 3694: Error rate 49.65% (target: 15%) -2025-09-15T14:20:46.356Z | [OTHER] | Attempt 3695: Error rate 55.81% (target: 15%) -2025-09-15T14:20:46.361Z | [OTHER] | Attempt 3696: Error rate 51.63% (target: 15%) -2025-09-15T14:20:46.365Z | [OTHER] | Attempt 3697: Error rate 60.08% (target: 15%) -2025-09-15T14:20:46.369Z | [OTHER] | Attempt 3698: Error rate 43.9% (target: 15%) -2025-09-15T14:20:46.373Z | [OTHER] | Attempt 3699: Error rate 53.99% (target: 15%) -2025-09-15T14:20:46.377Z | [OTHER] | Attempt 3700: Error rate 51.81% (target: 15%) -2025-09-15T14:20:46.381Z | [OTHER] | Attempt 3701: Error rate 50.74% (target: 15%) -2025-09-15T14:20:46.385Z | [OTHER] | Attempt 3702: Error rate 53.79% (target: 15%) -2025-09-15T14:20:46.389Z | [OTHER] | Attempt 3703: Error rate 50% (target: 15%) -2025-09-15T14:20:46.393Z | [OTHER] | Attempt 3704: Error rate 51.81% (target: 15%) -2025-09-15T14:20:46.399Z | [OTHER] | Attempt 3705: Error rate 52.27% (target: 15%) -2025-09-15T14:20:46.402Z | [OTHER] | Attempt 3706: Error rate 47.83% (target: 15%) -2025-09-15T14:20:46.406Z | [OTHER] | Attempt 3707: Error rate 53.17% (target: 15%) -2025-09-15T14:20:46.411Z | [OTHER] | Attempt 3708: Error rate 42.01% (target: 15%) -2025-09-15T14:20:46.415Z | [OTHER] | Attempt 3709: Error rate 54.65% (target: 15%) -2025-09-15T14:20:46.418Z | [OTHER] | Attempt 3710: Error rate 52.99% (target: 15%) -2025-09-15T14:20:46.422Z | [OTHER] | Attempt 3711: Error rate 64.07% (target: 15%) -2025-09-15T14:20:46.427Z | [OTHER] | Attempt 3712: Error rate 51.55% (target: 15%) -2025-09-15T14:20:46.430Z | [OTHER] | Attempt 3713: Error rate 56.59% (target: 15%) -2025-09-15T14:20:46.435Z | [OTHER] | Attempt 3714: Error rate 49.24% (target: 15%) -2025-09-15T14:20:46.439Z | [OTHER] | Attempt 3715: Error rate 52.38% (target: 15%) -2025-09-15T14:20:46.442Z | [OTHER] | Attempt 3716: Error rate 58.14% (target: 15%) -2025-09-15T14:20:46.446Z | [OTHER] | Attempt 3717: Error rate 60.42% (target: 15%) -2025-09-15T14:20:46.450Z | [OTHER] | Attempt 3718: Error rate 48.48% (target: 15%) -2025-09-15T14:20:46.454Z | [OTHER] | Attempt 3719: Error rate 54.5% (target: 15%) -2025-09-15T14:20:46.458Z | [OTHER] | Attempt 3720: Error rate 53.66% (target: 15%) -2025-09-15T14:20:46.462Z | [OTHER] | Attempt 3721: Error rate 53.82% (target: 15%) -2025-09-15T14:20:46.467Z | [OTHER] | Attempt 3722: Error rate 52.22% (target: 15%) -2025-09-15T14:20:46.471Z | [OTHER] | Attempt 3723: Error rate 43.41% (target: 15%) -2025-09-15T14:20:46.475Z | [OTHER] | Attempt 3724: Error rate 54.07% (target: 15%) -2025-09-15T14:20:46.479Z | [OTHER] | Attempt 3725: Error rate 41.67% (target: 15%) -2025-09-15T14:20:46.484Z | [OTHER] | Attempt 3726: Error rate 52.78% (target: 15%) -2025-09-15T14:20:46.488Z | [OTHER] | Attempt 3727: Error rate 50% (target: 15%) -2025-09-15T14:20:46.492Z | [OTHER] | Attempt 3728: Error rate 51.59% (target: 15%) -2025-09-15T14:20:46.496Z | [OTHER] | Attempt 3729: Error rate 50.4% (target: 15%) -2025-09-15T14:20:46.500Z | [OTHER] | Attempt 3730: Error rate 49.15% (target: 15%) -2025-09-15T14:20:46.504Z | [OTHER] | Attempt 3731: Error rate 51.81% (target: 15%) -2025-09-15T14:20:46.508Z | [OTHER] | Attempt 3732: Error rate 42.96% (target: 15%) -2025-09-15T14:20:46.512Z | [OTHER] | Attempt 3733: Error rate 52.08% (target: 15%) -2025-09-15T14:20:46.516Z | [OTHER] | Attempt 3734: Error rate 51.16% (target: 15%) -2025-09-15T14:20:46.520Z | [OTHER] | Attempt 3735: Error rate 55.56% (target: 15%) -2025-09-15T14:20:46.524Z | [OTHER] | Attempt 3736: Error rate 56.82% (target: 15%) -2025-09-15T14:20:46.528Z | [OTHER] | Attempt 3737: Error rate 45.56% (target: 15%) -2025-09-15T14:20:46.532Z | [OTHER] | Attempt 3738: Error rate 53.75% (target: 15%) -2025-09-15T14:20:46.536Z | [OTHER] | Attempt 3739: Error rate 51.94% (target: 15%) -2025-09-15T14:20:46.540Z | [OTHER] | Attempt 3740: Error rate 54.17% (target: 15%) -2025-09-15T14:20:46.544Z | [OTHER] | Attempt 3741: Error rate 50% (target: 15%) -2025-09-15T14:20:46.549Z | [OTHER] | Attempt 3742: Error rate 53.49% (target: 15%) -2025-09-15T14:20:46.553Z | [OTHER] | Attempt 3743: Error rate 41.67% (target: 15%) -2025-09-15T14:20:46.557Z | [OTHER] | Attempt 3744: Error rate 51.63% (target: 15%) -2025-09-15T14:20:46.561Z | [OTHER] | Attempt 3745: Error rate 55.93% (target: 15%) -2025-09-15T14:20:46.565Z | [OTHER] | Attempt 3746: Error rate 50.74% (target: 15%) -2025-09-15T14:20:46.570Z | [OTHER] | Attempt 3747: Error rate 48.84% (target: 15%) -2025-09-15T14:20:46.574Z | [OTHER] | Attempt 3748: Error rate 60.47% (target: 15%) -2025-09-15T14:20:46.578Z | [OTHER] | Attempt 3749: Error rate 55.81% (target: 15%) -2025-09-15T14:20:46.582Z | [OTHER] | Attempt 3750: Error rate 54.17% (target: 15%) -2025-09-15T14:20:46.586Z | [OTHER] | Attempt 3751: Error rate 58.33% (target: 15%) -2025-09-15T14:20:46.590Z | [OTHER] | Attempt 3752: Error rate 52.65% (target: 15%) -2025-09-15T14:20:46.594Z | [OTHER] | Attempt 3753: Error rate 50% (target: 15%) -2025-09-15T14:20:46.598Z | [OTHER] | Attempt 3754: Error rate 52.85% (target: 15%) -2025-09-15T14:20:46.602Z | [OTHER] | Attempt 3755: Error rate 48.86% (target: 15%) -2025-09-15T14:20:46.606Z | [OTHER] | Attempt 3756: Error rate 52.78% (target: 15%) -2025-09-15T14:20:46.611Z | [OTHER] | Attempt 3757: Error rate 47.92% (target: 15%) -2025-09-15T14:20:46.615Z | [OTHER] | Attempt 3758: Error rate 55.16% (target: 15%) -2025-09-15T14:20:46.619Z | [OTHER] | Attempt 3759: Error rate 50% (target: 15%) -2025-09-15T14:20:46.622Z | [OTHER] | Attempt 3760: Error rate 57.2% (target: 15%) -2025-09-15T14:20:46.626Z | [OTHER] | Attempt 3761: Error rate 52.71% (target: 15%) -2025-09-15T14:20:46.630Z | [OTHER] | Attempt 3762: Error rate 53.62% (target: 15%) -2025-09-15T14:20:46.635Z | [OTHER] | Attempt 3763: Error rate 48.61% (target: 15%) -2025-09-15T14:20:46.639Z | [OTHER] | Attempt 3764: Error rate 57.92% (target: 15%) -2025-09-15T14:20:46.643Z | [OTHER] | Attempt 3765: Error rate 64.39% (target: 15%) -2025-09-15T14:20:46.647Z | [OTHER] | Attempt 3766: Error rate 54.51% (target: 15%) -2025-09-15T14:20:46.651Z | [OTHER] | Attempt 3767: Error rate 48.89% (target: 15%) -2025-09-15T14:20:46.655Z | [OTHER] | Attempt 3768: Error rate 54.42% (target: 15%) -2025-09-15T14:20:46.659Z | [OTHER] | Attempt 3769: Error rate 63.82% (target: 15%) -2025-09-15T14:20:46.663Z | [OTHER] | Attempt 3770: Error rate 47.78% (target: 15%) -2025-09-15T14:20:46.667Z | [OTHER] | Attempt 3771: Error rate 51.14% (target: 15%) -2025-09-15T14:20:46.670Z | [OTHER] | Attempt 3772: Error rate 44.07% (target: 15%) -2025-09-15T14:20:46.674Z | [OTHER] | Attempt 3773: Error rate 54.17% (target: 15%) -2025-09-15T14:20:46.678Z | [OTHER] | Attempt 3774: Error rate 53.7% (target: 15%) -2025-09-15T14:20:46.683Z | [OTHER] | Attempt 3775: Error rate 50.98% (target: 15%) -2025-09-15T14:20:46.687Z | [OTHER] | Attempt 3776: Error rate 56.67% (target: 15%) -2025-09-15T14:20:46.691Z | [OTHER] | Attempt 3777: Error rate 51.19% (target: 15%) -2025-09-15T14:20:46.695Z | [OTHER] | Attempt 3778: Error rate 62.32% (target: 15%) -2025-09-15T14:20:46.699Z | [OTHER] | Attempt 3779: Error rate 51.14% (target: 15%) -2025-09-15T14:20:46.703Z | [OTHER] | Attempt 3780: Error rate 54.96% (target: 15%) -2025-09-15T14:20:46.707Z | [OTHER] | Attempt 3781: Error rate 48.55% (target: 15%) -2025-09-15T14:20:46.711Z | [OTHER] | Attempt 3782: Error rate 53.1% (target: 15%) -2025-09-15T14:20:46.715Z | [OTHER] | Attempt 3783: Error rate 51.14% (target: 15%) -2025-09-15T14:20:46.719Z | [OTHER] | Attempt 3784: Error rate 49.32% (target: 15%) -2025-09-15T14:20:46.723Z | [OTHER] | Attempt 3785: Error rate 40.42% (target: 15%) -2025-09-15T14:20:46.727Z | [OTHER] | Attempt 3786: Error rate 48.78% (target: 15%) -2025-09-15T14:20:46.731Z | [OTHER] | Attempt 3787: Error rate 59.13% (target: 15%) -2025-09-15T14:20:46.737Z | [OTHER] | Attempt 3788: Error rate 51.22% (target: 15%) -2025-09-15T14:20:46.740Z | [OTHER] | Attempt 3789: Error rate 48.48% (target: 15%) -2025-09-15T14:20:46.744Z | [OTHER] | Attempt 3790: Error rate 59.38% (target: 15%) -2025-09-15T14:20:46.748Z | [OTHER] | Attempt 3791: Error rate 53.33% (target: 15%) -2025-09-15T14:20:46.752Z | [OTHER] | Attempt 3792: Error rate 51.55% (target: 15%) -2025-09-15T14:20:46.756Z | [OTHER] | Attempt 3793: Error rate 51.89% (target: 15%) -2025-09-15T14:20:46.760Z | [OTHER] | Attempt 3794: Error rate 45.74% (target: 15%) -2025-09-15T14:20:46.765Z | [OTHER] | Attempt 3795: Error rate 51.48% (target: 15%) -2025-09-15T14:20:46.769Z | [OTHER] | Attempt 3796: Error rate 48.91% (target: 15%) -2025-09-15T14:20:46.773Z | [OTHER] | Attempt 3797: Error rate 42.39% (target: 15%) -2025-09-15T14:20:46.777Z | [OTHER] | Attempt 3798: Error rate 51.14% (target: 15%) -2025-09-15T14:20:46.781Z | [OTHER] | Attempt 3799: Error rate 49.62% (target: 15%) -2025-09-15T14:20:46.785Z | [OTHER] | Attempt 3800: Error rate 56.2% (target: 15%) -2025-09-15T14:20:46.789Z | [OTHER] | Attempt 3801: Error rate 55.83% (target: 15%) -2025-09-15T14:20:46.793Z | [OTHER] | Attempt 3802: Error rate 51.85% (target: 15%) -2025-09-15T14:20:46.797Z | [OTHER] | Attempt 3803: Error rate 41.67% (target: 15%) -2025-09-15T14:20:46.801Z | [OTHER] | Attempt 3804: Error rate 55.3% (target: 15%) -2025-09-15T14:20:46.805Z | [OTHER] | Attempt 3805: Error rate 56.59% (target: 15%) -2025-09-15T14:20:46.809Z | [OTHER] | Attempt 3806: Error rate 56.75% (target: 15%) -2025-09-15T14:20:46.813Z | [OTHER] | Attempt 3807: Error rate 50.83% (target: 15%) -2025-09-15T14:20:46.817Z | [OTHER] | Attempt 3808: Error rate 51.02% (target: 15%) -2025-09-15T14:20:46.821Z | [OTHER] | Attempt 3809: Error rate 47.62% (target: 15%) -2025-09-15T14:20:46.825Z | [OTHER] | Attempt 3810: Error rate 62.12% (target: 15%) -2025-09-15T14:20:46.829Z | [OTHER] | Attempt 3811: Error rate 52.38% (target: 15%) -2025-09-15T14:20:46.833Z | [OTHER] | Attempt 3812: Error rate 46.58% (target: 15%) -2025-09-15T14:20:46.837Z | [OTHER] | Attempt 3813: Error rate 45.18% (target: 15%) -2025-09-15T14:20:46.842Z | [OTHER] | Attempt 3814: Error rate 53.55% (target: 15%) -2025-09-15T14:20:46.846Z | [OTHER] | Attempt 3815: Error rate 53.26% (target: 15%) -2025-09-15T14:20:46.850Z | [OTHER] | Attempt 3816: Error rate 47.73% (target: 15%) -2025-09-15T14:20:46.854Z | [OTHER] | Attempt 3817: Error rate 58.77% (target: 15%) -2025-09-15T14:20:46.858Z | [OTHER] | Attempt 3818: Error rate 49.28% (target: 15%) -2025-09-15T14:20:46.862Z | [OTHER] | Attempt 3819: Error rate 57.45% (target: 15%) -2025-09-15T14:20:46.866Z | [OTHER] | Attempt 3820: Error rate 50% (target: 15%) -2025-09-15T14:20:46.870Z | [OTHER] | Attempt 3821: Error rate 39.32% (target: 15%) -2025-09-15T14:20:46.874Z | [OTHER] | Attempt 3822: Error rate 49.59% (target: 15%) -2025-09-15T14:20:46.878Z | [OTHER] | Attempt 3823: Error rate 54.92% (target: 15%) -2025-09-15T14:20:46.883Z | [OTHER] | Attempt 3824: Error rate 50% (target: 15%) -2025-09-15T14:20:46.887Z | [OTHER] | Attempt 3825: Error rate 55.81% (target: 15%) -2025-09-15T14:20:46.891Z | [OTHER] | Attempt 3826: Error rate 55.3% (target: 15%) -2025-09-15T14:20:46.894Z | [OTHER] | Attempt 3827: Error rate 44.44% (target: 15%) -2025-09-15T14:20:46.898Z | [OTHER] | Attempt 3828: Error rate 53.26% (target: 15%) -2025-09-15T14:20:46.903Z | [OTHER] | Attempt 3829: Error rate 54.35% (target: 15%) -2025-09-15T14:20:46.908Z | [OTHER] | Attempt 3830: Error rate 50.71% (target: 15%) -2025-09-15T14:20:46.911Z | [OTHER] | Attempt 3831: Error rate 50% (target: 15%) -2025-09-15T14:20:46.915Z | [OTHER] | Attempt 3832: Error rate 52.54% (target: 15%) -2025-09-15T14:20:46.920Z | [OTHER] | Attempt 3833: Error rate 50.76% (target: 15%) -2025-09-15T14:20:46.924Z | [OTHER] | Attempt 3834: Error rate 51.25% (target: 15%) -2025-09-15T14:20:46.928Z | [OTHER] | Attempt 3835: Error rate 51.39% (target: 15%) -2025-09-15T14:20:46.933Z | [OTHER] | Attempt 3836: Error rate 43.33% (target: 15%) -2025-09-15T14:20:46.938Z | [OTHER] | Attempt 3837: Error rate 53.42% (target: 15%) -2025-09-15T14:20:46.942Z | [OTHER] | Attempt 3838: Error rate 57.95% (target: 15%) -2025-09-15T14:20:46.946Z | [OTHER] | Attempt 3839: Error rate 53.33% (target: 15%) -2025-09-15T14:20:46.951Z | [OTHER] | Attempt 3840: Error rate 54.26% (target: 15%) -2025-09-15T14:20:46.954Z | [OTHER] | Attempt 3841: Error rate 51.48% (target: 15%) -2025-09-15T14:20:46.959Z | [OTHER] | Attempt 3842: Error rate 56.88% (target: 15%) -2025-09-15T14:20:46.963Z | [OTHER] | Attempt 3843: Error rate 46.74% (target: 15%) -2025-09-15T14:20:46.967Z | [OTHER] | Attempt 3844: Error rate 57.2% (target: 15%) -2025-09-15T14:20:46.971Z | [OTHER] | Attempt 3845: Error rate 50.78% (target: 15%) -2025-09-15T14:20:46.975Z | [OTHER] | Attempt 3846: Error rate 54.07% (target: 15%) -2025-09-15T14:20:46.980Z | [OTHER] | Attempt 3847: Error rate 62.68% (target: 15%) -2025-09-15T14:20:46.984Z | [OTHER] | Attempt 3848: Error rate 55.3% (target: 15%) -2025-09-15T14:20:46.988Z | [OTHER] | Attempt 3849: Error rate 55.43% (target: 15%) -2025-09-15T14:20:46.992Z | [OTHER] | Attempt 3850: Error rate 45.39% (target: 15%) -2025-09-15T14:20:46.996Z | [OTHER] | Attempt 3851: Error rate 51.22% (target: 15%) -2025-09-15T14:20:47.000Z | [OTHER] | Attempt 3852: Error rate 58.33% (target: 15%) -2025-09-15T14:20:47.005Z | [OTHER] | Attempt 3853: Error rate 59.09% (target: 15%) -2025-09-15T14:20:47.010Z | [OTHER] | Attempt 3854: Error rate 48.15% (target: 15%) -2025-09-15T14:20:47.014Z | [OTHER] | Attempt 3855: Error rate 44% (target: 15%) -2025-09-15T14:20:47.018Z | [OTHER] | Attempt 3856: Error rate 53.99% (target: 15%) -2025-09-15T14:20:47.022Z | [OTHER] | Attempt 3857: Error rate 51.45% (target: 15%) -2025-09-15T14:20:47.026Z | [OTHER] | Attempt 3858: Error rate 53.07% (target: 15%) -2025-09-15T14:20:47.030Z | [OTHER] | Attempt 3859: Error rate 51.14% (target: 15%) -2025-09-15T14:20:47.034Z | [OTHER] | Attempt 3860: Error rate 50.35% (target: 15%) -2025-09-15T14:20:47.039Z | [OTHER] | Attempt 3861: Error rate 48.23% (target: 15%) -2025-09-15T14:20:47.043Z | [OTHER] | Attempt 3862: Error rate 50.83% (target: 15%) -2025-09-15T14:20:47.047Z | [OTHER] | Attempt 3863: Error rate 58.7% (target: 15%) -2025-09-15T14:20:47.051Z | [OTHER] | Attempt 3864: Error rate 57.67% (target: 15%) -2025-09-15T14:20:47.055Z | [OTHER] | Attempt 3865: Error rate 53.1% (target: 15%) -2025-09-15T14:20:47.059Z | [OTHER] | Attempt 3866: Error rate 44.84% (target: 15%) -2025-09-15T14:20:47.063Z | [OTHER] | Attempt 3867: Error rate 51.09% (target: 15%) -2025-09-15T14:20:47.067Z | [OTHER] | Attempt 3868: Error rate 55.56% (target: 15%) -2025-09-15T14:20:47.071Z | [OTHER] | Attempt 3869: Error rate 43.33% (target: 15%) -2025-09-15T14:20:47.075Z | [OTHER] | Attempt 3870: Error rate 52.56% (target: 15%) -2025-09-15T14:20:47.079Z | [OTHER] | Attempt 3871: Error rate 54.44% (target: 15%) -2025-09-15T14:20:47.084Z | [OTHER] | Attempt 3872: Error rate 58.55% (target: 15%) -2025-09-15T14:20:47.087Z | [OTHER] | Attempt 3873: Error rate 47.04% (target: 15%) -2025-09-15T14:20:47.091Z | [OTHER] | Attempt 3874: Error rate 53.62% (target: 15%) -2025-09-15T14:20:47.095Z | [OTHER] | Attempt 3875: Error rate 45.74% (target: 15%) -2025-09-15T14:20:47.100Z | [OTHER] | Attempt 3876: Error rate 45.83% (target: 15%) -2025-09-15T14:20:47.104Z | [OTHER] | Attempt 3877: Error rate 47.29% (target: 15%) -2025-09-15T14:20:47.108Z | [OTHER] | Attempt 3878: Error rate 55.13% (target: 15%) -2025-09-15T14:20:47.112Z | [OTHER] | Attempt 3879: Error rate 43.12% (target: 15%) -2025-09-15T14:20:47.116Z | [OTHER] | Attempt 3880: Error rate 48.61% (target: 15%) -2025-09-15T14:20:47.120Z | [OTHER] | Attempt 3881: Error rate 50.69% (target: 15%) -2025-09-15T14:20:47.124Z | [OTHER] | Attempt 3882: Error rate 52.78% (target: 15%) -2025-09-15T14:20:47.128Z | [OTHER] | Attempt 3883: Error rate 58.33% (target: 15%) -2025-09-15T14:20:47.133Z | [OTHER] | Attempt 3884: Error rate 52.08% (target: 15%) -2025-09-15T14:20:47.137Z | [OTHER] | Attempt 3885: Error rate 53.66% (target: 15%) -2025-09-15T14:20:47.141Z | [OTHER] | Attempt 3886: Error rate 53.25% (target: 15%) -2025-09-15T14:20:47.145Z | [OTHER] | Attempt 3887: Error rate 53.55% (target: 15%) -2025-09-15T14:20:47.149Z | [OTHER] | Attempt 3888: Error rate 46.25% (target: 15%) -2025-09-15T14:20:47.154Z | [OTHER] | Attempt 3889: Error rate 48.11% (target: 15%) -2025-09-15T14:20:47.158Z | [OTHER] | Attempt 3890: Error rate 47.41% (target: 15%) -2025-09-15T14:20:47.162Z | [OTHER] | Attempt 3891: Error rate 52.27% (target: 15%) -2025-09-15T14:20:47.166Z | [OTHER] | Attempt 3892: Error rate 56.88% (target: 15%) -2025-09-15T14:20:47.170Z | [OTHER] | Attempt 3893: Error rate 51.33% (target: 15%) -2025-09-15T14:20:47.176Z | [OTHER] | Attempt 3894: Error rate 53.47% (target: 15%) -2025-09-15T14:20:47.180Z | [OTHER] | Attempt 3895: Error rate 54.47% (target: 15%) -2025-09-15T14:20:47.185Z | [OTHER] | Attempt 3896: Error rate 55.68% (target: 15%) -2025-09-15T14:20:47.189Z | [OTHER] | Attempt 3897: Error rate 52.17% (target: 15%) -2025-09-15T14:20:47.194Z | [OTHER] | Attempt 3898: Error rate 55.81% (target: 15%) -2025-09-15T14:20:47.198Z | [OTHER] | Attempt 3899: Error rate 54.17% (target: 15%) -2025-09-15T14:20:47.202Z | [OTHER] | Attempt 3900: Error rate 54.17% (target: 15%) -2025-09-15T14:20:47.206Z | [OTHER] | Attempt 3901: Error rate 58.52% (target: 15%) -2025-09-15T14:20:47.211Z | [OTHER] | Attempt 3902: Error rate 53.62% (target: 15%) -2025-09-15T14:20:47.215Z | [OTHER] | Attempt 3903: Error rate 54.26% (target: 15%) -2025-09-15T14:20:47.219Z | [OTHER] | Attempt 3904: Error rate 57.92% (target: 15%) -2025-09-15T14:20:47.224Z | [OTHER] | Attempt 3905: Error rate 54.17% (target: 15%) -2025-09-15T14:20:47.228Z | [OTHER] | Attempt 3906: Error rate 51.94% (target: 15%) -2025-09-15T14:20:47.233Z | [OTHER] | Attempt 3907: Error rate 53.17% (target: 15%) -2025-09-15T14:20:47.237Z | [OTHER] | Attempt 3908: Error rate 45.1% (target: 15%) -2025-09-15T14:20:47.241Z | [OTHER] | Attempt 3909: Error rate 53.57% (target: 15%) -2025-09-15T14:20:47.246Z | [OTHER] | Attempt 3910: Error rate 54.76% (target: 15%) -2025-09-15T14:20:47.250Z | [OTHER] | Attempt 3911: Error rate 48.23% (target: 15%) -2025-09-15T14:20:47.254Z | [OTHER] | Attempt 3912: Error rate 47.04% (target: 15%) -2025-09-15T14:20:47.258Z | [OTHER] | Attempt 3913: Error rate 55.69% (target: 15%) -2025-09-15T14:20:47.263Z | [OTHER] | Attempt 3914: Error rate 66.67% (target: 15%) -2025-09-15T14:20:47.267Z | [OTHER] | Attempt 3915: Error rate 56.31% (target: 15%) -2025-09-15T14:20:47.271Z | [OTHER] | Attempt 3916: Error rate 50.37% (target: 15%) -2025-09-15T14:20:47.275Z | [OTHER] | Attempt 3917: Error rate 56.06% (target: 15%) -2025-09-15T14:20:47.280Z | [OTHER] | Attempt 3918: Error rate 52.71% (target: 15%) -2025-09-15T14:20:47.284Z | [OTHER] | Attempt 3919: Error rate 47.62% (target: 15%) -2025-09-15T14:20:47.288Z | [OTHER] | Attempt 3920: Error rate 52.84% (target: 15%) -2025-09-15T14:20:47.292Z | [OTHER] | Attempt 3921: Error rate 45.04% (target: 15%) -2025-09-15T14:20:47.297Z | [OTHER] | Attempt 3922: Error rate 56.25% (target: 15%) -2025-09-15T14:20:47.302Z | [OTHER] | Attempt 3923: Error rate 47.73% (target: 15%) -2025-09-15T14:20:47.306Z | [OTHER] | Attempt 3924: Error rate 56.06% (target: 15%) -2025-09-15T14:20:47.311Z | [OTHER] | Attempt 3925: Error rate 52.22% (target: 15%) -2025-09-15T14:20:47.315Z | [OTHER] | Attempt 3926: Error rate 53.88% (target: 15%) -2025-09-15T14:20:47.320Z | [OTHER] | Attempt 3927: Error rate 54.37% (target: 15%) -2025-09-15T14:20:47.324Z | [OTHER] | Attempt 3928: Error rate 45.29% (target: 15%) -2025-09-15T14:20:47.329Z | [OTHER] | Attempt 3929: Error rate 45.08% (target: 15%) -2025-09-15T14:20:47.333Z | [OTHER] | Attempt 3930: Error rate 57.54% (target: 15%) -2025-09-15T14:20:47.338Z | [OTHER] | Attempt 3931: Error rate 50.36% (target: 15%) -2025-09-15T14:20:47.343Z | [OTHER] | Attempt 3932: Error rate 54.55% (target: 15%) -2025-09-15T14:20:47.348Z | [OTHER] | Attempt 3933: Error rate 52.96% (target: 15%) -2025-09-15T14:20:47.352Z | [OTHER] | Attempt 3934: Error rate 49.62% (target: 15%) -2025-09-15T14:20:47.357Z | [OTHER] | Attempt 3935: Error rate 47.86% (target: 15%) -2025-09-15T14:20:47.363Z | [OTHER] | Attempt 3936: Error rate 50.76% (target: 15%) -2025-09-15T14:20:47.367Z | [OTHER] | Attempt 3937: Error rate 56.59% (target: 15%) -2025-09-15T14:20:47.373Z | [OTHER] | Attempt 3938: Error rate 47.87% (target: 15%) -2025-09-15T14:20:47.378Z | [OTHER] | Attempt 3939: Error rate 52.85% (target: 15%) -2025-09-15T14:20:47.383Z | [OTHER] | Attempt 3940: Error rate 57.21% (target: 15%) -2025-09-15T14:20:47.388Z | [OTHER] | Attempt 3941: Error rate 48.89% (target: 15%) -2025-09-15T14:20:47.393Z | [OTHER] | Attempt 3942: Error rate 53.49% (target: 15%) -2025-09-15T14:20:47.399Z | [OTHER] | Attempt 3943: Error rate 51.48% (target: 15%) -2025-09-15T14:20:47.404Z | [OTHER] | Attempt 3944: Error rate 52.17% (target: 15%) -2025-09-15T14:20:47.409Z | [OTHER] | Attempt 3945: Error rate 47.73% (target: 15%) -2025-09-15T14:20:47.413Z | [OTHER] | Attempt 3946: Error rate 48.41% (target: 15%) -2025-09-15T14:20:47.418Z | [OTHER] | Attempt 3947: Error rate 56.2% (target: 15%) -2025-09-15T14:20:47.423Z | [OTHER] | Attempt 3948: Error rate 50% (target: 15%) -2025-09-15T14:20:47.427Z | [OTHER] | Attempt 3949: Error rate 51.59% (target: 15%) -2025-09-15T14:20:47.432Z | [OTHER] | Attempt 3950: Error rate 46.03% (target: 15%) -2025-09-15T14:20:47.438Z | [OTHER] | Attempt 3951: Error rate 46% (target: 15%) -2025-09-15T14:20:47.443Z | [OTHER] | Attempt 3952: Error rate 46.34% (target: 15%) -2025-09-15T14:20:47.448Z | [OTHER] | Attempt 3953: Error rate 56.67% (target: 15%) -2025-09-15T14:20:47.452Z | [OTHER] | Attempt 3954: Error rate 51.11% (target: 15%) -2025-09-15T14:20:47.457Z | [OTHER] | Attempt 3955: Error rate 48.33% (target: 15%) -2025-09-15T14:20:47.462Z | [OTHER] | Attempt 3956: Error rate 48.52% (target: 15%) -2025-09-15T14:20:47.467Z | [OTHER] | Attempt 3957: Error rate 50.38% (target: 15%) -2025-09-15T14:20:47.472Z | [OTHER] | Attempt 3958: Error rate 52.56% (target: 15%) -2025-09-15T14:20:47.479Z | [OTHER] | Attempt 3959: Error rate 55.19% (target: 15%) -2025-09-15T14:20:47.483Z | [OTHER] | Attempt 3960: Error rate 51.85% (target: 15%) -2025-09-15T14:20:47.487Z | [OTHER] | Attempt 3961: Error rate 50.72% (target: 15%) -2025-09-15T14:20:47.492Z | [OTHER] | Attempt 3962: Error rate 52.48% (target: 15%) -2025-09-15T14:20:47.497Z | [OTHER] | Attempt 3963: Error rate 53.82% (target: 15%) -2025-09-15T14:20:47.502Z | [OTHER] | Attempt 3964: Error rate 56.91% (target: 15%) -2025-09-15T14:20:47.506Z | [OTHER] | Attempt 3965: Error rate 51.52% (target: 15%) -2025-09-15T14:20:47.511Z | [OTHER] | Attempt 3966: Error rate 52.38% (target: 15%) -2025-09-15T14:20:47.515Z | [OTHER] | Attempt 3967: Error rate 50.79% (target: 15%) -2025-09-15T14:20:47.519Z | [OTHER] | Attempt 3968: Error rate 54.07% (target: 15%) -2025-09-15T14:20:47.524Z | [OTHER] | Attempt 3969: Error rate 51.48% (target: 15%) -2025-09-15T14:20:47.528Z | [OTHER] | Attempt 3970: Error rate 49.26% (target: 15%) -2025-09-15T14:20:47.532Z | [OTHER] | Attempt 3971: Error rate 55.9% (target: 15%) -2025-09-15T14:20:47.537Z | [OTHER] | Attempt 3972: Error rate 54.76% (target: 15%) -2025-09-15T14:20:47.541Z | [OTHER] | Attempt 3973: Error rate 60.61% (target: 15%) -2025-09-15T14:20:47.545Z | [OTHER] | Attempt 3974: Error rate 40.53% (target: 15%) -2025-09-15T14:20:47.552Z | [OTHER] | Attempt 3975: Error rate 52.71% (target: 15%) -2025-09-15T14:20:47.559Z | [OTHER] | Attempt 3976: Error rate 56.3% (target: 15%) -2025-09-15T14:20:47.564Z | [OTHER] | Attempt 3977: Error rate 53.41% (target: 15%) -2025-09-15T14:20:47.569Z | [OTHER] | Attempt 3978: Error rate 44.07% (target: 15%) -2025-09-15T14:20:47.573Z | [OTHER] | Attempt 3979: Error rate 54.26% (target: 15%) -2025-09-15T14:20:47.578Z | [OTHER] | Attempt 3980: Error rate 58.53% (target: 15%) -2025-09-15T14:20:47.582Z | [OTHER] | Attempt 3981: Error rate 62.22% (target: 15%) -2025-09-15T14:20:47.587Z | [OTHER] | Attempt 3982: Error rate 47.96% (target: 15%) -2025-09-15T14:20:47.592Z | [OTHER] | Attempt 3983: Error rate 52.78% (target: 15%) -2025-09-15T14:20:47.596Z | [OTHER] | Attempt 3984: Error rate 55.68% (target: 15%) -2025-09-15T14:20:47.601Z | [OTHER] | Attempt 3985: Error rate 53.33% (target: 15%) -2025-09-15T14:20:47.606Z | [OTHER] | Attempt 3986: Error rate 51.22% (target: 15%) -2025-09-15T14:20:47.611Z | [OTHER] | Attempt 3987: Error rate 50% (target: 15%) -2025-09-15T14:20:47.615Z | [OTHER] | Attempt 3988: Error rate 51.14% (target: 15%) -2025-09-15T14:20:47.619Z | [OTHER] | Attempt 3989: Error rate 54.65% (target: 15%) -2025-09-15T14:20:47.623Z | [OTHER] | Attempt 3990: Error rate 54.51% (target: 15%) -2025-09-15T14:20:47.628Z | [OTHER] | Attempt 3991: Error rate 48.02% (target: 15%) -2025-09-15T14:20:47.632Z | [OTHER] | Attempt 3992: Error rate 53.4% (target: 15%) -2025-09-15T14:20:47.636Z | [OTHER] | Attempt 3993: Error rate 60.14% (target: 15%) -2025-09-15T14:20:47.640Z | [OTHER] | Attempt 3994: Error rate 47.56% (target: 15%) -2025-09-15T14:20:47.645Z | [OTHER] | Attempt 3995: Error rate 46.34% (target: 15%) -2025-09-15T14:20:47.649Z | [OTHER] | Attempt 3996: Error rate 51.11% (target: 15%) -2025-09-15T14:20:47.653Z | [OTHER] | Attempt 3997: Error rate 56.06% (target: 15%) -2025-09-15T14:20:47.657Z | [OTHER] | Attempt 3998: Error rate 46.25% (target: 15%) -2025-09-15T14:20:47.663Z | [OTHER] | Attempt 3999: Error rate 47.78% (target: 15%) -2025-09-15T14:20:47.666Z | [OTHER] | Attempt 4000: Error rate 53.41% (target: 15%) -2025-09-15T14:20:47.671Z | [OTHER] | Attempt 4001: Error rate 55.69% (target: 15%) -2025-09-15T14:20:47.676Z | [OTHER] | Attempt 4002: Error rate 54.92% (target: 15%) -2025-09-15T14:20:47.680Z | [OTHER] | Attempt 4003: Error rate 57.94% (target: 15%) -2025-09-15T14:20:47.684Z | [OTHER] | Attempt 4004: Error rate 53.55% (target: 15%) -2025-09-15T14:20:47.689Z | [OTHER] | Attempt 4005: Error rate 51.04% (target: 15%) -2025-09-15T14:20:47.693Z | [OTHER] | Attempt 4006: Error rate 52.48% (target: 15%) -2025-09-15T14:20:47.697Z | [OTHER] | Attempt 4007: Error rate 46.75% (target: 15%) -2025-09-15T14:20:47.702Z | [OTHER] | Attempt 4008: Error rate 54.55% (target: 15%) -2025-09-15T14:20:47.706Z | [OTHER] | Attempt 4009: Error rate 45.63% (target: 15%) -2025-09-15T14:20:47.710Z | [OTHER] | Attempt 4010: Error rate 44.32% (target: 15%) -2025-09-15T14:20:47.714Z | [OTHER] | Attempt 4011: Error rate 51.55% (target: 15%) -2025-09-15T14:20:47.719Z | [OTHER] | Attempt 4012: Error rate 57.69% (target: 15%) -2025-09-15T14:20:47.723Z | [OTHER] | Attempt 4013: Error rate 51.98% (target: 15%) -2025-09-15T14:20:47.728Z | [OTHER] | Attempt 4014: Error rate 47.83% (target: 15%) -2025-09-15T14:20:47.733Z | [OTHER] | Attempt 4015: Error rate 52.48% (target: 15%) -2025-09-15T14:20:47.737Z | [OTHER] | Attempt 4016: Error rate 47.78% (target: 15%) -2025-09-15T14:20:47.741Z | [OTHER] | Attempt 4017: Error rate 53.9% (target: 15%) -2025-09-15T14:20:47.745Z | [OTHER] | Attempt 4018: Error rate 58.7% (target: 15%) -2025-09-15T14:20:47.750Z | [OTHER] | Attempt 4019: Error rate 51.11% (target: 15%) -2025-09-15T14:20:47.754Z | [OTHER] | Attempt 4020: Error rate 52.54% (target: 15%) -2025-09-15T14:20:47.758Z | [OTHER] | Attempt 4021: Error rate 50.74% (target: 15%) -2025-09-15T14:20:47.763Z | [OTHER] | Attempt 4022: Error rate 50.79% (target: 15%) -2025-09-15T14:20:47.768Z | [OTHER] | Attempt 4023: Error rate 54.71% (target: 15%) -2025-09-15T14:20:47.772Z | [OTHER] | Attempt 4024: Error rate 58.52% (target: 15%) -2025-09-15T14:20:47.777Z | [OTHER] | Attempt 4025: Error rate 54.96% (target: 15%) -2025-09-15T14:20:47.782Z | [OTHER] | Attempt 4026: Error rate 54.58% (target: 15%) -2025-09-15T14:20:47.786Z | [OTHER] | Attempt 4027: Error rate 44.44% (target: 15%) -2025-09-15T14:20:47.790Z | [OTHER] | Attempt 4028: Error rate 56.44% (target: 15%) -2025-09-15T14:20:47.795Z | [OTHER] | Attempt 4029: Error rate 55% (target: 15%) -2025-09-15T14:20:47.799Z | [OTHER] | Attempt 4030: Error rate 55.56% (target: 15%) -2025-09-15T14:20:47.803Z | [OTHER] | Attempt 4031: Error rate 59.92% (target: 15%) -2025-09-15T14:20:47.808Z | [OTHER] | Attempt 4032: Error rate 55.3% (target: 15%) -2025-09-15T14:20:47.812Z | [OTHER] | Attempt 4033: Error rate 57.75% (target: 15%) -2025-09-15T14:20:47.817Z | [OTHER] | Attempt 4034: Error rate 50.76% (target: 15%) -2025-09-15T14:20:47.821Z | [OTHER] | Attempt 4035: Error rate 55.43% (target: 15%) -2025-09-15T14:20:47.826Z | [OTHER] | Attempt 4036: Error rate 60% (target: 15%) -2025-09-15T14:20:47.831Z | [OTHER] | Attempt 4037: Error rate 53.55% (target: 15%) -2025-09-15T14:20:47.835Z | [OTHER] | Attempt 4038: Error rate 56.1% (target: 15%) -2025-09-15T14:20:47.840Z | [OTHER] | Attempt 4039: Error rate 52.17% (target: 15%) -2025-09-15T14:20:47.844Z | [OTHER] | Attempt 4040: Error rate 58.67% (target: 15%) -2025-09-15T14:20:47.848Z | [OTHER] | Attempt 4041: Error rate 58.15% (target: 15%) -2025-09-15T14:20:47.852Z | [OTHER] | Attempt 4042: Error rate 57.02% (target: 15%) -2025-09-15T14:20:47.857Z | [OTHER] | Attempt 4043: Error rate 46.81% (target: 15%) -2025-09-15T14:20:47.861Z | [OTHER] | Attempt 4044: Error rate 50.76% (target: 15%) -2025-09-15T14:20:47.865Z | [OTHER] | Attempt 4045: Error rate 46.83% (target: 15%) -2025-09-15T14:20:47.870Z | [OTHER] | Attempt 4046: Error rate 51.48% (target: 15%) -2025-09-15T14:20:47.874Z | [OTHER] | Attempt 4047: Error rate 56.3% (target: 15%) -2025-09-15T14:20:47.878Z | [OTHER] | Attempt 4048: Error rate 47.16% (target: 15%) -2025-09-15T14:20:47.883Z | [OTHER] | Attempt 4049: Error rate 55.3% (target: 15%) -2025-09-15T14:20:47.887Z | [OTHER] | Attempt 4050: Error rate 48.48% (target: 15%) -2025-09-15T14:20:47.891Z | [OTHER] | Attempt 4051: Error rate 47.44% (target: 15%) -2025-09-15T14:20:47.896Z | [OTHER] | Attempt 4052: Error rate 55.95% (target: 15%) -2025-09-15T14:20:47.900Z | [OTHER] | Attempt 4053: Error rate 52.71% (target: 15%) -2025-09-15T14:20:47.905Z | [OTHER] | Attempt 4054: Error rate 58.33% (target: 15%) -2025-09-15T14:20:47.909Z | [OTHER] | Attempt 4055: Error rate 50.74% (target: 15%) -2025-09-15T14:20:47.913Z | [OTHER] | Attempt 4056: Error rate 54.65% (target: 15%) -2025-09-15T14:20:47.917Z | [OTHER] | Attempt 4057: Error rate 58.33% (target: 15%) -2025-09-15T14:20:47.921Z | [OTHER] | Attempt 4058: Error rate 55.43% (target: 15%) -2025-09-15T14:20:47.926Z | [OTHER] | Attempt 4059: Error rate 54.26% (target: 15%) -2025-09-15T14:20:47.930Z | [OTHER] | Attempt 4060: Error rate 53.97% (target: 15%) -2025-09-15T14:20:47.935Z | [OTHER] | Attempt 4061: Error rate 52.27% (target: 15%) -2025-09-15T14:20:47.939Z | [OTHER] | Attempt 4062: Error rate 56.74% (target: 15%) -2025-09-15T14:20:47.944Z | [OTHER] | Attempt 4063: Error rate 54.58% (target: 15%) -2025-09-15T14:20:47.949Z | [OTHER] | Attempt 4064: Error rate 50.41% (target: 15%) -2025-09-15T14:20:47.953Z | [OTHER] | Attempt 4065: Error rate 55.68% (target: 15%) -2025-09-15T14:20:47.958Z | [OTHER] | Attempt 4066: Error rate 41.09% (target: 15%) -2025-09-15T14:20:47.962Z | [OTHER] | Attempt 4067: Error rate 42.28% (target: 15%) -2025-09-15T14:20:47.967Z | [OTHER] | Attempt 4068: Error rate 50% (target: 15%) -2025-09-15T14:20:47.971Z | [OTHER] | Attempt 4069: Error rate 53.66% (target: 15%) -2025-09-15T14:20:47.976Z | [OTHER] | Attempt 4070: Error rate 54.61% (target: 15%) -2025-09-15T14:20:47.980Z | [OTHER] | Attempt 4071: Error rate 57.72% (target: 15%) -2025-09-15T14:20:47.985Z | [OTHER] | Attempt 4072: Error rate 53.33% (target: 15%) -2025-09-15T14:20:47.989Z | [OTHER] | Attempt 4073: Error rate 54.58% (target: 15%) -2025-09-15T14:20:47.993Z | [OTHER] | Attempt 4074: Error rate 46.88% (target: 15%) -2025-09-15T14:20:47.998Z | [OTHER] | Attempt 4075: Error rate 50.38% (target: 15%) -2025-09-15T14:20:48.003Z | [OTHER] | Attempt 4076: Error rate 46.43% (target: 15%) -2025-09-15T14:20:48.007Z | [OTHER] | Attempt 4077: Error rate 53.27% (target: 15%) -2025-09-15T14:20:48.012Z | [OTHER] | Attempt 4078: Error rate 51.59% (target: 15%) -2025-09-15T14:20:48.016Z | [OTHER] | Attempt 4079: Error rate 49.62% (target: 15%) -2025-09-15T14:20:48.021Z | [OTHER] | Attempt 4080: Error rate 55.8% (target: 15%) -2025-09-15T14:20:48.025Z | [OTHER] | Attempt 4081: Error rate 59.3% (target: 15%) -2025-09-15T14:20:48.030Z | [OTHER] | Attempt 4082: Error rate 43.9% (target: 15%) -2025-09-15T14:20:48.036Z | [OTHER] | Attempt 4083: Error rate 52.03% (target: 15%) -2025-09-15T14:20:48.040Z | [OTHER] | Attempt 4084: Error rate 57.14% (target: 15%) -2025-09-15T14:20:48.045Z | [OTHER] | Attempt 4085: Error rate 49.15% (target: 15%) -2025-09-15T14:20:48.049Z | [OTHER] | Attempt 4086: Error rate 48.91% (target: 15%) -2025-09-15T14:20:48.054Z | [OTHER] | Attempt 4087: Error rate 55.93% (target: 15%) -2025-09-15T14:20:48.058Z | [OTHER] | Attempt 4088: Error rate 53.99% (target: 15%) -2025-09-15T14:20:48.062Z | [OTHER] | Attempt 4089: Error rate 63.83% (target: 15%) -2025-09-15T14:20:48.067Z | [OTHER] | Attempt 4090: Error rate 54.47% (target: 15%) -2025-09-15T14:20:48.072Z | [OTHER] | Attempt 4091: Error rate 47.56% (target: 15%) -2025-09-15T14:20:48.076Z | [OTHER] | Attempt 4092: Error rate 50.36% (target: 15%) -2025-09-15T14:20:48.080Z | [OTHER] | Attempt 4093: Error rate 47.37% (target: 15%) -2025-09-15T14:20:48.085Z | [OTHER] | Attempt 4094: Error rate 55.28% (target: 15%) -2025-09-15T14:20:48.089Z | [OTHER] | Attempt 4095: Error rate 51.19% (target: 15%) -2025-09-15T14:20:48.093Z | [OTHER] | Attempt 4096: Error rate 64.04% (target: 15%) -2025-09-15T14:20:48.097Z | [OTHER] | Attempt 4097: Error rate 50.36% (target: 15%) -2025-09-15T14:20:48.102Z | [OTHER] | Attempt 4098: Error rate 54.35% (target: 15%) -2025-09-15T14:20:48.107Z | [OTHER] | Attempt 4099: Error rate 51.63% (target: 15%) -2025-09-15T14:20:48.111Z | [OTHER] | Attempt 4100: Error rate 51.28% (target: 15%) -2025-09-15T14:20:48.116Z | [OTHER] | Attempt 4101: Error rate 43.41% (target: 15%) -2025-09-15T14:20:48.120Z | [OTHER] | Attempt 4102: Error rate 41.88% (target: 15%) -2025-09-15T14:20:48.125Z | [OTHER] | Attempt 4103: Error rate 50.67% (target: 15%) -2025-09-15T14:20:48.130Z | [OTHER] | Attempt 4104: Error rate 39.01% (target: 15%) -2025-09-15T14:20:48.134Z | [OTHER] | Attempt 4105: Error rate 60.64% (target: 15%) -2025-09-15T14:20:48.139Z | [OTHER] | Attempt 4106: Error rate 54.07% (target: 15%) -2025-09-15T14:20:48.143Z | [OTHER] | Attempt 4107: Error rate 57.69% (target: 15%) -2025-09-15T14:20:48.147Z | [OTHER] | Attempt 4108: Error rate 53.49% (target: 15%) -2025-09-15T14:20:48.151Z | [OTHER] | Attempt 4109: Error rate 50% (target: 15%) -2025-09-15T14:20:48.155Z | [OTHER] | Attempt 4110: Error rate 56.91% (target: 15%) -2025-09-15T14:20:48.160Z | [OTHER] | Attempt 4111: Error rate 50.33% (target: 15%) -2025-09-15T14:20:48.164Z | [OTHER] | Attempt 4112: Error rate 51.09% (target: 15%) -2025-09-15T14:20:48.169Z | [OTHER] | Attempt 4113: Error rate 44.44% (target: 15%) -2025-09-15T14:20:48.173Z | [OTHER] | Attempt 4114: Error rate 54.17% (target: 15%) -2025-09-15T14:20:48.178Z | [OTHER] | Attempt 4115: Error rate 50.42% (target: 15%) -2025-09-15T14:20:48.182Z | [OTHER] | Attempt 4116: Error rate 50.85% (target: 15%) -2025-09-15T14:20:48.187Z | [OTHER] | Attempt 4117: Error rate 52.78% (target: 15%) -2025-09-15T14:20:48.192Z | [OTHER] | Attempt 4118: Error rate 56.1% (target: 15%) -2025-09-15T14:20:48.197Z | [OTHER] | Attempt 4119: Error rate 53.33% (target: 15%) -2025-09-15T14:20:48.201Z | [OTHER] | Attempt 4120: Error rate 50.4% (target: 15%) -2025-09-15T14:20:48.205Z | [OTHER] | Attempt 4121: Error rate 46.9% (target: 15%) -2025-09-15T14:20:48.210Z | [OTHER] | Attempt 4122: Error rate 42.8% (target: 15%) -2025-09-15T14:20:48.214Z | [OTHER] | Attempt 4123: Error rate 48.98% (target: 15%) -2025-09-15T14:20:48.218Z | [OTHER] | Attempt 4124: Error rate 49.15% (target: 15%) -2025-09-15T14:20:48.224Z | [OTHER] | Attempt 4125: Error rate 47.92% (target: 15%) -2025-09-15T14:20:48.228Z | [OTHER] | Attempt 4126: Error rate 55.21% (target: 15%) -2025-09-15T14:20:48.232Z | [OTHER] | Attempt 4127: Error rate 56.38% (target: 15%) -2025-09-15T14:20:48.237Z | [OTHER] | Attempt 4128: Error rate 54.17% (target: 15%) -2025-09-15T14:20:48.241Z | [OTHER] | Attempt 4129: Error rate 59.92% (target: 15%) -2025-09-15T14:20:48.246Z | [OTHER] | Attempt 4130: Error rate 55.07% (target: 15%) -2025-09-15T14:20:48.250Z | [OTHER] | Attempt 4131: Error rate 55.69% (target: 15%) -2025-09-15T14:20:48.255Z | [OTHER] | Attempt 4132: Error rate 55.86% (target: 15%) -2025-09-15T14:20:48.260Z | [OTHER] | Attempt 4133: Error rate 46.67% (target: 15%) -2025-09-15T14:20:48.265Z | [OTHER] | Attempt 4134: Error rate 47.29% (target: 15%) -2025-09-15T14:20:48.270Z | [OTHER] | Attempt 4135: Error rate 50.37% (target: 15%) -2025-09-15T14:20:48.274Z | [OTHER] | Attempt 4136: Error rate 51.45% (target: 15%) -2025-09-15T14:20:48.278Z | [OTHER] | Attempt 4137: Error rate 49.22% (target: 15%) -2025-09-15T14:20:48.283Z | [OTHER] | Attempt 4138: Error rate 39.52% (target: 15%) -2025-09-15T14:20:48.287Z | [OTHER] | Attempt 4139: Error rate 48.58% (target: 15%) -2025-09-15T14:20:48.291Z | [OTHER] | Attempt 4140: Error rate 52.44% (target: 15%) -2025-09-15T14:20:48.296Z | [OTHER] | Attempt 4141: Error rate 54.58% (target: 15%) -2025-09-15T14:20:48.300Z | [OTHER] | Attempt 4142: Error rate 47.15% (target: 15%) -2025-09-15T14:20:48.305Z | [OTHER] | Attempt 4143: Error rate 51.42% (target: 15%) -2025-09-15T14:20:48.309Z | [OTHER] | Attempt 4144: Error rate 57.46% (target: 15%) -2025-09-15T14:20:48.314Z | [OTHER] | Attempt 4145: Error rate 47.15% (target: 15%) -2025-09-15T14:20:48.318Z | [OTHER] | Attempt 4146: Error rate 55.56% (target: 15%) -2025-09-15T14:20:48.322Z | [OTHER] | Attempt 4147: Error rate 55.81% (target: 15%) -2025-09-15T14:20:48.326Z | [OTHER] | Attempt 4148: Error rate 49.59% (target: 15%) -2025-09-15T14:20:48.331Z | [OTHER] | Attempt 4149: Error rate 52.08% (target: 15%) -2025-09-15T14:20:48.335Z | [OTHER] | Attempt 4150: Error rate 50.76% (target: 15%) -2025-09-15T14:20:48.339Z | [OTHER] | Attempt 4151: Error rate 59.69% (target: 15%) -2025-09-15T14:20:48.344Z | [OTHER] | Attempt 4152: Error rate 44.72% (target: 15%) -2025-09-15T14:20:48.348Z | [OTHER] | Attempt 4153: Error rate 50.81% (target: 15%) -2025-09-15T14:20:48.352Z | [OTHER] | Attempt 4154: Error rate 54.35% (target: 15%) -2025-09-15T14:20:48.356Z | [OTHER] | Attempt 4155: Error rate 46.67% (target: 15%) -2025-09-15T14:20:48.361Z | [OTHER] | Attempt 4156: Error rate 49.29% (target: 15%) -2025-09-15T14:20:48.365Z | [OTHER] | Attempt 4157: Error rate 56.1% (target: 15%) -2025-09-15T14:20:48.369Z | [OTHER] | Attempt 4158: Error rate 45.83% (target: 15%) -2025-09-15T14:20:48.374Z | [OTHER] | Attempt 4159: Error rate 50.41% (target: 15%) -2025-09-15T14:20:48.379Z | [OTHER] | Attempt 4160: Error rate 51.02% (target: 15%) -2025-09-15T14:20:48.383Z | [OTHER] | Attempt 4161: Error rate 49.64% (target: 15%) -2025-09-15T14:20:48.388Z | [OTHER] | Attempt 4162: Error rate 47.67% (target: 15%) -2025-09-15T14:20:48.393Z | [OTHER] | Attempt 4163: Error rate 53.26% (target: 15%) -2025-09-15T14:20:48.398Z | [OTHER] | Attempt 4164: Error rate 55.56% (target: 15%) -2025-09-15T14:20:48.403Z | [OTHER] | Attempt 4165: Error rate 52.65% (target: 15%) -2025-09-15T14:20:48.409Z | [OTHER] | Attempt 4166: Error rate 53.62% (target: 15%) -2025-09-15T14:20:48.414Z | [OTHER] | Attempt 4167: Error rate 54.86% (target: 15%) -2025-09-15T14:20:48.419Z | [OTHER] | Attempt 4168: Error rate 48.11% (target: 15%) -2025-09-15T14:20:48.425Z | [OTHER] | Attempt 4169: Error rate 52.13% (target: 15%) -2025-09-15T14:20:48.429Z | [OTHER] | Attempt 4170: Error rate 52.17% (target: 15%) -2025-09-15T14:20:48.434Z | [OTHER] | Attempt 4171: Error rate 53.9% (target: 15%) -2025-09-15T14:20:48.438Z | [OTHER] | Attempt 4172: Error rate 61.24% (target: 15%) -2025-09-15T14:20:48.443Z | [OTHER] | Attempt 4173: Error rate 50% (target: 15%) -2025-09-15T14:20:48.447Z | [OTHER] | Attempt 4174: Error rate 47.35% (target: 15%) -2025-09-15T14:20:48.452Z | [OTHER] | Attempt 4175: Error rate 50% (target: 15%) -2025-09-15T14:20:48.456Z | [OTHER] | Attempt 4176: Error rate 52.61% (target: 15%) -2025-09-15T14:20:48.461Z | [OTHER] | Attempt 4177: Error rate 57.25% (target: 15%) -2025-09-15T14:20:48.465Z | [OTHER] | Attempt 4178: Error rate 44.93% (target: 15%) -2025-09-15T14:20:48.470Z | [OTHER] | Attempt 4179: Error rate 45.35% (target: 15%) -2025-09-15T14:20:48.474Z | [OTHER] | Attempt 4180: Error rate 56.98% (target: 15%) -2025-09-15T14:20:48.478Z | [OTHER] | Attempt 4181: Error rate 50% (target: 15%) -2025-09-15T14:20:48.483Z | [OTHER] | Attempt 4182: Error rate 48.81% (target: 15%) -2025-09-15T14:20:48.488Z | [OTHER] | Attempt 4183: Error rate 50.37% (target: 15%) -2025-09-15T14:20:48.492Z | [OTHER] | Attempt 4184: Error rate 52.5% (target: 15%) -2025-09-15T14:20:48.497Z | [OTHER] | Attempt 4185: Error rate 49.24% (target: 15%) -2025-09-15T14:20:48.502Z | [OTHER] | Attempt 4186: Error rate 53.99% (target: 15%) -2025-09-15T14:20:48.506Z | [OTHER] | Attempt 4187: Error rate 52.22% (target: 15%) -2025-09-15T14:20:48.511Z | [OTHER] | Attempt 4188: Error rate 56.59% (target: 15%) -2025-09-15T14:20:48.516Z | [OTHER] | Attempt 4189: Error rate 53.57% (target: 15%) -2025-09-15T14:20:48.520Z | [OTHER] | Attempt 4190: Error rate 54.26% (target: 15%) -2025-09-15T14:20:48.525Z | [OTHER] | Attempt 4191: Error rate 53.97% (target: 15%) -2025-09-15T14:20:48.530Z | [OTHER] | Attempt 4192: Error rate 51.25% (target: 15%) -2025-09-15T14:20:48.534Z | [OTHER] | Attempt 4193: Error rate 51.42% (target: 15%) -2025-09-15T14:20:48.540Z | [OTHER] | Attempt 4194: Error rate 48.25% (target: 15%) -2025-09-15T14:20:48.544Z | [OTHER] | Attempt 4195: Error rate 50.36% (target: 15%) -2025-09-15T14:20:48.549Z | [OTHER] | Attempt 4196: Error rate 46.03% (target: 15%) -2025-09-15T14:20:48.554Z | [OTHER] | Attempt 4197: Error rate 49.28% (target: 15%) -2025-09-15T14:20:48.558Z | [OTHER] | Attempt 4198: Error rate 44.32% (target: 15%) -2025-09-15T14:20:48.563Z | [OTHER] | Attempt 4199: Error rate 49.21% (target: 15%) -2025-09-15T14:20:48.568Z | [OTHER] | Attempt 4200: Error rate 50.83% (target: 15%) -2025-09-15T14:20:48.573Z | [OTHER] | Attempt 4201: Error rate 49.57% (target: 15%) -2025-09-15T14:20:48.577Z | [OTHER] | Attempt 4202: Error rate 49.29% (target: 15%) -2025-09-15T14:20:48.582Z | [OTHER] | Attempt 4203: Error rate 51.71% (target: 15%) -2025-09-15T14:20:48.587Z | [OTHER] | Attempt 4204: Error rate 55.93% (target: 15%) -2025-09-15T14:20:48.592Z | [OTHER] | Attempt 4205: Error rate 49.63% (target: 15%) -2025-09-15T14:20:48.596Z | [OTHER] | Attempt 4206: Error rate 47.46% (target: 15%) -2025-09-15T14:20:48.601Z | [OTHER] | Attempt 4207: Error rate 52.72% (target: 15%) -2025-09-15T14:20:48.606Z | [OTHER] | Attempt 4208: Error rate 50.78% (target: 15%) -2025-09-15T14:20:48.611Z | [OTHER] | Attempt 4209: Error rate 54.17% (target: 15%) -2025-09-15T14:20:48.617Z | [OTHER] | Attempt 4210: Error rate 49.17% (target: 15%) -2025-09-15T14:20:48.621Z | [OTHER] | Attempt 4211: Error rate 47.92% (target: 15%) -2025-09-15T14:20:48.626Z | [OTHER] | Attempt 4212: Error rate 46.59% (target: 15%) -2025-09-15T14:20:48.631Z | [OTHER] | Attempt 4213: Error rate 44.2% (target: 15%) -2025-09-15T14:20:48.635Z | [OTHER] | Attempt 4214: Error rate 56.59% (target: 15%) -2025-09-15T14:20:48.639Z | [OTHER] | Attempt 4215: Error rate 47.01% (target: 15%) -2025-09-15T14:20:48.644Z | [OTHER] | Attempt 4216: Error rate 45.83% (target: 15%) -2025-09-15T14:20:48.649Z | [OTHER] | Attempt 4217: Error rate 52.03% (target: 15%) -2025-09-15T14:20:48.654Z | [OTHER] | Attempt 4218: Error rate 51.11% (target: 15%) -2025-09-15T14:20:48.659Z | [OTHER] | Attempt 4219: Error rate 54.26% (target: 15%) -2025-09-15T14:20:48.664Z | [OTHER] | Attempt 4220: Error rate 59.69% (target: 15%) -2025-09-15T14:20:48.668Z | [OTHER] | Attempt 4221: Error rate 58.52% (target: 15%) -2025-09-15T14:20:48.673Z | [OTHER] | Attempt 4222: Error rate 61.35% (target: 15%) -2025-09-15T14:20:48.677Z | [OTHER] | Attempt 4223: Error rate 52.27% (target: 15%) -2025-09-15T14:20:48.682Z | [OTHER] | Attempt 4224: Error rate 48.29% (target: 15%) -2025-09-15T14:20:48.686Z | [OTHER] | Attempt 4225: Error rate 51.11% (target: 15%) -2025-09-15T14:20:48.692Z | [OTHER] | Attempt 4226: Error rate 48.37% (target: 15%) -2025-09-15T14:20:48.697Z | [OTHER] | Attempt 4227: Error rate 51.33% (target: 15%) -2025-09-15T14:20:48.701Z | [OTHER] | Attempt 4228: Error rate 52.59% (target: 15%) -2025-09-15T14:20:48.706Z | [OTHER] | Attempt 4229: Error rate 51.22% (target: 15%) -2025-09-15T14:20:48.711Z | [OTHER] | Attempt 4230: Error rate 50.76% (target: 15%) -2025-09-15T14:20:48.715Z | [OTHER] | Attempt 4231: Error rate 53.97% (target: 15%) -2025-09-15T14:20:48.721Z | [OTHER] | Attempt 4232: Error rate 54.92% (target: 15%) -2025-09-15T14:20:48.725Z | [OTHER] | Attempt 4233: Error rate 50% (target: 15%) -2025-09-15T14:20:48.730Z | [OTHER] | Attempt 4234: Error rate 53.41% (target: 15%) -2025-09-15T14:20:48.734Z | [OTHER] | Attempt 4235: Error rate 47.22% (target: 15%) -2025-09-15T14:20:48.739Z | [OTHER] | Attempt 4236: Error rate 47.35% (target: 15%) -2025-09-15T14:20:48.743Z | [OTHER] | Attempt 4237: Error rate 45.35% (target: 15%) -2025-09-15T14:20:48.748Z | [OTHER] | Attempt 4238: Error rate 52.08% (target: 15%) -2025-09-15T14:20:48.752Z | [OTHER] | Attempt 4239: Error rate 46.59% (target: 15%) -2025-09-15T14:20:48.757Z | [OTHER] | Attempt 4240: Error rate 48.15% (target: 15%) -2025-09-15T14:20:48.762Z | [OTHER] | Attempt 4241: Error rate 53.1% (target: 15%) -2025-09-15T14:20:48.767Z | [OTHER] | Attempt 4242: Error rate 54.26% (target: 15%) -2025-09-15T14:20:48.771Z | [OTHER] | Attempt 4243: Error rate 53.7% (target: 15%) -2025-09-15T14:20:48.776Z | [OTHER] | Attempt 4244: Error rate 62.77% (target: 15%) -2025-09-15T14:20:48.782Z | [OTHER] | Attempt 4245: Error rate 46.15% (target: 15%) -2025-09-15T14:20:48.790Z | [OTHER] | Attempt 4246: Error rate 49.21% (target: 15%) -2025-09-15T14:20:48.797Z | [OTHER] | Attempt 4247: Error rate 53.42% (target: 15%) -2025-09-15T14:20:48.806Z | [OTHER] | Attempt 4248: Error rate 47.62% (target: 15%) -2025-09-15T14:20:48.812Z | [OTHER] | Attempt 4249: Error rate 57.04% (target: 15%) -2025-09-15T14:20:48.818Z | [OTHER] | Attempt 4250: Error rate 54.07% (target: 15%) -2025-09-15T14:20:48.825Z | [OTHER] | Attempt 4251: Error rate 53.99% (target: 15%) -2025-09-15T14:20:48.830Z | [OTHER] | Attempt 4252: Error rate 52.9% (target: 15%) -2025-09-15T14:20:48.835Z | [OTHER] | Attempt 4253: Error rate 55.68% (target: 15%) -2025-09-15T14:20:48.839Z | [OTHER] | Attempt 4254: Error rate 53.33% (target: 15%) -2025-09-15T14:20:48.844Z | [OTHER] | Attempt 4255: Error rate 53.62% (target: 15%) -2025-09-15T14:20:48.848Z | [OTHER] | Attempt 4256: Error rate 47.04% (target: 15%) -2025-09-15T14:20:48.854Z | [OTHER] | Attempt 4257: Error rate 53.41% (target: 15%) -2025-09-15T14:20:48.858Z | [OTHER] | Attempt 4258: Error rate 53.27% (target: 15%) -2025-09-15T14:20:48.863Z | [OTHER] | Attempt 4259: Error rate 46.25% (target: 15%) -2025-09-15T14:20:48.867Z | [OTHER] | Attempt 4260: Error rate 50.74% (target: 15%) -2025-09-15T14:20:48.872Z | [OTHER] | Attempt 4261: Error rate 53.9% (target: 15%) -2025-09-15T14:20:48.877Z | [OTHER] | Attempt 4262: Error rate 51.55% (target: 15%) -2025-09-15T14:20:48.881Z | [OTHER] | Attempt 4263: Error rate 47.08% (target: 15%) -2025-09-15T14:20:48.886Z | [OTHER] | Attempt 4264: Error rate 51.94% (target: 15%) -2025-09-15T14:20:48.890Z | [OTHER] | Attempt 4265: Error rate 56.5% (target: 15%) -2025-09-15T14:20:48.895Z | [OTHER] | Attempt 4266: Error rate 49.12% (target: 15%) -2025-09-15T14:20:48.900Z | [OTHER] | Attempt 4267: Error rate 54.42% (target: 15%) -2025-09-15T14:20:48.904Z | [OTHER] | Attempt 4268: Error rate 53.19% (target: 15%) -2025-09-15T14:20:48.909Z | [OTHER] | Attempt 4269: Error rate 58.53% (target: 15%) -2025-09-15T14:20:48.913Z | [OTHER] | Attempt 4270: Error rate 48.41% (target: 15%) -2025-09-15T14:20:48.918Z | [OTHER] | Attempt 4271: Error rate 52.44% (target: 15%) -2025-09-15T14:20:48.922Z | [OTHER] | Attempt 4272: Error rate 50% (target: 15%) -2025-09-15T14:20:48.928Z | [OTHER] | Attempt 4273: Error rate 42.25% (target: 15%) -2025-09-15T14:20:48.932Z | [OTHER] | Attempt 4274: Error rate 55.9% (target: 15%) -2025-09-15T14:20:48.937Z | [OTHER] | Attempt 4275: Error rate 54.26% (target: 15%) -2025-09-15T14:20:48.942Z | [OTHER] | Attempt 4276: Error rate 56.98% (target: 15%) -2025-09-15T14:20:48.946Z | [OTHER] | Attempt 4277: Error rate 44.96% (target: 15%) -2025-09-15T14:20:48.951Z | [OTHER] | Attempt 4278: Error rate 56.33% (target: 15%) -2025-09-15T14:20:48.956Z | [OTHER] | Attempt 4279: Error rate 53.41% (target: 15%) -2025-09-15T14:20:48.962Z | [OTHER] | Attempt 4280: Error rate 57.32% (target: 15%) -2025-09-15T14:20:48.966Z | [OTHER] | Attempt 4281: Error rate 47.16% (target: 15%) -2025-09-15T14:20:48.971Z | [OTHER] | Attempt 4282: Error rate 47.1% (target: 15%) -2025-09-15T14:20:48.976Z | [OTHER] | Attempt 4283: Error rate 44.57% (target: 15%) -2025-09-15T14:20:48.981Z | [OTHER] | Attempt 4284: Error rate 55.28% (target: 15%) -2025-09-15T14:20:48.985Z | [OTHER] | Attempt 4285: Error rate 50% (target: 15%) -2025-09-15T14:20:48.989Z | [OTHER] | Attempt 4286: Error rate 50.68% (target: 15%) -2025-09-15T14:20:48.994Z | [OTHER] | Attempt 4287: Error rate 48.06% (target: 15%) -2025-09-15T14:20:48.998Z | [OTHER] | Attempt 4288: Error rate 55.56% (target: 15%) -2025-09-15T14:20:49.002Z | [OTHER] | Attempt 4289: Error rate 56.2% (target: 15%) -2025-09-15T14:20:49.007Z | [OTHER] | Attempt 4290: Error rate 51.11% (target: 15%) -2025-09-15T14:20:49.011Z | [OTHER] | Attempt 4291: Error rate 46.74% (target: 15%) -2025-09-15T14:20:49.016Z | [OTHER] | Attempt 4292: Error rate 50.85% (target: 15%) -2025-09-15T14:20:49.021Z | [OTHER] | Attempt 4293: Error rate 49.62% (target: 15%) -2025-09-15T14:20:49.026Z | [OTHER] | Attempt 4294: Error rate 53.42% (target: 15%) -2025-09-15T14:20:49.031Z | [OTHER] | Attempt 4295: Error rate 45.56% (target: 15%) -2025-09-15T14:20:49.035Z | [OTHER] | Attempt 4296: Error rate 53.19% (target: 15%) -2025-09-15T14:20:49.040Z | [OTHER] | Attempt 4297: Error rate 64.07% (target: 15%) -2025-09-15T14:20:49.045Z | [OTHER] | Attempt 4298: Error rate 52.84% (target: 15%) -2025-09-15T14:20:49.050Z | [OTHER] | Attempt 4299: Error rate 47.15% (target: 15%) -2025-09-15T14:20:49.054Z | [OTHER] | Attempt 4300: Error rate 53.7% (target: 15%) -2025-09-15T14:20:49.059Z | [OTHER] | Attempt 4301: Error rate 53.49% (target: 15%) -2025-09-15T14:20:49.064Z | [OTHER] | Attempt 4302: Error rate 56.41% (target: 15%) -2025-09-15T14:20:49.069Z | [OTHER] | Attempt 4303: Error rate 52.78% (target: 15%) -2025-09-15T14:20:49.073Z | [OTHER] | Attempt 4304: Error rate 53.25% (target: 15%) -2025-09-15T14:20:49.078Z | [OTHER] | Attempt 4305: Error rate 58.16% (target: 15%) -2025-09-15T14:20:49.082Z | [OTHER] | Attempt 4306: Error rate 53.25% (target: 15%) -2025-09-15T14:20:49.087Z | [OTHER] | Attempt 4307: Error rate 53.26% (target: 15%) -2025-09-15T14:20:49.091Z | [OTHER] | Attempt 4308: Error rate 51.59% (target: 15%) -2025-09-15T14:20:49.096Z | [OTHER] | Attempt 4309: Error rate 48.37% (target: 15%) -2025-09-15T14:20:49.101Z | [OTHER] | Attempt 4310: Error rate 54.51% (target: 15%) -2025-09-15T14:20:49.106Z | [OTHER] | Attempt 4311: Error rate 54.55% (target: 15%) -2025-09-15T14:20:49.110Z | [OTHER] | Attempt 4312: Error rate 46.34% (target: 15%) -2025-09-15T14:20:49.115Z | [OTHER] | Attempt 4313: Error rate 61.51% (target: 15%) -2025-09-15T14:20:49.120Z | [OTHER] | Attempt 4314: Error rate 53.41% (target: 15%) -2025-09-15T14:20:49.125Z | [OTHER] | Attempt 4315: Error rate 52.27% (target: 15%) -2025-09-15T14:20:49.130Z | [OTHER] | Attempt 4316: Error rate 51.25% (target: 15%) -2025-09-15T14:20:49.134Z | [OTHER] | Attempt 4317: Error rate 46.59% (target: 15%) -2025-09-15T14:20:49.139Z | [OTHER] | Attempt 4318: Error rate 55.04% (target: 15%) -2025-09-15T14:20:49.143Z | [OTHER] | Attempt 4319: Error rate 52.27% (target: 15%) -2025-09-15T14:20:49.148Z | [OTHER] | Attempt 4320: Error rate 44.96% (target: 15%) -2025-09-15T14:20:49.152Z | [OTHER] | Attempt 4321: Error rate 51.89% (target: 15%) -2025-09-15T14:20:49.157Z | [OTHER] | Attempt 4322: Error rate 50.33% (target: 15%) -2025-09-15T14:20:49.161Z | [OTHER] | Attempt 4323: Error rate 52.92% (target: 15%) -2025-09-15T14:20:49.166Z | [OTHER] | Attempt 4324: Error rate 51.16% (target: 15%) -2025-09-15T14:20:49.170Z | [OTHER] | Attempt 4325: Error rate 53.19% (target: 15%) -2025-09-15T14:20:49.175Z | [OTHER] | Attempt 4326: Error rate 50.76% (target: 15%) -2025-09-15T14:20:49.179Z | [OTHER] | Attempt 4327: Error rate 51.16% (target: 15%) -2025-09-15T14:20:49.184Z | [OTHER] | Attempt 4328: Error rate 56.91% (target: 15%) -2025-09-15T14:20:49.189Z | [OTHER] | Attempt 4329: Error rate 53.88% (target: 15%) -2025-09-15T14:20:49.193Z | [OTHER] | Attempt 4330: Error rate 52.22% (target: 15%) -2025-09-15T14:20:49.198Z | [OTHER] | Attempt 4331: Error rate 48.78% (target: 15%) -2025-09-15T14:20:49.203Z | [OTHER] | Attempt 4332: Error rate 46.34% (target: 15%) -2025-09-15T14:20:49.207Z | [OTHER] | Attempt 4333: Error rate 50.41% (target: 15%) -2025-09-15T14:20:49.212Z | [OTHER] | Attempt 4334: Error rate 57.41% (target: 15%) -2025-09-15T14:20:49.217Z | [OTHER] | Attempt 4335: Error rate 55.68% (target: 15%) -2025-09-15T14:20:49.223Z | [OTHER] | Attempt 4336: Error rate 52.78% (target: 15%) -2025-09-15T14:20:49.228Z | [OTHER] | Attempt 4337: Error rate 50% (target: 15%) -2025-09-15T14:20:49.232Z | [OTHER] | Attempt 4338: Error rate 49.61% (target: 15%) -2025-09-15T14:20:49.237Z | [OTHER] | Attempt 4339: Error rate 50.37% (target: 15%) -2025-09-15T14:20:49.241Z | [OTHER] | Attempt 4340: Error rate 48.86% (target: 15%) -2025-09-15T14:20:49.246Z | [OTHER] | Attempt 4341: Error rate 51.19% (target: 15%) -2025-09-15T14:20:49.250Z | [OTHER] | Attempt 4342: Error rate 56.3% (target: 15%) -2025-09-15T14:20:49.254Z | [OTHER] | Attempt 4343: Error rate 50.78% (target: 15%) -2025-09-15T14:20:49.259Z | [OTHER] | Attempt 4344: Error rate 47.81% (target: 15%) -2025-09-15T14:20:49.264Z | [OTHER] | Attempt 4345: Error rate 48.72% (target: 15%) -2025-09-15T14:20:49.268Z | [OTHER] | Attempt 4346: Error rate 58.14% (target: 15%) -2025-09-15T14:20:49.272Z | [OTHER] | Attempt 4347: Error rate 56.82% (target: 15%) -2025-09-15T14:20:49.277Z | [OTHER] | Attempt 4348: Error rate 47.78% (target: 15%) -2025-09-15T14:20:49.282Z | [OTHER] | Attempt 4349: Error rate 56.1% (target: 15%) -2025-09-15T14:20:49.286Z | [OTHER] | Attempt 4350: Error rate 59.06% (target: 15%) -2025-09-15T14:20:49.291Z | [OTHER] | Attempt 4351: Error rate 38.26% (target: 15%) -2025-09-15T14:20:49.296Z | [OTHER] | Attempt 4352: Error rate 48.89% (target: 15%) -2025-09-15T14:20:49.302Z | [OTHER] | Attempt 4353: Error rate 46.9% (target: 15%) -2025-09-15T14:20:49.307Z | [OTHER] | Attempt 4354: Error rate 48.86% (target: 15%) -2025-09-15T14:20:49.311Z | [OTHER] | Attempt 4355: Error rate 62.79% (target: 15%) -2025-09-15T14:20:49.316Z | [OTHER] | Attempt 4356: Error rate 55.98% (target: 15%) -2025-09-15T14:20:49.321Z | [OTHER] | Attempt 4357: Error rate 57.09% (target: 15%) -2025-09-15T14:20:49.326Z | [OTHER] | Attempt 4358: Error rate 52.27% (target: 15%) -2025-09-15T14:20:49.330Z | [OTHER] | Attempt 4359: Error rate 50.71% (target: 15%) -2025-09-15T14:20:49.335Z | [OTHER] | Attempt 4360: Error rate 43.56% (target: 15%) -2025-09-15T14:20:49.340Z | [OTHER] | Attempt 4361: Error rate 54.55% (target: 15%) -2025-09-15T14:20:49.345Z | [OTHER] | Attempt 4362: Error rate 55.3% (target: 15%) -2025-09-15T14:20:49.349Z | [OTHER] | Attempt 4363: Error rate 59.57% (target: 15%) -2025-09-15T14:20:49.354Z | [OTHER] | Attempt 4364: Error rate 56.35% (target: 15%) -2025-09-15T14:20:49.358Z | [OTHER] | Attempt 4365: Error rate 50.79% (target: 15%) -2025-09-15T14:20:49.363Z | [OTHER] | Attempt 4366: Error rate 44.44% (target: 15%) -2025-09-15T14:20:49.367Z | [OTHER] | Attempt 4367: Error rate 53.88% (target: 15%) -2025-09-15T14:20:49.372Z | [OTHER] | Attempt 4368: Error rate 51.14% (target: 15%) -2025-09-15T14:20:49.377Z | [OTHER] | Attempt 4369: Error rate 42.92% (target: 15%) -2025-09-15T14:20:49.382Z | [OTHER] | Attempt 4370: Error rate 52.48% (target: 15%) -2025-09-15T14:20:49.387Z | [OTHER] | Attempt 4371: Error rate 52.33% (target: 15%) -2025-09-15T14:20:49.392Z | [OTHER] | Attempt 4372: Error rate 59.63% (target: 15%) -2025-09-15T14:20:49.396Z | [OTHER] | Attempt 4373: Error rate 54.5% (target: 15%) -2025-09-15T14:20:49.401Z | [OTHER] | Attempt 4374: Error rate 55.8% (target: 15%) -2025-09-15T14:20:49.406Z | [OTHER] | Attempt 4375: Error rate 52.33% (target: 15%) -2025-09-15T14:20:49.411Z | [OTHER] | Attempt 4376: Error rate 46.3% (target: 15%) -2025-09-15T14:20:49.417Z | [OTHER] | Attempt 4377: Error rate 51.71% (target: 15%) -2025-09-15T14:20:49.423Z | [OTHER] | Attempt 4378: Error rate 53.33% (target: 15%) -2025-09-15T14:20:49.429Z | [OTHER] | Attempt 4379: Error rate 53.26% (target: 15%) -2025-09-15T14:20:49.435Z | [OTHER] | Attempt 4380: Error rate 53.26% (target: 15%) -2025-09-15T14:20:49.439Z | [OTHER] | Attempt 4381: Error rate 50% (target: 15%) -2025-09-15T14:20:49.444Z | [OTHER] | Attempt 4382: Error rate 46.25% (target: 15%) -2025-09-15T14:20:49.449Z | [OTHER] | Attempt 4383: Error rate 49.24% (target: 15%) -2025-09-15T14:20:49.453Z | [OTHER] | Attempt 4384: Error rate 57.04% (target: 15%) -2025-09-15T14:20:49.458Z | [OTHER] | Attempt 4385: Error rate 52.13% (target: 15%) -2025-09-15T14:20:49.463Z | [OTHER] | Attempt 4386: Error rate 55.16% (target: 15%) -2025-09-15T14:20:49.467Z | [OTHER] | Attempt 4387: Error rate 50% (target: 15%) -2025-09-15T14:20:49.472Z | [OTHER] | Attempt 4388: Error rate 55.16% (target: 15%) -2025-09-15T14:20:49.477Z | [OTHER] | Attempt 4389: Error rate 52.33% (target: 15%) -2025-09-15T14:20:49.481Z | [OTHER] | Attempt 4390: Error rate 50.41% (target: 15%) -2025-09-15T14:20:49.485Z | [OTHER] | Attempt 4391: Error rate 55.56% (target: 15%) -2025-09-15T14:20:49.490Z | [OTHER] | Attempt 4392: Error rate 44.79% (target: 15%) -2025-09-15T14:20:49.495Z | [OTHER] | Attempt 4393: Error rate 48.06% (target: 15%) -2025-09-15T14:20:49.500Z | [OTHER] | Attempt 4394: Error rate 57.58% (target: 15%) -2025-09-15T14:20:49.505Z | [OTHER] | Attempt 4395: Error rate 53.82% (target: 15%) -2025-09-15T14:20:49.509Z | [OTHER] | Attempt 4396: Error rate 50.71% (target: 15%) -2025-09-15T14:20:49.514Z | [OTHER] | Attempt 4397: Error rate 52.04% (target: 15%) -2025-09-15T14:20:49.519Z | [OTHER] | Attempt 4398: Error rate 39.13% (target: 15%) -2025-09-15T14:20:49.524Z | [OTHER] | Attempt 4399: Error rate 51.45% (target: 15%) -2025-09-15T14:20:49.528Z | [OTHER] | Attempt 4400: Error rate 48.84% (target: 15%) -2025-09-15T14:20:49.533Z | [OTHER] | Attempt 4401: Error rate 48.48% (target: 15%) -2025-09-15T14:20:49.539Z | [OTHER] | Attempt 4402: Error rate 54.44% (target: 15%) -2025-09-15T14:20:49.544Z | [OTHER] | Attempt 4403: Error rate 55.21% (target: 15%) -2025-09-15T14:20:49.548Z | [OTHER] | Attempt 4404: Error rate 51.11% (target: 15%) -2025-09-15T14:20:49.553Z | [OTHER] | Attempt 4405: Error rate 52.44% (target: 15%) -2025-09-15T14:20:49.558Z | [OTHER] | Attempt 4406: Error rate 50.79% (target: 15%) -2025-09-15T14:20:49.562Z | [OTHER] | Attempt 4407: Error rate 50.76% (target: 15%) -2025-09-15T14:20:49.567Z | [OTHER] | Attempt 4408: Error rate 47.67% (target: 15%) -2025-09-15T14:20:49.572Z | [OTHER] | Attempt 4409: Error rate 52.22% (target: 15%) -2025-09-15T14:20:49.576Z | [OTHER] | Attempt 4410: Error rate 44.17% (target: 15%) -2025-09-15T14:20:49.581Z | [OTHER] | Attempt 4411: Error rate 53.85% (target: 15%) -2025-09-15T14:20:49.586Z | [OTHER] | Attempt 4412: Error rate 52.78% (target: 15%) -2025-09-15T14:20:49.590Z | [OTHER] | Attempt 4413: Error rate 51.85% (target: 15%) -2025-09-15T14:20:49.595Z | [OTHER] | Attempt 4414: Error rate 49.26% (target: 15%) -2025-09-15T14:20:49.600Z | [OTHER] | Attempt 4415: Error rate 52.78% (target: 15%) -2025-09-15T14:20:49.605Z | [OTHER] | Attempt 4416: Error rate 56.59% (target: 15%) -2025-09-15T14:20:49.610Z | [OTHER] | Attempt 4417: Error rate 54.35% (target: 15%) -2025-09-15T14:20:49.614Z | [OTHER] | Attempt 4418: Error rate 48.02% (target: 15%) -2025-09-15T14:20:49.619Z | [OTHER] | Attempt 4419: Error rate 54.92% (target: 15%) -2025-09-15T14:20:49.624Z | [OTHER] | Attempt 4420: Error rate 55.68% (target: 15%) -2025-09-15T14:20:49.630Z | [OTHER] | Attempt 4421: Error rate 44.2% (target: 15%) -2025-09-15T14:20:49.636Z | [OTHER] | Attempt 4422: Error rate 50.71% (target: 15%) -2025-09-15T14:20:49.643Z | [OTHER] | Attempt 4423: Error rate 55% (target: 15%) -2025-09-15T14:20:49.649Z | [OTHER] | Attempt 4424: Error rate 58.91% (target: 15%) -2025-09-15T14:20:49.654Z | [OTHER] | Attempt 4425: Error rate 55.93% (target: 15%) -2025-09-15T14:20:49.659Z | [OTHER] | Attempt 4426: Error rate 56.25% (target: 15%) -2025-09-15T14:20:49.664Z | [OTHER] | Attempt 4427: Error rate 47.67% (target: 15%) -2025-09-15T14:20:49.669Z | [OTHER] | Attempt 4428: Error rate 47.22% (target: 15%) -2025-09-15T14:20:49.674Z | [OTHER] | Attempt 4429: Error rate 49.56% (target: 15%) -2025-09-15T14:20:49.679Z | [OTHER] | Attempt 4430: Error rate 42.11% (target: 15%) -2025-09-15T14:20:49.684Z | [OTHER] | Attempt 4431: Error rate 55.69% (target: 15%) -2025-09-15T14:20:49.689Z | [OTHER] | Attempt 4432: Error rate 54.07% (target: 15%) -2025-09-15T14:20:49.694Z | [OTHER] | Attempt 4433: Error rate 59.63% (target: 15%) -2025-09-15T14:20:49.699Z | [OTHER] | Attempt 4434: Error rate 51.11% (target: 15%) -2025-09-15T14:20:49.703Z | [OTHER] | Attempt 4435: Error rate 52.17% (target: 15%) -2025-09-15T14:20:49.709Z | [OTHER] | Attempt 4436: Error rate 52.9% (target: 15%) -2025-09-15T14:20:49.714Z | [OTHER] | Attempt 4437: Error rate 49.62% (target: 15%) -2025-09-15T14:20:49.719Z | [OTHER] | Attempt 4438: Error rate 55% (target: 15%) -2025-09-15T14:20:49.723Z | [OTHER] | Attempt 4439: Error rate 55.1% (target: 15%) -2025-09-15T14:20:49.728Z | [OTHER] | Attempt 4440: Error rate 51.94% (target: 15%) -2025-09-15T14:20:49.733Z | [OTHER] | Attempt 4441: Error rate 61.11% (target: 15%) -2025-09-15T14:20:49.738Z | [OTHER] | Attempt 4442: Error rate 55.28% (target: 15%) -2025-09-15T14:20:49.743Z | [OTHER] | Attempt 4443: Error rate 48.45% (target: 15%) -2025-09-15T14:20:49.747Z | [OTHER] | Attempt 4444: Error rate 47.1% (target: 15%) -2025-09-15T14:20:49.752Z | [OTHER] | Attempt 4445: Error rate 59.48% (target: 15%) -2025-09-15T14:20:49.757Z | [OTHER] | Attempt 4446: Error rate 45.93% (target: 15%) -2025-09-15T14:20:49.762Z | [OTHER] | Attempt 4447: Error rate 52.56% (target: 15%) -2025-09-15T14:20:49.767Z | [OTHER] | Attempt 4448: Error rate 52.84% (target: 15%) -2025-09-15T14:20:49.771Z | [OTHER] | Attempt 4449: Error rate 47.35% (target: 15%) -2025-09-15T14:20:49.776Z | [OTHER] | Attempt 4450: Error rate 46.25% (target: 15%) -2025-09-15T14:20:49.781Z | [OTHER] | Attempt 4451: Error rate 50.45% (target: 15%) -2025-09-15T14:20:49.785Z | [OTHER] | Attempt 4452: Error rate 53.26% (target: 15%) -2025-09-15T14:20:49.790Z | [OTHER] | Attempt 4453: Error rate 50.35% (target: 15%) -2025-09-15T14:20:49.794Z | [OTHER] | Attempt 4454: Error rate 52.44% (target: 15%) -2025-09-15T14:20:49.799Z | [OTHER] | Attempt 4455: Error rate 45.95% (target: 15%) -2025-09-15T14:20:49.804Z | [OTHER] | Attempt 4456: Error rate 48.89% (target: 15%) -2025-09-15T14:20:49.809Z | [OTHER] | Attempt 4457: Error rate 52.92% (target: 15%) -2025-09-15T14:20:49.814Z | [OTHER] | Attempt 4458: Error rate 50% (target: 15%) -2025-09-15T14:20:49.818Z | [OTHER] | Attempt 4459: Error rate 50.72% (target: 15%) -2025-09-15T14:20:49.823Z | [OTHER] | Attempt 4460: Error rate 60.42% (target: 15%) -2025-09-15T14:20:49.828Z | [OTHER] | Attempt 4461: Error rate 47.29% (target: 15%) -2025-09-15T14:20:49.832Z | [OTHER] | Attempt 4462: Error rate 53.41% (target: 15%) -2025-09-15T14:20:49.837Z | [OTHER] | Attempt 4463: Error rate 50% (target: 15%) -2025-09-15T14:20:49.842Z | [OTHER] | Attempt 4464: Error rate 63.33% (target: 15%) -2025-09-15T14:20:49.846Z | [OTHER] | Attempt 4465: Error rate 57.61% (target: 15%) -2025-09-15T14:20:49.852Z | [OTHER] | Attempt 4466: Error rate 50.83% (target: 15%) -2025-09-15T14:20:49.856Z | [OTHER] | Attempt 4467: Error rate 46.34% (target: 15%) -2025-09-15T14:20:49.861Z | [OTHER] | Attempt 4468: Error rate 61.51% (target: 15%) -2025-09-15T14:20:49.866Z | [OTHER] | Attempt 4469: Error rate 50.4% (target: 15%) -2025-09-15T14:20:49.870Z | [OTHER] | Attempt 4470: Error rate 55.42% (target: 15%) -2025-09-15T14:20:49.875Z | [OTHER] | Attempt 4471: Error rate 46.97% (target: 15%) -2025-09-15T14:20:49.879Z | [OTHER] | Attempt 4472: Error rate 52.78% (target: 15%) -2025-09-15T14:20:49.884Z | [OTHER] | Attempt 4473: Error rate 52.99% (target: 15%) -2025-09-15T14:20:49.889Z | [OTHER] | Attempt 4474: Error rate 48.45% (target: 15%) -2025-09-15T14:20:49.894Z | [OTHER] | Attempt 4475: Error rate 53.67% (target: 15%) -2025-09-15T14:20:49.899Z | [OTHER] | Attempt 4476: Error rate 45.56% (target: 15%) -2025-09-15T14:20:49.904Z | [OTHER] | Attempt 4477: Error rate 52.33% (target: 15%) -2025-09-15T14:20:49.909Z | [OTHER] | Attempt 4478: Error rate 55.19% (target: 15%) -2025-09-15T14:20:49.913Z | [OTHER] | Attempt 4479: Error rate 48.06% (target: 15%) -2025-09-15T14:20:49.918Z | [OTHER] | Attempt 4480: Error rate 58.54% (target: 15%) -2025-09-15T14:20:49.923Z | [OTHER] | Attempt 4481: Error rate 55.43% (target: 15%) -2025-09-15T14:20:49.927Z | [OTHER] | Attempt 4482: Error rate 50% (target: 15%) -2025-09-15T14:20:49.932Z | [OTHER] | Attempt 4483: Error rate 48.19% (target: 15%) -2025-09-15T14:20:49.937Z | [OTHER] | Attempt 4484: Error rate 47.37% (target: 15%) -2025-09-15T14:20:49.948Z | [OTHER] | Attempt 4485: Error rate 61.25% (target: 15%) -2025-09-15T14:20:49.957Z | [OTHER] | Attempt 4486: Error rate 50.41% (target: 15%) -2025-09-15T14:20:49.968Z | [OTHER] | Attempt 4487: Error rate 61.11% (target: 15%) -2025-09-15T14:20:49.975Z | [OTHER] | Attempt 4488: Error rate 45.65% (target: 15%) -2025-09-15T14:20:49.982Z | [OTHER] | Attempt 4489: Error rate 58.14% (target: 15%) -2025-09-15T14:20:49.988Z | [OTHER] | Attempt 4490: Error rate 50.74% (target: 15%) -2025-09-15T14:20:49.993Z | [OTHER] | Attempt 4491: Error rate 51.14% (target: 15%) -2025-09-15T14:20:49.999Z | [OTHER] | Attempt 4492: Error rate 53.1% (target: 15%) -2025-09-15T14:20:50.005Z | [OTHER] | Attempt 4493: Error rate 50% (target: 15%) -2025-09-15T14:20:50.011Z | [OTHER] | Attempt 4494: Error rate 53.79% (target: 15%) -2025-09-15T14:20:50.018Z | [OTHER] | Attempt 4495: Error rate 53.55% (target: 15%) -2025-09-15T14:20:50.024Z | [OTHER] | Attempt 4496: Error rate 52.54% (target: 15%) -2025-09-15T14:20:50.029Z | [OTHER] | Attempt 4497: Error rate 51.11% (target: 15%) -2025-09-15T14:20:50.034Z | [OTHER] | Attempt 4498: Error rate 53.88% (target: 15%) -2025-09-15T14:20:50.038Z | [OTHER] | Attempt 4499: Error rate 47.1% (target: 15%) -2025-09-15T14:20:50.044Z | [OTHER] | Attempt 4500: Error rate 52.08% (target: 15%) -2025-09-15T14:20:50.049Z | [OTHER] | Attempt 4501: Error rate 48.81% (target: 15%) -2025-09-15T14:20:50.055Z | [OTHER] | Attempt 4502: Error rate 51.45% (target: 15%) -2025-09-15T14:20:50.061Z | [OTHER] | Attempt 4503: Error rate 51.42% (target: 15%) -2025-09-15T14:20:50.066Z | [OTHER] | Attempt 4504: Error rate 45.53% (target: 15%) -2025-09-15T14:20:50.072Z | [OTHER] | Attempt 4505: Error rate 55.56% (target: 15%) -2025-09-15T14:20:50.077Z | [OTHER] | Attempt 4506: Error rate 52.71% (target: 15%) -2025-09-15T14:20:50.082Z | [OTHER] | Attempt 4507: Error rate 62.22% (target: 15%) -2025-09-15T14:20:50.087Z | [OTHER] | Attempt 4508: Error rate 56.35% (target: 15%) -2025-09-15T14:20:50.092Z | [OTHER] | Attempt 4509: Error rate 50.35% (target: 15%) -2025-09-15T14:20:50.096Z | [OTHER] | Attempt 4510: Error rate 54.96% (target: 15%) -2025-09-15T14:20:50.101Z | [OTHER] | Attempt 4511: Error rate 53.75% (target: 15%) -2025-09-15T14:20:50.106Z | [OTHER] | Attempt 4512: Error rate 57.5% (target: 15%) -2025-09-15T14:20:50.110Z | [OTHER] | Attempt 4513: Error rate 46.9% (target: 15%) -2025-09-15T14:20:50.115Z | [OTHER] | Attempt 4514: Error rate 56.67% (target: 15%) -2025-09-15T14:20:50.120Z | [OTHER] | Attempt 4515: Error rate 59.22% (target: 15%) -2025-09-15T14:20:50.125Z | [OTHER] | Attempt 4516: Error rate 51.48% (target: 15%) -2025-09-15T14:20:50.131Z | [OTHER] | Attempt 4517: Error rate 51.63% (target: 15%) -2025-09-15T14:20:50.136Z | [OTHER] | Attempt 4518: Error rate 51.89% (target: 15%) -2025-09-15T14:20:50.140Z | [OTHER] | Attempt 4519: Error rate 48.84% (target: 15%) -2025-09-15T14:20:50.147Z | [OTHER] | Attempt 4520: Error rate 58.52% (target: 15%) -2025-09-15T14:20:50.152Z | [OTHER] | Attempt 4521: Error rate 55.8% (target: 15%) -2025-09-15T14:20:50.158Z | [OTHER] | Attempt 4522: Error rate 49.19% (target: 15%) -2025-09-15T14:20:50.162Z | [OTHER] | Attempt 4523: Error rate 51.89% (target: 15%) -2025-09-15T14:20:50.167Z | [OTHER] | Attempt 4524: Error rate 60.99% (target: 15%) -2025-09-15T14:20:50.172Z | [OTHER] | Attempt 4525: Error rate 56.6% (target: 15%) -2025-09-15T14:20:50.176Z | [OTHER] | Attempt 4526: Error rate 59.57% (target: 15%) -2025-09-15T14:20:50.182Z | [OTHER] | Attempt 4527: Error rate 54.71% (target: 15%) -2025-09-15T14:20:50.187Z | [OTHER] | Attempt 4528: Error rate 47.57% (target: 15%) -2025-09-15T14:20:50.192Z | [OTHER] | Attempt 4529: Error rate 53.42% (target: 15%) -2025-09-15T14:20:50.197Z | [OTHER] | Attempt 4530: Error rate 42.74% (target: 15%) -2025-09-15T14:20:50.202Z | [OTHER] | Attempt 4531: Error rate 52.63% (target: 15%) -2025-09-15T14:20:50.206Z | [OTHER] | Attempt 4532: Error rate 53.17% (target: 15%) -2025-09-15T14:20:50.211Z | [OTHER] | Attempt 4533: Error rate 56.88% (target: 15%) -2025-09-15T14:20:50.216Z | [OTHER] | Attempt 4534: Error rate 52.9% (target: 15%) -2025-09-15T14:20:50.222Z | [OTHER] | Attempt 4535: Error rate 51.43% (target: 15%) -2025-09-15T14:20:50.226Z | [OTHER] | Attempt 4536: Error rate 58.33% (target: 15%) -2025-09-15T14:20:50.232Z | [OTHER] | Attempt 4537: Error rate 48.84% (target: 15%) -2025-09-15T14:20:50.236Z | [OTHER] | Attempt 4538: Error rate 52.65% (target: 15%) -2025-09-15T14:20:50.241Z | [OTHER] | Attempt 4539: Error rate 53.7% (target: 15%) -2025-09-15T14:20:50.246Z | [OTHER] | Attempt 4540: Error rate 50% (target: 15%) -2025-09-15T14:20:50.251Z | [OTHER] | Attempt 4541: Error rate 54.44% (target: 15%) -2025-09-15T14:20:50.255Z | [OTHER] | Attempt 4542: Error rate 56.1% (target: 15%) -2025-09-15T14:20:50.260Z | [OTHER] | Attempt 4543: Error rate 50.35% (target: 15%) -2025-09-15T14:20:50.265Z | [OTHER] | Attempt 4544: Error rate 54.5% (target: 15%) -2025-09-15T14:20:50.270Z | [OTHER] | Attempt 4545: Error rate 56.25% (target: 15%) -2025-09-15T14:20:50.275Z | [OTHER] | Attempt 4546: Error rate 53.03% (target: 15%) -2025-09-15T14:20:50.280Z | [OTHER] | Attempt 4547: Error rate 58.87% (target: 15%) -2025-09-15T14:20:50.285Z | [OTHER] | Attempt 4548: Error rate 55.21% (target: 15%) -2025-09-15T14:20:50.290Z | [OTHER] | Attempt 4549: Error rate 46.83% (target: 15%) -2025-09-15T14:20:50.295Z | [OTHER] | Attempt 4550: Error rate 49.62% (target: 15%) -2025-09-15T14:20:50.301Z | [OTHER] | Attempt 4551: Error rate 51.67% (target: 15%) -2025-09-15T14:20:50.306Z | [OTHER] | Attempt 4552: Error rate 48.75% (target: 15%) -2025-09-15T14:20:50.311Z | [OTHER] | Attempt 4553: Error rate 52.78% (target: 15%) -2025-09-15T14:20:50.316Z | [OTHER] | Attempt 4554: Error rate 48.19% (target: 15%) -2025-09-15T14:20:50.321Z | [OTHER] | Attempt 4555: Error rate 48.81% (target: 15%) -2025-09-15T14:20:50.327Z | [OTHER] | Attempt 4556: Error rate 55.07% (target: 15%) -2025-09-15T14:20:50.333Z | [OTHER] | Attempt 4557: Error rate 56.6% (target: 15%) -2025-09-15T14:20:50.338Z | [OTHER] | Attempt 4558: Error rate 55.83% (target: 15%) -2025-09-15T14:20:50.343Z | [OTHER] | Attempt 4559: Error rate 51.48% (target: 15%) -2025-09-15T14:20:50.348Z | [OTHER] | Attempt 4560: Error rate 49.63% (target: 15%) -2025-09-15T14:20:50.353Z | [OTHER] | Attempt 4561: Error rate 56.94% (target: 15%) -2025-09-15T14:20:50.358Z | [OTHER] | Attempt 4562: Error rate 54.71% (target: 15%) -2025-09-15T14:20:50.363Z | [OTHER] | Attempt 4563: Error rate 55.19% (target: 15%) -2025-09-15T14:20:50.368Z | [OTHER] | Attempt 4564: Error rate 56.75% (target: 15%) -2025-09-15T14:20:50.372Z | [OTHER] | Attempt 4565: Error rate 50% (target: 15%) -2025-09-15T14:20:50.377Z | [OTHER] | Attempt 4566: Error rate 51.06% (target: 15%) -2025-09-15T14:20:50.382Z | [OTHER] | Attempt 4567: Error rate 51.14% (target: 15%) -2025-09-15T14:20:50.387Z | [OTHER] | Attempt 4568: Error rate 53.51% (target: 15%) -2025-09-15T14:20:50.392Z | [OTHER] | Attempt 4569: Error rate 51.52% (target: 15%) -2025-09-15T14:20:50.396Z | [OTHER] | Attempt 4570: Error rate 56.88% (target: 15%) -2025-09-15T14:20:50.401Z | [OTHER] | Attempt 4571: Error rate 50% (target: 15%) -2025-09-15T14:20:50.406Z | [OTHER] | Attempt 4572: Error rate 56.82% (target: 15%) -2025-09-15T14:20:50.410Z | [OTHER] | Attempt 4573: Error rate 49.28% (target: 15%) -2025-09-15T14:20:50.415Z | [OTHER] | Attempt 4574: Error rate 46.75% (target: 15%) -2025-09-15T14:20:50.420Z | [OTHER] | Attempt 4575: Error rate 53.47% (target: 15%) -2025-09-15T14:20:50.425Z | [OTHER] | Attempt 4576: Error rate 51.14% (target: 15%) -2025-09-15T14:20:50.430Z | [OTHER] | Attempt 4577: Error rate 46.01% (target: 15%) -2025-09-15T14:20:50.435Z | [OTHER] | Attempt 4578: Error rate 53.7% (target: 15%) -2025-09-15T14:20:50.440Z | [OTHER] | Attempt 4579: Error rate 45.74% (target: 15%) -2025-09-15T14:20:50.444Z | [OTHER] | Attempt 4580: Error rate 53.9% (target: 15%) -2025-09-15T14:20:50.449Z | [OTHER] | Attempt 4581: Error rate 57.64% (target: 15%) -2025-09-15T14:20:50.453Z | [OTHER] | Attempt 4582: Error rate 48.15% (target: 15%) -2025-09-15T14:20:50.459Z | [OTHER] | Attempt 4583: Error rate 53.55% (target: 15%) -2025-09-15T14:20:50.464Z | [OTHER] | Attempt 4584: Error rate 57.48% (target: 15%) -2025-09-15T14:20:50.468Z | [OTHER] | Attempt 4585: Error rate 50% (target: 15%) -2025-09-15T14:20:50.473Z | [OTHER] | Attempt 4586: Error rate 53% (target: 15%) -2025-09-15T14:20:50.478Z | [OTHER] | Attempt 4587: Error rate 47.97% (target: 15%) -2025-09-15T14:20:50.483Z | [OTHER] | Attempt 4588: Error rate 47.22% (target: 15%) -2025-09-15T14:20:50.488Z | [OTHER] | Attempt 4589: Error rate 51.89% (target: 15%) -2025-09-15T14:20:50.493Z | [OTHER] | Attempt 4590: Error rate 57.29% (target: 15%) -2025-09-15T14:20:50.498Z | [OTHER] | Attempt 4591: Error rate 64.73% (target: 15%) -2025-09-15T14:20:50.503Z | [OTHER] | Attempt 4592: Error rate 53.26% (target: 15%) -2025-09-15T14:20:50.510Z | [OTHER] | Attempt 4593: Error rate 52.33% (target: 15%) -2025-09-15T14:20:50.514Z | [OTHER] | Attempt 4594: Error rate 53.25% (target: 15%) -2025-09-15T14:20:50.519Z | [OTHER] | Attempt 4595: Error rate 54.35% (target: 15%) -2025-09-15T14:20:50.524Z | [OTHER] | Attempt 4596: Error rate 55.43% (target: 15%) -2025-09-15T14:20:50.528Z | [OTHER] | Attempt 4597: Error rate 53.99% (target: 15%) -2025-09-15T14:20:50.533Z | [OTHER] | Attempt 4598: Error rate 39.92% (target: 15%) -2025-09-15T14:20:50.539Z | [OTHER] | Attempt 4599: Error rate 49.15% (target: 15%) -2025-09-15T14:20:50.543Z | [OTHER] | Attempt 4600: Error rate 52.9% (target: 15%) -2025-09-15T14:20:50.548Z | [OTHER] | Attempt 4601: Error rate 49.24% (target: 15%) -2025-09-15T14:20:50.553Z | [OTHER] | Attempt 4602: Error rate 55.43% (target: 15%) -2025-09-15T14:20:50.558Z | [OTHER] | Attempt 4603: Error rate 51.67% (target: 15%) -2025-09-15T14:20:50.563Z | [OTHER] | Attempt 4604: Error rate 55.3% (target: 15%) -2025-09-15T14:20:50.568Z | [OTHER] | Attempt 4605: Error rate 43.56% (target: 15%) -2025-09-15T14:20:50.573Z | [OTHER] | Attempt 4606: Error rate 60.26% (target: 15%) -2025-09-15T14:20:50.578Z | [OTHER] | Attempt 4607: Error rate 56.38% (target: 15%) -2025-09-15T14:20:50.583Z | [OTHER] | Attempt 4608: Error rate 50.67% (target: 15%) -2025-09-15T14:20:50.588Z | [OTHER] | Attempt 4609: Error rate 49.31% (target: 15%) -2025-09-15T14:20:50.593Z | [OTHER] | Attempt 4610: Error rate 53.06% (target: 15%) -2025-09-15T14:20:50.598Z | [OTHER] | Attempt 4611: Error rate 43.9% (target: 15%) -2025-09-15T14:20:50.603Z | [OTHER] | Attempt 4612: Error rate 47.67% (target: 15%) -2025-09-15T14:20:50.608Z | [OTHER] | Attempt 4613: Error rate 56.91% (target: 15%) -2025-09-15T14:20:50.613Z | [OTHER] | Attempt 4614: Error rate 46.03% (target: 15%) -2025-09-15T14:20:50.618Z | [OTHER] | Attempt 4615: Error rate 55.98% (target: 15%) -2025-09-15T14:20:50.623Z | [OTHER] | Attempt 4616: Error rate 55.81% (target: 15%) -2025-09-15T14:20:50.628Z | [OTHER] | Attempt 4617: Error rate 50.85% (target: 15%) -2025-09-15T14:20:50.633Z | [OTHER] | Attempt 4618: Error rate 47.22% (target: 15%) -2025-09-15T14:20:50.637Z | [OTHER] | Attempt 4619: Error rate 56.44% (target: 15%) -2025-09-15T14:20:50.643Z | [OTHER] | Attempt 4620: Error rate 55.16% (target: 15%) -2025-09-15T14:20:50.648Z | [OTHER] | Attempt 4621: Error rate 63.1% (target: 15%) -2025-09-15T14:20:50.653Z | [OTHER] | Attempt 4622: Error rate 49.58% (target: 15%) -2025-09-15T14:20:50.657Z | [OTHER] | Attempt 4623: Error rate 54.26% (target: 15%) -2025-09-15T14:20:50.662Z | [OTHER] | Attempt 4624: Error rate 52.14% (target: 15%) -2025-09-15T14:20:50.667Z | [OTHER] | Attempt 4625: Error rate 55.42% (target: 15%) -2025-09-15T14:20:50.671Z | [OTHER] | Attempt 4626: Error rate 48.84% (target: 15%) -2025-09-15T14:20:50.677Z | [OTHER] | Attempt 4627: Error rate 51.45% (target: 15%) -2025-09-15T14:20:50.683Z | [OTHER] | Attempt 4628: Error rate 47.15% (target: 15%) -2025-09-15T14:20:50.688Z | [OTHER] | Attempt 4629: Error rate 50.81% (target: 15%) -2025-09-15T14:20:50.693Z | [OTHER] | Attempt 4630: Error rate 44.1% (target: 15%) -2025-09-15T14:20:50.698Z | [OTHER] | Attempt 4631: Error rate 48.78% (target: 15%) -2025-09-15T14:20:50.702Z | [OTHER] | Attempt 4632: Error rate 50% (target: 15%) -2025-09-15T14:20:50.708Z | [OTHER] | Attempt 4633: Error rate 48.11% (target: 15%) -2025-09-15T14:20:50.713Z | [OTHER] | Attempt 4634: Error rate 52.22% (target: 15%) -2025-09-15T14:20:50.719Z | [OTHER] | Attempt 4635: Error rate 50.41% (target: 15%) -2025-09-15T14:20:50.724Z | [OTHER] | Attempt 4636: Error rate 54.35% (target: 15%) -2025-09-15T14:20:50.729Z | [OTHER] | Attempt 4637: Error rate 55.04% (target: 15%) -2025-09-15T14:20:50.733Z | [OTHER] | Attempt 4638: Error rate 56.44% (target: 15%) -2025-09-15T14:20:50.738Z | [OTHER] | Attempt 4639: Error rate 57.14% (target: 15%) -2025-09-15T14:20:50.743Z | [OTHER] | Attempt 4640: Error rate 53.55% (target: 15%) -2025-09-15T14:20:50.747Z | [OTHER] | Attempt 4641: Error rate 47.52% (target: 15%) -2025-09-15T14:20:50.752Z | [OTHER] | Attempt 4642: Error rate 49.15% (target: 15%) -2025-09-15T14:20:50.757Z | [OTHER] | Attempt 4643: Error rate 46.12% (target: 15%) -2025-09-15T14:20:50.762Z | [OTHER] | Attempt 4644: Error rate 62.33% (target: 15%) -2025-09-15T14:20:50.767Z | [OTHER] | Attempt 4645: Error rate 51.22% (target: 15%) -2025-09-15T14:20:50.771Z | [OTHER] | Attempt 4646: Error rate 57.95% (target: 15%) -2025-09-15T14:20:50.776Z | [OTHER] | Attempt 4647: Error rate 55.56% (target: 15%) -2025-09-15T14:20:50.782Z | [OTHER] | Attempt 4648: Error rate 55.93% (target: 15%) -2025-09-15T14:20:50.786Z | [OTHER] | Attempt 4649: Error rate 57.2% (target: 15%) -2025-09-15T14:20:50.791Z | [OTHER] | Attempt 4650: Error rate 56.1% (target: 15%) -2025-09-15T14:20:50.796Z | [OTHER] | Attempt 4651: Error rate 50% (target: 15%) -2025-09-15T14:20:50.801Z | [OTHER] | Attempt 4652: Error rate 52.33% (target: 15%) -2025-09-15T14:20:50.806Z | [OTHER] | Attempt 4653: Error rate 48.84% (target: 15%) -2025-09-15T14:20:50.811Z | [OTHER] | Attempt 4654: Error rate 57.61% (target: 15%) -2025-09-15T14:20:50.816Z | [OTHER] | Attempt 4655: Error rate 43.12% (target: 15%) -2025-09-15T14:20:50.822Z | [OTHER] | Attempt 4656: Error rate 50% (target: 15%) -2025-09-15T14:20:50.827Z | [OTHER] | Attempt 4657: Error rate 58.7% (target: 15%) -2025-09-15T14:20:50.832Z | [OTHER] | Attempt 4658: Error rate 53.33% (target: 15%) -2025-09-15T14:20:50.837Z | [OTHER] | Attempt 4659: Error rate 47.83% (target: 15%) -2025-09-15T14:20:50.842Z | [OTHER] | Attempt 4660: Error rate 51.85% (target: 15%) -2025-09-15T14:20:50.847Z | [OTHER] | Attempt 4661: Error rate 55.21% (target: 15%) -2025-09-15T14:20:50.851Z | [OTHER] | Attempt 4662: Error rate 46.9% (target: 15%) -2025-09-15T14:20:50.856Z | [OTHER] | Attempt 4663: Error rate 59.86% (target: 15%) -2025-09-15T14:20:50.861Z | [OTHER] | Attempt 4664: Error rate 55.93% (target: 15%) -2025-09-15T14:20:50.866Z | [OTHER] | Attempt 4665: Error rate 52.27% (target: 15%) -2025-09-15T14:20:50.872Z | [OTHER] | Attempt 4666: Error rate 47.62% (target: 15%) -2025-09-15T14:20:50.876Z | [OTHER] | Attempt 4667: Error rate 54.81% (target: 15%) -2025-09-15T14:20:50.882Z | [OTHER] | Attempt 4668: Error rate 49.64% (target: 15%) -2025-09-15T14:20:50.887Z | [OTHER] | Attempt 4669: Error rate 52.71% (target: 15%) -2025-09-15T14:20:50.893Z | [OTHER] | Attempt 4670: Error rate 50% (target: 15%) -2025-09-15T14:20:50.898Z | [OTHER] | Attempt 4671: Error rate 48.52% (target: 15%) -2025-09-15T14:20:50.902Z | [OTHER] | Attempt 4672: Error rate 50.81% (target: 15%) -2025-09-15T14:20:50.908Z | [OTHER] | Attempt 4673: Error rate 59.8% (target: 15%) -2025-09-15T14:20:50.913Z | [OTHER] | Attempt 4674: Error rate 53.88% (target: 15%) -2025-09-15T14:20:50.918Z | [OTHER] | Attempt 4675: Error rate 48.11% (target: 15%) -2025-09-15T14:20:50.922Z | [OTHER] | Attempt 4676: Error rate 54.26% (target: 15%) -2025-09-15T14:20:50.927Z | [OTHER] | Attempt 4677: Error rate 60.57% (target: 15%) -2025-09-15T14:20:50.933Z | [OTHER] | Attempt 4678: Error rate 57.36% (target: 15%) -2025-09-15T14:20:50.937Z | [OTHER] | Attempt 4679: Error rate 56.75% (target: 15%) -2025-09-15T14:20:50.942Z | [OTHER] | Attempt 4680: Error rate 42.05% (target: 15%) -2025-09-15T14:20:50.948Z | [OTHER] | Attempt 4681: Error rate 49.15% (target: 15%) -2025-09-15T14:20:50.953Z | [OTHER] | Attempt 4682: Error rate 48.78% (target: 15%) -2025-09-15T14:20:50.959Z | [OTHER] | Attempt 4683: Error rate 54.08% (target: 15%) -2025-09-15T14:20:50.964Z | [OTHER] | Attempt 4684: Error rate 56.35% (target: 15%) -2025-09-15T14:20:50.969Z | [OTHER] | Attempt 4685: Error rate 50.39% (target: 15%) -2025-09-15T14:20:50.974Z | [OTHER] | Attempt 4686: Error rate 50.4% (target: 15%) -2025-09-15T14:20:50.980Z | [OTHER] | Attempt 4687: Error rate 52.63% (target: 15%) -2025-09-15T14:20:50.985Z | [OTHER] | Attempt 4688: Error rate 51.63% (target: 15%) -2025-09-15T14:20:50.990Z | [OTHER] | Attempt 4689: Error rate 51.45% (target: 15%) -2025-09-15T14:20:50.995Z | [OTHER] | Attempt 4690: Error rate 50.41% (target: 15%) -2025-09-15T14:20:51.000Z | [OTHER] | Attempt 4691: Error rate 52.33% (target: 15%) -2025-09-15T14:20:51.005Z | [OTHER] | Attempt 4692: Error rate 53.26% (target: 15%) -2025-09-15T14:20:51.010Z | [OTHER] | Attempt 4693: Error rate 48.19% (target: 15%) -2025-09-15T14:20:51.015Z | [OTHER] | Attempt 4694: Error rate 58.33% (target: 15%) -2025-09-15T14:20:51.020Z | [OTHER] | Attempt 4695: Error rate 63.33% (target: 15%) -2025-09-15T14:20:51.025Z | [OTHER] | Attempt 4696: Error rate 63.41% (target: 15%) -2025-09-15T14:20:51.030Z | [OTHER] | Attempt 4697: Error rate 57.2% (target: 15%) -2025-09-15T14:20:51.035Z | [OTHER] | Attempt 4698: Error rate 55.56% (target: 15%) -2025-09-15T14:20:51.040Z | [OTHER] | Attempt 4699: Error rate 44.72% (target: 15%) -2025-09-15T14:20:51.045Z | [OTHER] | Attempt 4700: Error rate 58.71% (target: 15%) -2025-09-15T14:20:51.050Z | [OTHER] | Attempt 4701: Error rate 52.59% (target: 15%) -2025-09-15T14:20:51.055Z | [OTHER] | Attempt 4702: Error rate 46.9% (target: 15%) -2025-09-15T14:20:51.061Z | [OTHER] | Attempt 4703: Error rate 46.21% (target: 15%) -2025-09-15T14:20:51.066Z | [OTHER] | Attempt 4704: Error rate 51.85% (target: 15%) -2025-09-15T14:20:51.071Z | [OTHER] | Attempt 4705: Error rate 48.91% (target: 15%) -2025-09-15T14:20:51.076Z | [OTHER] | Attempt 4706: Error rate 60.51% (target: 15%) -2025-09-15T14:20:51.081Z | [OTHER] | Attempt 4707: Error rate 54.81% (target: 15%) -2025-09-15T14:20:51.086Z | [OTHER] | Attempt 4708: Error rate 52.54% (target: 15%) -2025-09-15T14:20:51.091Z | [OTHER] | Attempt 4709: Error rate 46.88% (target: 15%) -2025-09-15T14:20:51.096Z | [OTHER] | Attempt 4710: Error rate 53.62% (target: 15%) -2025-09-15T14:20:51.101Z | [OTHER] | Attempt 4711: Error rate 53.1% (target: 15%) -2025-09-15T14:20:51.106Z | [OTHER] | Attempt 4712: Error rate 57.58% (target: 15%) -2025-09-15T14:20:51.111Z | [OTHER] | Attempt 4713: Error rate 46.19% (target: 15%) -2025-09-15T14:20:51.116Z | [OTHER] | Attempt 4714: Error rate 45.56% (target: 15%) -2025-09-15T14:20:51.121Z | [OTHER] | Attempt 4715: Error rate 43.09% (target: 15%) -2025-09-15T14:20:51.126Z | [OTHER] | Attempt 4716: Error rate 57.8% (target: 15%) -2025-09-15T14:20:51.131Z | [OTHER] | Attempt 4717: Error rate 55.68% (target: 15%) -2025-09-15T14:20:51.136Z | [OTHER] | Attempt 4718: Error rate 54.88% (target: 15%) -2025-09-15T14:20:51.141Z | [OTHER] | Attempt 4719: Error rate 51.19% (target: 15%) -2025-09-15T14:20:51.147Z | [OTHER] | Attempt 4720: Error rate 54.58% (target: 15%) -2025-09-15T14:20:51.152Z | [OTHER] | Attempt 4721: Error rate 39.63% (target: 15%) -2025-09-15T14:20:51.157Z | [OTHER] | Attempt 4722: Error rate 48.26% (target: 15%) -2025-09-15T14:20:51.162Z | [OTHER] | Attempt 4723: Error rate 54.35% (target: 15%) -2025-09-15T14:20:51.167Z | [OTHER] | Attempt 4724: Error rate 44.31% (target: 15%) -2025-09-15T14:20:51.173Z | [OTHER] | Attempt 4725: Error rate 54.81% (target: 15%) -2025-09-15T14:20:51.178Z | [OTHER] | Attempt 4726: Error rate 55.93% (target: 15%) -2025-09-15T14:20:51.183Z | [OTHER] | Attempt 4727: Error rate 51.67% (target: 15%) -2025-09-15T14:20:51.188Z | [OTHER] | Attempt 4728: Error rate 50% (target: 15%) -2025-09-15T14:20:51.193Z | [OTHER] | Attempt 4729: Error rate 49.55% (target: 15%) -2025-09-15T14:20:51.198Z | [OTHER] | Attempt 4730: Error rate 52.59% (target: 15%) -2025-09-15T14:20:51.203Z | [OTHER] | Attempt 4731: Error rate 55.95% (target: 15%) -2025-09-15T14:20:51.208Z | [OTHER] | Attempt 4732: Error rate 52.96% (target: 15%) -2025-09-15T14:20:51.213Z | [OTHER] | Attempt 4733: Error rate 60% (target: 15%) -2025-09-15T14:20:51.218Z | [OTHER] | Attempt 4734: Error rate 51.19% (target: 15%) -2025-09-15T14:20:51.223Z | [OTHER] | Attempt 4735: Error rate 51.89% (target: 15%) -2025-09-15T14:20:51.228Z | [OTHER] | Attempt 4736: Error rate 50.38% (target: 15%) -2025-09-15T14:20:51.234Z | [OTHER] | Attempt 4737: Error rate 46.38% (target: 15%) -2025-09-15T14:20:51.239Z | [OTHER] | Attempt 4738: Error rate 55.16% (target: 15%) -2025-09-15T14:20:51.243Z | [OTHER] | Attempt 4739: Error rate 54.26% (target: 15%) -2025-09-15T14:20:51.249Z | [OTHER] | Attempt 4740: Error rate 52.33% (target: 15%) -2025-09-15T14:20:51.254Z | [OTHER] | Attempt 4741: Error rate 48.58% (target: 15%) -2025-09-15T14:20:51.259Z | [OTHER] | Attempt 4742: Error rate 56.52% (target: 15%) -2025-09-15T14:20:51.265Z | [OTHER] | Attempt 4743: Error rate 54.88% (target: 15%) -2025-09-15T14:20:51.270Z | [OTHER] | Attempt 4744: Error rate 53.17% (target: 15%) -2025-09-15T14:20:51.275Z | [OTHER] | Attempt 4745: Error rate 55.13% (target: 15%) -2025-09-15T14:20:51.280Z | [OTHER] | Attempt 4746: Error rate 47.06% (target: 15%) -2025-09-15T14:20:51.285Z | [OTHER] | Attempt 4747: Error rate 53.49% (target: 15%) -2025-09-15T14:20:51.290Z | [OTHER] | Attempt 4748: Error rate 59.52% (target: 15%) -2025-09-15T14:20:51.294Z | [OTHER] | Attempt 4749: Error rate 59.47% (target: 15%) -2025-09-15T14:20:51.299Z | [OTHER] | Attempt 4750: Error rate 51.45% (target: 15%) -2025-09-15T14:20:51.304Z | [OTHER] | Attempt 4751: Error rate 46.51% (target: 15%) -2025-09-15T14:20:51.309Z | [OTHER] | Attempt 4752: Error rate 58.54% (target: 15%) -2025-09-15T14:20:51.314Z | [OTHER] | Attempt 4753: Error rate 46.59% (target: 15%) -2025-09-15T14:20:51.319Z | [OTHER] | Attempt 4754: Error rate 48.81% (target: 15%) -2025-09-15T14:20:51.324Z | [OTHER] | Attempt 4755: Error rate 52.65% (target: 15%) -2025-09-15T14:20:51.329Z | [OTHER] | Attempt 4756: Error rate 53.55% (target: 15%) -2025-09-15T14:20:51.334Z | [OTHER] | Attempt 4757: Error rate 60.98% (target: 15%) -2025-09-15T14:20:51.339Z | [OTHER] | Attempt 4758: Error rate 47.46% (target: 15%) -2025-09-15T14:20:51.344Z | [OTHER] | Attempt 4759: Error rate 46.45% (target: 15%) -2025-09-15T14:20:51.349Z | [OTHER] | Attempt 4760: Error rate 54.07% (target: 15%) -2025-09-15T14:20:51.353Z | [OTHER] | Attempt 4761: Error rate 50% (target: 15%) -2025-09-15T14:20:51.358Z | [OTHER] | Attempt 4762: Error rate 49.24% (target: 15%) -2025-09-15T14:20:51.364Z | [OTHER] | Attempt 4763: Error rate 50% (target: 15%) -2025-09-15T14:20:51.369Z | [OTHER] | Attempt 4764: Error rate 55.43% (target: 15%) -2025-09-15T14:20:51.374Z | [OTHER] | Attempt 4765: Error rate 51.02% (target: 15%) -2025-09-15T14:20:51.379Z | [OTHER] | Attempt 4766: Error rate 49.24% (target: 15%) -2025-09-15T14:20:51.384Z | [OTHER] | Attempt 4767: Error rate 50.74% (target: 15%) -2025-09-15T14:20:51.388Z | [OTHER] | Attempt 4768: Error rate 53.99% (target: 15%) -2025-09-15T14:20:51.394Z | [OTHER] | Attempt 4769: Error rate 55.56% (target: 15%) -2025-09-15T14:20:51.398Z | [OTHER] | Attempt 4770: Error rate 54.37% (target: 15%) -2025-09-15T14:20:51.403Z | [OTHER] | Attempt 4771: Error rate 49.59% (target: 15%) -2025-09-15T14:20:51.409Z | [OTHER] | Attempt 4772: Error rate 53.66% (target: 15%) -2025-09-15T14:20:51.413Z | [OTHER] | Attempt 4773: Error rate 59.63% (target: 15%) -2025-09-15T14:20:51.418Z | [OTHER] | Attempt 4774: Error rate 54.81% (target: 15%) -2025-09-15T14:20:51.423Z | [OTHER] | Attempt 4775: Error rate 50% (target: 15%) -2025-09-15T14:20:51.428Z | [OTHER] | Attempt 4776: Error rate 56.82% (target: 15%) -2025-09-15T14:20:51.433Z | [OTHER] | Attempt 4777: Error rate 45.19% (target: 15%) -2025-09-15T14:20:51.438Z | [OTHER] | Attempt 4778: Error rate 46.67% (target: 15%) -2025-09-15T14:20:51.443Z | [OTHER] | Attempt 4779: Error rate 56.98% (target: 15%) -2025-09-15T14:20:51.448Z | [OTHER] | Attempt 4780: Error rate 43.56% (target: 15%) -2025-09-15T14:20:51.453Z | [OTHER] | Attempt 4781: Error rate 55.67% (target: 15%) -2025-09-15T14:20:51.458Z | [OTHER] | Attempt 4782: Error rate 56.44% (target: 15%) -2025-09-15T14:20:51.463Z | [OTHER] | Attempt 4783: Error rate 58.53% (target: 15%) -2025-09-15T14:20:51.468Z | [OTHER] | Attempt 4784: Error rate 53.97% (target: 15%) -2025-09-15T14:20:51.473Z | [OTHER] | Attempt 4785: Error rate 56.75% (target: 15%) -2025-09-15T14:20:51.479Z | [OTHER] | Attempt 4786: Error rate 52.96% (target: 15%) -2025-09-15T14:20:51.484Z | [OTHER] | Attempt 4787: Error rate 55.93% (target: 15%) -2025-09-15T14:20:51.488Z | [OTHER] | Attempt 4788: Error rate 52.65% (target: 15%) -2025-09-15T14:20:51.494Z | [OTHER] | Attempt 4789: Error rate 47.28% (target: 15%) -2025-09-15T14:20:51.499Z | [OTHER] | Attempt 4790: Error rate 51.48% (target: 15%) -2025-09-15T14:20:51.504Z | [OTHER] | Attempt 4791: Error rate 47.78% (target: 15%) -2025-09-15T14:20:51.509Z | [OTHER] | Attempt 4792: Error rate 49.24% (target: 15%) -2025-09-15T14:20:51.515Z | [OTHER] | Attempt 4793: Error rate 54.37% (target: 15%) -2025-09-15T14:20:51.520Z | [OTHER] | Attempt 4794: Error rate 52.17% (target: 15%) -2025-09-15T14:20:51.525Z | [OTHER] | Attempt 4795: Error rate 59.63% (target: 15%) -2025-09-15T14:20:51.530Z | [OTHER] | Attempt 4796: Error rate 48.29% (target: 15%) -2025-09-15T14:20:51.535Z | [OTHER] | Attempt 4797: Error rate 44.81% (target: 15%) -2025-09-15T14:20:51.540Z | [OTHER] | Attempt 4798: Error rate 55.3% (target: 15%) -2025-09-15T14:20:51.545Z | [OTHER] | Attempt 4799: Error rate 56.3% (target: 15%) -2025-09-15T14:20:51.550Z | [OTHER] | Attempt 4800: Error rate 53.33% (target: 15%) -2025-09-15T14:20:51.555Z | [OTHER] | Attempt 4801: Error rate 55.04% (target: 15%) -2025-09-15T14:20:51.560Z | [OTHER] | Attempt 4802: Error rate 47.67% (target: 15%) -2025-09-15T14:20:51.565Z | [OTHER] | Attempt 4803: Error rate 52.33% (target: 15%) -2025-09-15T14:20:51.571Z | [OTHER] | Attempt 4804: Error rate 44.96% (target: 15%) -2025-09-15T14:20:51.576Z | [OTHER] | Attempt 4805: Error rate 54.88% (target: 15%) -2025-09-15T14:20:51.582Z | [OTHER] | Attempt 4806: Error rate 58.33% (target: 15%) -2025-09-15T14:20:51.587Z | [OTHER] | Attempt 4807: Error rate 56.94% (target: 15%) -2025-09-15T14:20:51.592Z | [OTHER] | Attempt 4808: Error rate 54.44% (target: 15%) -2025-09-15T14:20:51.597Z | [OTHER] | Attempt 4809: Error rate 59.06% (target: 15%) -2025-09-15T14:20:51.602Z | [OTHER] | Attempt 4810: Error rate 50% (target: 15%) -2025-09-15T14:20:51.607Z | [OTHER] | Attempt 4811: Error rate 47.57% (target: 15%) -2025-09-15T14:20:51.612Z | [OTHER] | Attempt 4812: Error rate 43.12% (target: 15%) -2025-09-15T14:20:51.617Z | [OTHER] | Attempt 4813: Error rate 57.58% (target: 15%) -2025-09-15T14:20:51.622Z | [OTHER] | Attempt 4814: Error rate 45.04% (target: 15%) -2025-09-15T14:20:51.628Z | [OTHER] | Attempt 4815: Error rate 47.83% (target: 15%) -2025-09-15T14:20:51.634Z | [OTHER] | Attempt 4816: Error rate 58.33% (target: 15%) -2025-09-15T14:20:51.638Z | [OTHER] | Attempt 4817: Error rate 52.5% (target: 15%) -2025-09-15T14:20:51.643Z | [OTHER] | Attempt 4818: Error rate 53.62% (target: 15%) -2025-09-15T14:20:51.648Z | [OTHER] | Attempt 4819: Error rate 47.97% (target: 15%) -2025-09-15T14:20:51.653Z | [OTHER] | Attempt 4820: Error rate 57.29% (target: 15%) -2025-09-15T14:20:51.659Z | [OTHER] | Attempt 4821: Error rate 60.33% (target: 15%) -2025-09-15T14:20:51.664Z | [OTHER] | Attempt 4822: Error rate 58.33% (target: 15%) -2025-09-15T14:20:51.669Z | [OTHER] | Attempt 4823: Error rate 47.22% (target: 15%) -2025-09-15T14:20:51.674Z | [OTHER] | Attempt 4824: Error rate 55.3% (target: 15%) -2025-09-15T14:20:51.679Z | [OTHER] | Attempt 4825: Error rate 53.57% (target: 15%) -2025-09-15T14:20:51.684Z | [OTHER] | Attempt 4826: Error rate 52.59% (target: 15%) -2025-09-15T14:20:51.689Z | [OTHER] | Attempt 4827: Error rate 52.59% (target: 15%) -2025-09-15T14:20:51.694Z | [OTHER] | Attempt 4828: Error rate 55.04% (target: 15%) -2025-09-15T14:20:51.699Z | [OTHER] | Attempt 4829: Error rate 64.1% (target: 15%) -2025-09-15T14:20:51.703Z | [OTHER] | Attempt 4830: Error rate 52.17% (target: 15%) -2025-09-15T14:20:51.709Z | [OTHER] | Attempt 4831: Error rate 54.76% (target: 15%) -2025-09-15T14:20:51.714Z | [OTHER] | Attempt 4832: Error rate 54.76% (target: 15%) -2025-09-15T14:20:51.721Z | [OTHER] | Attempt 4833: Error rate 54.86% (target: 15%) -2025-09-15T14:20:51.730Z | [OTHER] | Attempt 4834: Error rate 48.06% (target: 15%) -2025-09-15T14:20:51.735Z | [OTHER] | Attempt 4835: Error rate 51.42% (target: 15%) -2025-09-15T14:20:51.741Z | [OTHER] | Attempt 4836: Error rate 55.81% (target: 15%) -2025-09-15T14:20:51.746Z | [OTHER] | Attempt 4837: Error rate 50% (target: 15%) -2025-09-15T14:20:51.752Z | [OTHER] | Attempt 4838: Error rate 46.75% (target: 15%) -2025-09-15T14:20:51.757Z | [OTHER] | Attempt 4839: Error rate 50.72% (target: 15%) -2025-09-15T14:20:51.763Z | [OTHER] | Attempt 4840: Error rate 54.65% (target: 15%) -2025-09-15T14:20:51.768Z | [OTHER] | Attempt 4841: Error rate 51.94% (target: 15%) -2025-09-15T14:20:51.773Z | [OTHER] | Attempt 4842: Error rate 53.88% (target: 15%) -2025-09-15T14:20:51.779Z | [OTHER] | Attempt 4843: Error rate 50.35% (target: 15%) -2025-09-15T14:20:51.785Z | [OTHER] | Attempt 4844: Error rate 59.3% (target: 15%) -2025-09-15T14:20:51.790Z | [OTHER] | Attempt 4845: Error rate 46.45% (target: 15%) -2025-09-15T14:20:51.795Z | [OTHER] | Attempt 4846: Error rate 50.74% (target: 15%) -2025-09-15T14:20:51.801Z | [OTHER] | Attempt 4847: Error rate 46.67% (target: 15%) -2025-09-15T14:20:51.806Z | [OTHER] | Attempt 4848: Error rate 52.59% (target: 15%) -2025-09-15T14:20:51.811Z | [OTHER] | Attempt 4849: Error rate 49.58% (target: 15%) -2025-09-15T14:20:51.816Z | [OTHER] | Attempt 4850: Error rate 51.59% (target: 15%) -2025-09-15T14:20:51.821Z | [OTHER] | Attempt 4851: Error rate 54.88% (target: 15%) -2025-09-15T14:20:51.826Z | [OTHER] | Attempt 4852: Error rate 50% (target: 15%) -2025-09-15T14:20:51.831Z | [OTHER] | Attempt 4853: Error rate 45.12% (target: 15%) -2025-09-15T14:20:51.836Z | [OTHER] | Attempt 4854: Error rate 51.22% (target: 15%) -2025-09-15T14:20:51.841Z | [OTHER] | Attempt 4855: Error rate 54.37% (target: 15%) -2025-09-15T14:20:51.846Z | [OTHER] | Attempt 4856: Error rate 53.57% (target: 15%) -2025-09-15T14:20:51.851Z | [OTHER] | Attempt 4857: Error rate 60.98% (target: 15%) -2025-09-15T14:20:51.856Z | [OTHER] | Attempt 4858: Error rate 48.72% (target: 15%) -2025-09-15T14:20:51.861Z | [OTHER] | Attempt 4859: Error rate 45.49% (target: 15%) -2025-09-15T14:20:51.866Z | [OTHER] | Attempt 4860: Error rate 57.72% (target: 15%) -2025-09-15T14:20:51.871Z | [OTHER] | Attempt 4861: Error rate 43.8% (target: 15%) -2025-09-15T14:20:51.876Z | [OTHER] | Attempt 4862: Error rate 55.19% (target: 15%) -2025-09-15T14:20:51.881Z | [OTHER] | Attempt 4863: Error rate 49.59% (target: 15%) -2025-09-15T14:20:51.886Z | [OTHER] | Attempt 4864: Error rate 49.6% (target: 15%) -2025-09-15T14:20:51.891Z | [OTHER] | Attempt 4865: Error rate 54.26% (target: 15%) -2025-09-15T14:20:51.896Z | [OTHER] | Attempt 4866: Error rate 51.22% (target: 15%) -2025-09-15T14:20:51.902Z | [OTHER] | Attempt 4867: Error rate 45.24% (target: 15%) -2025-09-15T14:20:51.907Z | [OTHER] | Attempt 4868: Error rate 56.59% (target: 15%) -2025-09-15T14:20:51.912Z | [OTHER] | Attempt 4869: Error rate 53.1% (target: 15%) -2025-09-15T14:20:51.917Z | [OTHER] | Attempt 4870: Error rate 53.1% (target: 15%) -2025-09-15T14:20:51.922Z | [OTHER] | Attempt 4871: Error rate 54.44% (target: 15%) -2025-09-15T14:20:51.927Z | [OTHER] | Attempt 4872: Error rate 49.64% (target: 15%) -2025-09-15T14:20:51.932Z | [OTHER] | Attempt 4873: Error rate 49.22% (target: 15%) -2025-09-15T14:20:51.937Z | [OTHER] | Attempt 4874: Error rate 59.13% (target: 15%) -2025-09-15T14:20:51.943Z | [OTHER] | Attempt 4875: Error rate 51.09% (target: 15%) -2025-09-15T14:20:51.947Z | [OTHER] | Attempt 4876: Error rate 52.04% (target: 15%) -2025-09-15T14:20:51.952Z | [OTHER] | Attempt 4877: Error rate 48.84% (target: 15%) -2025-09-15T14:20:51.958Z | [OTHER] | Attempt 4878: Error rate 62.6% (target: 15%) -2025-09-15T14:20:51.963Z | [OTHER] | Attempt 4879: Error rate 56.06% (target: 15%) -2025-09-15T14:20:51.969Z | [OTHER] | Attempt 4880: Error rate 55.56% (target: 15%) -2025-09-15T14:20:51.973Z | [OTHER] | Attempt 4881: Error rate 54.07% (target: 15%) -2025-09-15T14:20:51.979Z | [OTHER] | Attempt 4882: Error rate 59.3% (target: 15%) -2025-09-15T14:20:51.984Z | [OTHER] | Attempt 4883: Error rate 52.44% (target: 15%) -2025-09-15T14:20:51.989Z | [OTHER] | Attempt 4884: Error rate 54.26% (target: 15%) -2025-09-15T14:20:51.994Z | [OTHER] | Attempt 4885: Error rate 50.78% (target: 15%) -2025-09-15T14:20:51.999Z | [OTHER] | Attempt 4886: Error rate 56.84% (target: 15%) -2025-09-15T14:20:52.004Z | [OTHER] | Attempt 4887: Error rate 48.45% (target: 15%) -2025-09-15T14:20:52.009Z | [OTHER] | Attempt 4888: Error rate 56.5% (target: 15%) -2025-09-15T14:20:52.015Z | [OTHER] | Attempt 4889: Error rate 41.46% (target: 15%) -2025-09-15T14:20:52.020Z | [OTHER] | Attempt 4890: Error rate 61.48% (target: 15%) -2025-09-15T14:20:52.025Z | [OTHER] | Attempt 4891: Error rate 48.19% (target: 15%) -2025-09-15T14:20:52.030Z | [OTHER] | Attempt 4892: Error rate 54.88% (target: 15%) -2025-09-15T14:20:52.036Z | [OTHER] | Attempt 4893: Error rate 57.21% (target: 15%) -2025-09-15T14:20:52.041Z | [OTHER] | Attempt 4894: Error rate 52.71% (target: 15%) -2025-09-15T14:20:52.046Z | [OTHER] | Attempt 4895: Error rate 52.71% (target: 15%) -2025-09-15T14:20:52.051Z | [OTHER] | Attempt 4896: Error rate 51.94% (target: 15%) -2025-09-15T14:20:52.055Z | [OTHER] | Attempt 4897: Error rate 50.38% (target: 15%) -2025-09-15T14:20:52.061Z | [OTHER] | Attempt 4898: Error rate 65.91% (target: 15%) -2025-09-15T14:20:52.066Z | [OTHER] | Attempt 4899: Error rate 55.56% (target: 15%) -2025-09-15T14:20:52.073Z | [OTHER] | Attempt 4900: Error rate 50.38% (target: 15%) -2025-09-15T14:20:52.078Z | [OTHER] | Attempt 4901: Error rate 51.45% (target: 15%) -2025-09-15T14:20:52.083Z | [OTHER] | Attempt 4902: Error rate 46.38% (target: 15%) -2025-09-15T14:20:52.089Z | [OTHER] | Attempt 4903: Error rate 43.9% (target: 15%) -2025-09-15T14:20:52.094Z | [OTHER] | Attempt 4904: Error rate 57.14% (target: 15%) -2025-09-15T14:20:52.099Z | [OTHER] | Attempt 4905: Error rate 53.25% (target: 15%) -2025-09-15T14:20:52.105Z | [OTHER] | Attempt 4906: Error rate 52.48% (target: 15%) -2025-09-15T14:20:52.110Z | [OTHER] | Attempt 4907: Error rate 55.8% (target: 15%) -2025-09-15T14:20:52.116Z | [OTHER] | Attempt 4908: Error rate 41.32% (target: 15%) -2025-09-15T14:20:52.121Z | [OTHER] | Attempt 4909: Error rate 52.78% (target: 15%) -2025-09-15T14:20:52.127Z | [OTHER] | Attempt 4910: Error rate 53.75% (target: 15%) -2025-09-15T14:20:52.132Z | [OTHER] | Attempt 4911: Error rate 52.96% (target: 15%) -2025-09-15T14:20:52.138Z | [OTHER] | Attempt 4912: Error rate 46.74% (target: 15%) -2025-09-15T14:20:52.150Z | [OTHER] | Attempt 4913: Error rate 43.84% (target: 15%) -2025-09-15T14:20:52.161Z | [OTHER] | Attempt 4914: Error rate 52.78% (target: 15%) -2025-09-15T14:20:52.170Z | [OTHER] | Attempt 4915: Error rate 45.39% (target: 15%) -2025-09-15T14:20:52.181Z | [OTHER] | Attempt 4916: Error rate 53.42% (target: 15%) -2025-09-15T14:20:52.192Z | [OTHER] | Attempt 4917: Error rate 52.54% (target: 15%) -2025-09-15T14:20:52.200Z | [OTHER] | Attempt 4918: Error rate 50% (target: 15%) -2025-09-15T14:20:52.208Z | [OTHER] | Attempt 4919: Error rate 47.92% (target: 15%) -2025-09-15T14:20:52.217Z | [OTHER] | Attempt 4920: Error rate 49.65% (target: 15%) -2025-09-15T14:20:52.223Z | [OTHER] | Attempt 4921: Error rate 61.96% (target: 15%) -2025-09-15T14:20:52.229Z | [OTHER] | Attempt 4922: Error rate 55.19% (target: 15%) -2025-09-15T14:20:52.234Z | [OTHER] | Attempt 4923: Error rate 45.56% (target: 15%) -2025-09-15T14:20:52.239Z | [OTHER] | Attempt 4924: Error rate 41.49% (target: 15%) -2025-09-15T14:20:52.244Z | [OTHER] | Attempt 4925: Error rate 59.42% (target: 15%) -2025-09-15T14:20:52.250Z | [OTHER] | Attempt 4926: Error rate 51.98% (target: 15%) -2025-09-15T14:20:52.255Z | [OTHER] | Attempt 4927: Error rate 52.33% (target: 15%) -2025-09-15T14:20:52.260Z | [OTHER] | Attempt 4928: Error rate 44.2% (target: 15%) -2025-09-15T14:20:52.265Z | [OTHER] | Attempt 4929: Error rate 54.44% (target: 15%) -2025-09-15T14:20:52.270Z | [OTHER] | Attempt 4930: Error rate 45.83% (target: 15%) -2025-09-15T14:20:52.275Z | [OTHER] | Attempt 4931: Error rate 56.76% (target: 15%) -2025-09-15T14:20:52.281Z | [OTHER] | Attempt 4932: Error rate 54.44% (target: 15%) -2025-09-15T14:20:52.285Z | [OTHER] | Attempt 4933: Error rate 47.73% (target: 15%) -2025-09-15T14:20:52.290Z | [OTHER] | Attempt 4934: Error rate 52.59% (target: 15%) -2025-09-15T14:20:52.296Z | [OTHER] | Attempt 4935: Error rate 50% (target: 15%) -2025-09-15T14:20:52.301Z | [OTHER] | Attempt 4936: Error rate 48.78% (target: 15%) -2025-09-15T14:20:52.306Z | [OTHER] | Attempt 4937: Error rate 57.14% (target: 15%) -2025-09-15T14:20:52.310Z | [OTHER] | Attempt 4938: Error rate 54.81% (target: 15%) -2025-09-15T14:20:52.316Z | [OTHER] | Attempt 4939: Error rate 48.37% (target: 15%) -2025-09-15T14:20:52.321Z | [OTHER] | Attempt 4940: Error rate 49.63% (target: 15%) -2025-09-15T14:20:52.326Z | [OTHER] | Attempt 4941: Error rate 50% (target: 15%) -2025-09-15T14:20:52.331Z | [OTHER] | Attempt 4942: Error rate 53.17% (target: 15%) -2025-09-15T14:20:52.336Z | [OTHER] | Attempt 4943: Error rate 53.41% (target: 15%) -2025-09-15T14:20:52.341Z | [OTHER] | Attempt 4944: Error rate 52.85% (target: 15%) -2025-09-15T14:20:52.346Z | [OTHER] | Attempt 4945: Error rate 54.76% (target: 15%) -2025-09-15T14:20:52.351Z | [OTHER] | Attempt 4946: Error rate 52.7% (target: 15%) -2025-09-15T14:20:52.356Z | [OTHER] | Attempt 4947: Error rate 53.92% (target: 15%) -2025-09-15T14:20:52.361Z | [OTHER] | Attempt 4948: Error rate 52.96% (target: 15%) -2025-09-15T14:20:52.366Z | [OTHER] | Attempt 4949: Error rate 61.9% (target: 15%) -2025-09-15T14:20:52.371Z | [OTHER] | Attempt 4950: Error rate 51.39% (target: 15%) -2025-09-15T14:20:52.376Z | [OTHER] | Attempt 4951: Error rate 56.82% (target: 15%) -2025-09-15T14:20:52.381Z | [OTHER] | Attempt 4952: Error rate 52.65% (target: 15%) -2025-09-15T14:20:52.386Z | [OTHER] | Attempt 4953: Error rate 56.82% (target: 15%) -2025-09-15T14:20:52.391Z | [OTHER] | Attempt 4954: Error rate 54.17% (target: 15%) -2025-09-15T14:20:52.396Z | [OTHER] | Attempt 4955: Error rate 60.23% (target: 15%) -2025-09-15T14:20:52.401Z | [OTHER] | Attempt 4956: Error rate 50% (target: 15%) -2025-09-15T14:20:52.407Z | [OTHER] | Attempt 4957: Error rate 55.41% (target: 15%) -2025-09-15T14:20:52.412Z | [OTHER] | Attempt 4958: Error rate 46.43% (target: 15%) -2025-09-15T14:20:52.418Z | [OTHER] | Attempt 4959: Error rate 50.81% (target: 15%) -2025-09-15T14:20:52.423Z | [OTHER] | Attempt 4960: Error rate 52.03% (target: 15%) -2025-09-15T14:20:52.428Z | [OTHER] | Attempt 4961: Error rate 56.2% (target: 15%) -2025-09-15T14:20:52.433Z | [OTHER] | Attempt 4962: Error rate 52.63% (target: 15%) -2025-09-15T14:20:52.438Z | [OTHER] | Attempt 4963: Error rate 48.19% (target: 15%) -2025-09-15T14:20:52.443Z | [OTHER] | Attempt 4964: Error rate 48.89% (target: 15%) -2025-09-15T14:20:52.448Z | [OTHER] | Attempt 4965: Error rate 49.61% (target: 15%) -2025-09-15T14:20:52.453Z | [OTHER] | Attempt 4966: Error rate 53.97% (target: 15%) -2025-09-15T14:20:52.459Z | [OTHER] | Attempt 4967: Error rate 48.61% (target: 15%) -2025-09-15T14:20:52.464Z | [OTHER] | Attempt 4968: Error rate 50% (target: 15%) -2025-09-15T14:20:52.469Z | [OTHER] | Attempt 4969: Error rate 50% (target: 15%) -2025-09-15T14:20:52.474Z | [OTHER] | Attempt 4970: Error rate 48.23% (target: 15%) -2025-09-15T14:20:52.479Z | [OTHER] | Attempt 4971: Error rate 56.75% (target: 15%) -2025-09-15T14:20:52.484Z | [OTHER] | Attempt 4972: Error rate 53.66% (target: 15%) -2025-09-15T14:20:52.489Z | [OTHER] | Attempt 4973: Error rate 52.59% (target: 15%) -2025-09-15T14:20:52.495Z | [OTHER] | Attempt 4974: Error rate 46.01% (target: 15%) -2025-09-15T14:20:52.500Z | [OTHER] | Attempt 4975: Error rate 48.65% (target: 15%) -2025-09-15T14:20:52.505Z | [OTHER] | Attempt 4976: Error rate 40.91% (target: 15%) -2025-09-15T14:20:52.510Z | [OTHER] | Attempt 4977: Error rate 51.45% (target: 15%) -2025-09-15T14:20:52.515Z | [OTHER] | Attempt 4978: Error rate 54.17% (target: 15%) -2025-09-15T14:20:52.520Z | [OTHER] | Attempt 4979: Error rate 43.56% (target: 15%) -2025-09-15T14:20:52.525Z | [OTHER] | Attempt 4980: Error rate 57.02% (target: 15%) -2025-09-15T14:20:52.531Z | [OTHER] | Attempt 4981: Error rate 54.37% (target: 15%) -2025-09-15T14:20:52.536Z | [OTHER] | Attempt 4982: Error rate 53.88% (target: 15%) -2025-09-15T14:20:52.541Z | [OTHER] | Attempt 4983: Error rate 51.16% (target: 15%) -2025-09-15T14:20:52.546Z | [OTHER] | Attempt 4984: Error rate 51.09% (target: 15%) -2025-09-15T14:20:52.551Z | [OTHER] | Attempt 4985: Error rate 53.26% (target: 15%) -2025-09-15T14:20:52.556Z | [OTHER] | Attempt 4986: Error rate 58.71% (target: 15%) -2025-09-15T14:20:52.562Z | [OTHER] | Attempt 4987: Error rate 50% (target: 15%) -2025-09-15T14:20:52.568Z | [OTHER] | Attempt 4988: Error rate 53.67% (target: 15%) -2025-09-15T14:20:52.573Z | [OTHER] | Attempt 4989: Error rate 53.03% (target: 15%) -2025-09-15T14:20:52.579Z | [OTHER] | Attempt 4990: Error rate 57.04% (target: 15%) -2025-09-15T14:20:52.584Z | [OTHER] | Attempt 4991: Error rate 56.98% (target: 15%) -2025-09-15T14:20:52.589Z | [OTHER] | Attempt 4992: Error rate 49.17% (target: 15%) -2025-09-15T14:20:52.594Z | [OTHER] | Attempt 4993: Error rate 52.38% (target: 15%) -2025-09-15T14:20:52.600Z | [OTHER] | Attempt 4994: Error rate 51.28% (target: 15%) -2025-09-15T14:20:52.605Z | [OTHER] | Attempt 4995: Error rate 48.45% (target: 15%) -2025-09-15T14:20:52.610Z | [OTHER] | Attempt 4996: Error rate 55.67% (target: 15%) -2025-09-15T14:20:52.615Z | [OTHER] | Attempt 4997: Error rate 52.78% (target: 15%) -2025-09-15T14:20:52.620Z | [OTHER] | Attempt 4998: Error rate 53.41% (target: 15%) -2025-09-15T14:20:52.625Z | [OTHER] | Attempt 4999: Error rate 50.79% (target: 15%) -2025-09-15T14:20:52.630Z | [OTHER] | Attempt 5000: Error rate 54.76% (target: 15%) -2025-09-15T14:20:52.636Z | [OTHER] | Attempt 5001: Error rate 64.86% (target: 15%) -2025-09-15T14:20:52.641Z | [OTHER] | Attempt 5002: Error rate 52.08% (target: 15%) -2025-09-15T14:20:52.646Z | [OTHER] | Attempt 5003: Error rate 58.73% (target: 15%) -2025-09-15T14:20:52.651Z | [OTHER] | Attempt 5004: Error rate 43.65% (target: 15%) -2025-09-15T14:20:52.656Z | [OTHER] | Attempt 5005: Error rate 51.04% (target: 15%) -2025-09-15T14:20:52.663Z | [OTHER] | Attempt 5006: Error rate 43.7% (target: 15%) -2025-09-15T14:20:52.668Z | [OTHER] | Attempt 5007: Error rate 53.19% (target: 15%) -2025-09-15T14:20:52.673Z | [OTHER] | Attempt 5008: Error rate 47.46% (target: 15%) -2025-09-15T14:20:52.678Z | [OTHER] | Attempt 5009: Error rate 48.65% (target: 15%) -2025-09-15T14:20:52.683Z | [OTHER] | Attempt 5010: Error rate 50% (target: 15%) -2025-09-15T14:20:52.689Z | [OTHER] | Attempt 5011: Error rate 52.85% (target: 15%) -2025-09-15T14:20:52.694Z | [OTHER] | Attempt 5012: Error rate 50.4% (target: 15%) -2025-09-15T14:20:52.699Z | [OTHER] | Attempt 5013: Error rate 58.33% (target: 15%) -2025-09-15T14:20:52.704Z | [OTHER] | Attempt 5014: Error rate 58.33% (target: 15%) -2025-09-15T14:20:52.709Z | [OTHER] | Attempt 5015: Error rate 46.74% (target: 15%) -2025-09-15T14:20:52.714Z | [OTHER] | Attempt 5016: Error rate 57.58% (target: 15%) -2025-09-15T14:20:52.718Z | [OTHER] | Attempt 5017: Error rate 53.33% (target: 15%) -2025-09-15T14:20:52.725Z | [OTHER] | Attempt 5018: Error rate 53.7% (target: 15%) -2025-09-15T14:20:52.729Z | [OTHER] | Attempt 5019: Error rate 57.14% (target: 15%) -2025-09-15T14:20:52.734Z | [OTHER] | Attempt 5020: Error rate 48.91% (target: 15%) -2025-09-15T14:20:52.739Z | [OTHER] | Attempt 5021: Error rate 48.45% (target: 15%) -2025-09-15T14:20:52.745Z | [OTHER] | Attempt 5022: Error rate 55.43% (target: 15%) -2025-09-15T14:20:52.750Z | [OTHER] | Attempt 5023: Error rate 51.81% (target: 15%) -2025-09-15T14:20:52.755Z | [OTHER] | Attempt 5024: Error rate 52.27% (target: 15%) -2025-09-15T14:20:52.760Z | [OTHER] | Attempt 5025: Error rate 47.62% (target: 15%) -2025-09-15T14:20:52.765Z | [OTHER] | Attempt 5026: Error rate 48.81% (target: 15%) -2025-09-15T14:20:52.770Z | [OTHER] | Attempt 5027: Error rate 43.94% (target: 15%) -2025-09-15T14:20:52.775Z | [OTHER] | Attempt 5028: Error rate 47.62% (target: 15%) -2025-09-15T14:20:52.780Z | [OTHER] | Attempt 5029: Error rate 47.35% (target: 15%) -2025-09-15T14:20:52.786Z | [OTHER] | Attempt 5030: Error rate 54.71% (target: 15%) -2025-09-15T14:20:52.791Z | [OTHER] | Attempt 5031: Error rate 44.1% (target: 15%) -2025-09-15T14:20:52.796Z | [OTHER] | Attempt 5032: Error rate 50.68% (target: 15%) -2025-09-15T14:20:52.801Z | [OTHER] | Attempt 5033: Error rate 41.13% (target: 15%) -2025-09-15T14:20:52.806Z | [OTHER] | Attempt 5034: Error rate 52.78% (target: 15%) -2025-09-15T14:20:52.811Z | [OTHER] | Attempt 5035: Error rate 56.5% (target: 15%) -2025-09-15T14:20:52.816Z | [OTHER] | Attempt 5036: Error rate 52.44% (target: 15%) -2025-09-15T14:20:52.822Z | [OTHER] | Attempt 5037: Error rate 53.03% (target: 15%) -2025-09-15T14:20:52.828Z | [OTHER] | Attempt 5038: Error rate 51.59% (target: 15%) -2025-09-15T14:20:52.833Z | [OTHER] | Attempt 5039: Error rate 53.62% (target: 15%) -2025-09-15T14:20:52.839Z | [OTHER] | Attempt 5040: Error rate 57.04% (target: 15%) -2025-09-15T14:20:52.844Z | [OTHER] | Attempt 5041: Error rate 56.84% (target: 15%) -2025-09-15T14:20:52.849Z | [OTHER] | Attempt 5042: Error rate 52.27% (target: 15%) -2025-09-15T14:20:52.854Z | [OTHER] | Attempt 5043: Error rate 47.22% (target: 15%) -2025-09-15T14:20:52.859Z | [OTHER] | Attempt 5044: Error rate 56.91% (target: 15%) -2025-09-15T14:20:52.864Z | [OTHER] | Attempt 5045: Error rate 57.25% (target: 15%) -2025-09-15T14:20:52.869Z | [OTHER] | Attempt 5046: Error rate 57.64% (target: 15%) -2025-09-15T14:20:52.874Z | [OTHER] | Attempt 5047: Error rate 46.21% (target: 15%) -2025-09-15T14:20:52.879Z | [OTHER] | Attempt 5048: Error rate 55.56% (target: 15%) -2025-09-15T14:20:52.885Z | [OTHER] | Attempt 5049: Error rate 56.91% (target: 15%) -2025-09-15T14:20:52.890Z | [OTHER] | Attempt 5050: Error rate 48.96% (target: 15%) -2025-09-15T14:20:52.895Z | [OTHER] | Attempt 5051: Error rate 55.3% (target: 15%) -2025-09-15T14:20:52.900Z | [OTHER] | Attempt 5052: Error rate 52.65% (target: 15%) -2025-09-15T14:20:52.905Z | [OTHER] | Attempt 5053: Error rate 49.65% (target: 15%) -2025-09-15T14:20:52.910Z | [OTHER] | Attempt 5054: Error rate 51.16% (target: 15%) -2025-09-15T14:20:52.918Z | [OTHER] | Attempt 5055: Error rate 53.66% (target: 15%) -2025-09-15T14:20:52.924Z | [OTHER] | Attempt 5056: Error rate 55.81% (target: 15%) -2025-09-15T14:20:52.929Z | [OTHER] | Attempt 5057: Error rate 54.58% (target: 15%) -2025-09-15T14:20:52.935Z | [OTHER] | Attempt 5058: Error rate 50.39% (target: 15%) -2025-09-15T14:20:52.940Z | [OTHER] | Attempt 5059: Error rate 45.14% (target: 15%) -2025-09-15T14:20:52.946Z | [OTHER] | Attempt 5060: Error rate 54.17% (target: 15%) -2025-09-15T14:20:52.951Z | [OTHER] | Attempt 5061: Error rate 50.43% (target: 15%) -2025-09-15T14:20:52.958Z | [OTHER] | Attempt 5062: Error rate 42.31% (target: 15%) -2025-09-15T14:20:52.963Z | [OTHER] | Attempt 5063: Error rate 44.33% (target: 15%) -2025-09-15T14:20:52.968Z | [OTHER] | Attempt 5064: Error rate 45.56% (target: 15%) -2025-09-15T14:20:52.974Z | [OTHER] | Attempt 5065: Error rate 53.99% (target: 15%) -2025-09-15T14:20:52.979Z | [OTHER] | Attempt 5066: Error rate 51.09% (target: 15%) -2025-09-15T14:20:52.984Z | [OTHER] | Attempt 5067: Error rate 45.93% (target: 15%) -2025-09-15T14:20:52.989Z | [OTHER] | Attempt 5068: Error rate 55.43% (target: 15%) -2025-09-15T14:20:52.995Z | [OTHER] | Attempt 5069: Error rate 54.07% (target: 15%) -2025-09-15T14:20:53.001Z | [OTHER] | Attempt 5070: Error rate 49.62% (target: 15%) -2025-09-15T14:20:53.006Z | [OTHER] | Attempt 5071: Error rate 57.2% (target: 15%) -2025-09-15T14:20:53.012Z | [OTHER] | Attempt 5072: Error rate 50.74% (target: 15%) -2025-09-15T14:20:53.017Z | [OTHER] | Attempt 5073: Error rate 60.98% (target: 15%) -2025-09-15T14:20:53.023Z | [OTHER] | Attempt 5074: Error rate 48.33% (target: 15%) -2025-09-15T14:20:53.029Z | [OTHER] | Attempt 5075: Error rate 51.48% (target: 15%) -2025-09-15T14:20:53.035Z | [OTHER] | Attempt 5076: Error rate 53.7% (target: 15%) -2025-09-15T14:20:53.041Z | [OTHER] | Attempt 5077: Error rate 56.5% (target: 15%) -2025-09-15T14:20:53.046Z | [OTHER] | Attempt 5078: Error rate 48.98% (target: 15%) -2025-09-15T14:20:53.052Z | [OTHER] | Attempt 5079: Error rate 51.77% (target: 15%) -2025-09-15T14:20:53.058Z | [OTHER] | Attempt 5080: Error rate 50% (target: 15%) -2025-09-15T14:20:53.064Z | [OTHER] | Attempt 5081: Error rate 49.19% (target: 15%) -2025-09-15T14:20:53.069Z | [OTHER] | Attempt 5082: Error rate 50.88% (target: 15%) -2025-09-15T14:20:53.075Z | [OTHER] | Attempt 5083: Error rate 52.38% (target: 15%) -2025-09-15T14:20:53.081Z | [OTHER] | Attempt 5084: Error rate 45.42% (target: 15%) -2025-09-15T14:20:53.087Z | [OTHER] | Attempt 5085: Error rate 53.7% (target: 15%) -2025-09-15T14:20:53.093Z | [OTHER] | Attempt 5086: Error rate 48.11% (target: 15%) -2025-09-15T14:20:53.099Z | [OTHER] | Attempt 5087: Error rate 63.54% (target: 15%) -2025-09-15T14:20:53.105Z | [OTHER] | Attempt 5088: Error rate 51.67% (target: 15%) -2025-09-15T14:20:53.111Z | [OTHER] | Attempt 5089: Error rate 56.25% (target: 15%) -2025-09-15T14:20:53.117Z | [OTHER] | Attempt 5090: Error rate 48.89% (target: 15%) -2025-09-15T14:20:53.123Z | [OTHER] | Attempt 5091: Error rate 59.06% (target: 15%) -2025-09-15T14:20:53.129Z | [OTHER] | Attempt 5092: Error rate 60.08% (target: 15%) -2025-09-15T14:20:53.134Z | [OTHER] | Attempt 5093: Error rate 50% (target: 15%) -2025-09-15T14:20:53.140Z | [OTHER] | Attempt 5094: Error rate 55.56% (target: 15%) -2025-09-15T14:20:53.146Z | [OTHER] | Attempt 5095: Error rate 53.88% (target: 15%) -2025-09-15T14:20:53.151Z | [OTHER] | Attempt 5096: Error rate 47.52% (target: 15%) -2025-09-15T14:20:53.157Z | [OTHER] | Attempt 5097: Error rate 60.07% (target: 15%) -2025-09-15T14:20:53.162Z | [OTHER] | Attempt 5098: Error rate 55.56% (target: 15%) -2025-09-15T14:20:53.168Z | [OTHER] | Attempt 5099: Error rate 53.41% (target: 15%) -2025-09-15T14:20:53.173Z | [OTHER] | Attempt 5100: Error rate 48.06% (target: 15%) -2025-09-15T14:20:53.178Z | [OTHER] | Attempt 5101: Error rate 55.3% (target: 15%) -2025-09-15T14:20:53.185Z | [OTHER] | Attempt 5102: Error rate 46.21% (target: 15%) -2025-09-15T14:20:53.189Z | [OTHER] | Attempt 5103: Error rate 53.7% (target: 15%) -2025-09-15T14:20:53.194Z | [OTHER] | Attempt 5104: Error rate 57.36% (target: 15%) -2025-09-15T14:20:53.200Z | [OTHER] | Attempt 5105: Error rate 54.96% (target: 15%) -2025-09-15T14:20:53.205Z | [OTHER] | Attempt 5106: Error rate 47.1% (target: 15%) -2025-09-15T14:20:53.210Z | [OTHER] | Attempt 5107: Error rate 48.78% (target: 15%) -2025-09-15T14:20:53.215Z | [OTHER] | Attempt 5108: Error rate 45.29% (target: 15%) -2025-09-15T14:20:53.221Z | [OTHER] | Attempt 5109: Error rate 51.45% (target: 15%) -2025-09-15T14:20:53.226Z | [OTHER] | Attempt 5110: Error rate 40.08% (target: 15%) -2025-09-15T14:20:53.232Z | [OTHER] | Attempt 5111: Error rate 53.88% (target: 15%) -2025-09-15T14:20:53.237Z | [OTHER] | Attempt 5112: Error rate 50.83% (target: 15%) -2025-09-15T14:20:53.243Z | [OTHER] | Attempt 5113: Error rate 50.83% (target: 15%) -2025-09-15T14:20:53.249Z | [OTHER] | Attempt 5114: Error rate 56.74% (target: 15%) -2025-09-15T14:20:53.255Z | [OTHER] | Attempt 5115: Error rate 51.55% (target: 15%) -2025-09-15T14:20:53.260Z | [OTHER] | Attempt 5116: Error rate 59.47% (target: 15%) -2025-09-15T14:20:53.265Z | [OTHER] | Attempt 5117: Error rate 62.12% (target: 15%) -2025-09-15T14:20:53.271Z | [OTHER] | Attempt 5118: Error rate 47.73% (target: 15%) -2025-09-15T14:20:53.276Z | [OTHER] | Attempt 5119: Error rate 53.66% (target: 15%) -2025-09-15T14:20:53.281Z | [OTHER] | Attempt 5120: Error rate 57.04% (target: 15%) -2025-09-15T14:20:53.286Z | [OTHER] | Attempt 5121: Error rate 56.94% (target: 15%) -2025-09-15T14:20:53.291Z | [OTHER] | Attempt 5122: Error rate 54.25% (target: 15%) -2025-09-15T14:20:53.296Z | [OTHER] | Attempt 5123: Error rate 53.97% (target: 15%) -2025-09-15T14:20:53.301Z | [OTHER] | Attempt 5124: Error rate 51.74% (target: 15%) -2025-09-15T14:20:53.306Z | [OTHER] | Attempt 5125: Error rate 55.56% (target: 15%) -2025-09-15T14:20:53.311Z | [OTHER] | Attempt 5126: Error rate 46.59% (target: 15%) -2025-09-15T14:20:53.316Z | [OTHER] | Attempt 5127: Error rate 52.78% (target: 15%) -2025-09-15T14:20:53.321Z | [OTHER] | Attempt 5128: Error rate 52.27% (target: 15%) -2025-09-15T14:20:53.327Z | [OTHER] | Attempt 5129: Error rate 60% (target: 15%) -2025-09-15T14:20:53.332Z | [OTHER] | Attempt 5130: Error rate 45.74% (target: 15%) -2025-09-15T14:20:53.337Z | [OTHER] | Attempt 5131: Error rate 54.17% (target: 15%) -2025-09-15T14:20:53.342Z | [OTHER] | Attempt 5132: Error rate 46.15% (target: 15%) -2025-09-15T14:20:53.347Z | [OTHER] | Attempt 5133: Error rate 49.22% (target: 15%) -2025-09-15T14:20:53.352Z | [OTHER] | Attempt 5134: Error rate 59.35% (target: 15%) -2025-09-15T14:20:53.357Z | [OTHER] | Attempt 5135: Error rate 46.9% (target: 15%) -2025-09-15T14:20:53.362Z | [OTHER] | Attempt 5136: Error rate 50.79% (target: 15%) -2025-09-15T14:20:53.367Z | [OTHER] | Attempt 5137: Error rate 46.75% (target: 15%) -2025-09-15T14:20:53.372Z | [OTHER] | Attempt 5138: Error rate 55.95% (target: 15%) -2025-09-15T14:20:53.377Z | [OTHER] | Attempt 5139: Error rate 55.28% (target: 15%) -2025-09-15T14:20:53.382Z | [OTHER] | Attempt 5140: Error rate 51.11% (target: 15%) -2025-09-15T14:20:53.387Z | [OTHER] | Attempt 5141: Error rate 57.14% (target: 15%) -2025-09-15T14:20:53.392Z | [OTHER] | Attempt 5142: Error rate 56.06% (target: 15%) -2025-09-15T14:20:53.397Z | [OTHER] | Attempt 5143: Error rate 46.74% (target: 15%) -2025-09-15T14:20:53.402Z | [OTHER] | Attempt 5144: Error rate 48.91% (target: 15%) -2025-09-15T14:20:53.407Z | [OTHER] | Attempt 5145: Error rate 55.95% (target: 15%) -2025-09-15T14:20:53.412Z | [OTHER] | Attempt 5146: Error rate 42.42% (target: 15%) -2025-09-15T14:20:53.417Z | [OTHER] | Attempt 5147: Error rate 54.05% (target: 15%) -2025-09-15T14:20:53.422Z | [OTHER] | Attempt 5148: Error rate 53.79% (target: 15%) -2025-09-15T14:20:53.427Z | [OTHER] | Attempt 5149: Error rate 64.29% (target: 15%) -2025-09-15T14:20:53.432Z | [OTHER] | Attempt 5150: Error rate 51.45% (target: 15%) -2025-09-15T14:20:53.438Z | [OTHER] | Attempt 5151: Error rate 55.43% (target: 15%) -2025-09-15T14:20:53.443Z | [OTHER] | Attempt 5152: Error rate 47.62% (target: 15%) -2025-09-15T14:20:53.448Z | [OTHER] | Attempt 5153: Error rate 56.3% (target: 15%) -2025-09-15T14:20:53.453Z | [OTHER] | Attempt 5154: Error rate 52.17% (target: 15%) -2025-09-15T14:20:53.458Z | [OTHER] | Attempt 5155: Error rate 53.03% (target: 15%) -2025-09-15T14:20:53.463Z | [OTHER] | Attempt 5156: Error rate 49.32% (target: 15%) -2025-09-15T14:20:53.468Z | [OTHER] | Attempt 5157: Error rate 53.75% (target: 15%) -2025-09-15T14:20:53.474Z | [OTHER] | Attempt 5158: Error rate 55% (target: 15%) -2025-09-15T14:20:53.479Z | [OTHER] | Attempt 5159: Error rate 51.89% (target: 15%) -2025-09-15T14:20:53.484Z | [OTHER] | Attempt 5160: Error rate 53.47% (target: 15%) -2025-09-15T14:20:53.489Z | [OTHER] | Attempt 5161: Error rate 57.04% (target: 15%) -2025-09-15T14:20:53.494Z | [OTHER] | Attempt 5162: Error rate 57.78% (target: 15%) -2025-09-15T14:20:53.499Z | [OTHER] | Attempt 5163: Error rate 52.84% (target: 15%) -2025-09-15T14:20:53.504Z | [OTHER] | Attempt 5164: Error rate 51.22% (target: 15%) -2025-09-15T14:20:53.510Z | [OTHER] | Attempt 5165: Error rate 46.81% (target: 15%) -2025-09-15T14:20:53.515Z | [OTHER] | Attempt 5166: Error rate 50.68% (target: 15%) -2025-09-15T14:20:53.520Z | [OTHER] | Attempt 5167: Error rate 50.78% (target: 15%) -2025-09-15T14:20:53.525Z | [OTHER] | Attempt 5168: Error rate 53.17% (target: 15%) -2025-09-15T14:20:53.530Z | [OTHER] | Attempt 5169: Error rate 54.96% (target: 15%) -2025-09-15T14:20:53.535Z | [OTHER] | Attempt 5170: Error rate 52.65% (target: 15%) -2025-09-15T14:20:53.540Z | [OTHER] | Attempt 5171: Error rate 53.03% (target: 15%) -2025-09-15T14:20:53.545Z | [OTHER] | Attempt 5172: Error rate 49.24% (target: 15%) -2025-09-15T14:20:53.551Z | [OTHER] | Attempt 5173: Error rate 39.15% (target: 15%) -2025-09-15T14:20:53.560Z | [OTHER] | Attempt 5174: Error rate 52.61% (target: 15%) -2025-09-15T14:20:53.568Z | [OTHER] | Attempt 5175: Error rate 54.71% (target: 15%) -2025-09-15T14:20:53.575Z | [OTHER] | Attempt 5176: Error rate 50% (target: 15%) -2025-09-15T14:20:53.583Z | [OTHER] | Attempt 5177: Error rate 47.46% (target: 15%) -2025-09-15T14:20:53.590Z | [OTHER] | Attempt 5178: Error rate 55.28% (target: 15%) -2025-09-15T14:20:53.596Z | [OTHER] | Attempt 5179: Error rate 55.28% (target: 15%) -2025-09-15T14:20:53.604Z | [OTHER] | Attempt 5180: Error rate 48.11% (target: 15%) -2025-09-15T14:20:53.610Z | [OTHER] | Attempt 5181: Error rate 54.44% (target: 15%) -2025-09-15T14:20:53.616Z | [OTHER] | Attempt 5182: Error rate 56.5% (target: 15%) -2025-09-15T14:20:53.621Z | [OTHER] | Attempt 5183: Error rate 56.91% (target: 15%) -2025-09-15T14:20:53.627Z | [OTHER] | Attempt 5184: Error rate 52.08% (target: 15%) -2025-09-15T14:20:53.632Z | [OTHER] | Attempt 5185: Error rate 51.52% (target: 15%) -2025-09-15T14:20:53.638Z | [OTHER] | Attempt 5186: Error rate 56.3% (target: 15%) -2025-09-15T14:20:53.644Z | [OTHER] | Attempt 5187: Error rate 47.33% (target: 15%) -2025-09-15T14:20:53.648Z | [OTHER] | Attempt 5188: Error rate 53.57% (target: 15%) -2025-09-15T14:20:53.653Z | [OTHER] | Attempt 5189: Error rate 44.61% (target: 15%) -2025-09-15T14:20:53.659Z | [OTHER] | Attempt 5190: Error rate 56.03% (target: 15%) -2025-09-15T14:20:53.664Z | [OTHER] | Attempt 5191: Error rate 54.55% (target: 15%) -2025-09-15T14:20:53.669Z | [OTHER] | Attempt 5192: Error rate 53.49% (target: 15%) -2025-09-15T14:20:53.674Z | [OTHER] | Attempt 5193: Error rate 51.06% (target: 15%) -2025-09-15T14:20:53.680Z | [OTHER] | Attempt 5194: Error rate 54.17% (target: 15%) -2025-09-15T14:20:53.685Z | [OTHER] | Attempt 5195: Error rate 51.11% (target: 15%) -2025-09-15T14:20:53.690Z | [OTHER] | Attempt 5196: Error rate 41.67% (target: 15%) -2025-09-15T14:20:53.696Z | [OTHER] | Attempt 5197: Error rate 53.26% (target: 15%) -2025-09-15T14:20:53.701Z | [OTHER] | Attempt 5198: Error rate 56.06% (target: 15%) -2025-09-15T14:20:53.706Z | [OTHER] | Attempt 5199: Error rate 51.19% (target: 15%) -2025-09-15T14:20:53.711Z | [OTHER] | Attempt 5200: Error rate 50.74% (target: 15%) -2025-09-15T14:20:53.716Z | [OTHER] | Attempt 5201: Error rate 49.62% (target: 15%) -2025-09-15T14:20:53.721Z | [OTHER] | Attempt 5202: Error rate 55.28% (target: 15%) -2025-09-15T14:20:53.726Z | [OTHER] | Attempt 5203: Error rate 48.81% (target: 15%) -2025-09-15T14:20:53.731Z | [OTHER] | Attempt 5204: Error rate 52.54% (target: 15%) -2025-09-15T14:20:53.736Z | [OTHER] | Attempt 5205: Error rate 52.33% (target: 15%) -2025-09-15T14:20:53.741Z | [OTHER] | Attempt 5206: Error rate 50.85% (target: 15%) -2025-09-15T14:20:53.746Z | [OTHER] | Attempt 5207: Error rate 54.07% (target: 15%) -2025-09-15T14:20:53.752Z | [OTHER] | Attempt 5208: Error rate 44.02% (target: 15%) -2025-09-15T14:20:53.757Z | [OTHER] | Attempt 5209: Error rate 52.13% (target: 15%) -2025-09-15T14:20:53.763Z | [OTHER] | Attempt 5210: Error rate 48.26% (target: 15%) -2025-09-15T14:20:53.769Z | [OTHER] | Attempt 5211: Error rate 55.95% (target: 15%) -2025-09-15T14:20:53.774Z | [OTHER] | Attempt 5212: Error rate 51.52% (target: 15%) -2025-09-15T14:20:53.779Z | [OTHER] | Attempt 5213: Error rate 44.44% (target: 15%) -2025-09-15T14:20:53.784Z | [OTHER] | Attempt 5214: Error rate 48.72% (target: 15%) -2025-09-15T14:20:53.789Z | [OTHER] | Attempt 5215: Error rate 46.51% (target: 15%) -2025-09-15T14:20:53.794Z | [OTHER] | Attempt 5216: Error rate 47.37% (target: 15%) -2025-09-15T14:20:53.800Z | [OTHER] | Attempt 5217: Error rate 54.07% (target: 15%) -2025-09-15T14:20:53.805Z | [OTHER] | Attempt 5218: Error rate 47.22% (target: 15%) -2025-09-15T14:20:53.810Z | [OTHER] | Attempt 5219: Error rate 46.21% (target: 15%) -2025-09-15T14:20:53.815Z | [OTHER] | Attempt 5220: Error rate 49.26% (target: 15%) -2025-09-15T14:20:53.821Z | [OTHER] | Attempt 5221: Error rate 58.7% (target: 15%) -2025-09-15T14:20:53.826Z | [OTHER] | Attempt 5222: Error rate 47.39% (target: 15%) -2025-09-15T14:20:53.831Z | [OTHER] | Attempt 5223: Error rate 54.55% (target: 15%) -2025-09-15T14:20:53.837Z | [OTHER] | Attempt 5224: Error rate 51.63% (target: 15%) -2025-09-15T14:20:53.843Z | [OTHER] | Attempt 5225: Error rate 53.26% (target: 15%) -2025-09-15T14:20:53.849Z | [OTHER] | Attempt 5226: Error rate 52.71% (target: 15%) -2025-09-15T14:20:53.855Z | [OTHER] | Attempt 5227: Error rate 49.6% (target: 15%) -2025-09-15T14:20:53.860Z | [OTHER] | Attempt 5228: Error rate 54% (target: 15%) -2025-09-15T14:20:53.865Z | [OTHER] | Attempt 5229: Error rate 45.19% (target: 15%) -2025-09-15T14:20:53.870Z | [OTHER] | Attempt 5230: Error rate 47.22% (target: 15%) -2025-09-15T14:20:53.875Z | [OTHER] | Attempt 5231: Error rate 51.22% (target: 15%) -2025-09-15T14:20:53.881Z | [OTHER] | Attempt 5232: Error rate 50.38% (target: 15%) -2025-09-15T14:20:53.886Z | [OTHER] | Attempt 5233: Error rate 52.56% (target: 15%) -2025-09-15T14:20:53.891Z | [OTHER] | Attempt 5234: Error rate 51.11% (target: 15%) -2025-09-15T14:20:53.897Z | [OTHER] | Attempt 5235: Error rate 61.24% (target: 15%) -2025-09-15T14:20:53.902Z | [OTHER] | Attempt 5236: Error rate 54.07% (target: 15%) -2025-09-15T14:20:53.907Z | [OTHER] | Attempt 5237: Error rate 61.63% (target: 15%) -2025-09-15T14:20:53.912Z | [OTHER] | Attempt 5238: Error rate 54.95% (target: 15%) -2025-09-15T14:20:53.917Z | [OTHER] | Attempt 5239: Error rate 47.15% (target: 15%) -2025-09-15T14:20:53.922Z | [OTHER] | Attempt 5240: Error rate 53.49% (target: 15%) -2025-09-15T14:20:53.928Z | [OTHER] | Attempt 5241: Error rate 45.24% (target: 15%) -2025-09-15T14:20:53.933Z | [OTHER] | Attempt 5242: Error rate 43.12% (target: 15%) -2025-09-15T14:20:53.938Z | [OTHER] | Attempt 5243: Error rate 40.22% (target: 15%) -2025-09-15T14:20:53.943Z | [OTHER] | Attempt 5244: Error rate 54.65% (target: 15%) -2025-09-15T14:20:53.948Z | [OTHER] | Attempt 5245: Error rate 53.33% (target: 15%) -2025-09-15T14:20:53.953Z | [OTHER] | Attempt 5246: Error rate 58.33% (target: 15%) -2025-09-15T14:20:53.958Z | [OTHER] | Attempt 5247: Error rate 51.06% (target: 15%) -2025-09-15T14:20:53.964Z | [OTHER] | Attempt 5248: Error rate 56.82% (target: 15%) -2025-09-15T14:20:53.969Z | [OTHER] | Attempt 5249: Error rate 56.25% (target: 15%) -2025-09-15T14:20:53.974Z | [OTHER] | Attempt 5250: Error rate 59.09% (target: 15%) -2025-09-15T14:20:53.980Z | [OTHER] | Attempt 5251: Error rate 51.11% (target: 15%) -2025-09-15T14:20:53.985Z | [OTHER] | Attempt 5252: Error rate 53.47% (target: 15%) -2025-09-15T14:20:53.990Z | [OTHER] | Attempt 5253: Error rate 52.38% (target: 15%) -2025-09-15T14:20:53.995Z | [OTHER] | Attempt 5254: Error rate 48.15% (target: 15%) -2025-09-15T14:20:54.000Z | [OTHER] | Attempt 5255: Error rate 53.79% (target: 15%) -2025-09-15T14:20:54.005Z | [OTHER] | Attempt 5256: Error rate 54.37% (target: 15%) -2025-09-15T14:20:54.010Z | [OTHER] | Attempt 5257: Error rate 52.78% (target: 15%) -2025-09-15T14:20:54.016Z | [OTHER] | Attempt 5258: Error rate 50% (target: 15%) -2025-09-15T14:20:54.021Z | [OTHER] | Attempt 5259: Error rate 50.38% (target: 15%) -2025-09-15T14:20:54.026Z | [OTHER] | Attempt 5260: Error rate 44.44% (target: 15%) -2025-09-15T14:20:54.031Z | [OTHER] | Attempt 5261: Error rate 53.85% (target: 15%) -2025-09-15T14:20:54.036Z | [OTHER] | Attempt 5262: Error rate 41.3% (target: 15%) -2025-09-15T14:20:54.041Z | [OTHER] | Attempt 5263: Error rate 46.12% (target: 15%) -2025-09-15T14:20:54.046Z | [OTHER] | Attempt 5264: Error rate 53.17% (target: 15%) -2025-09-15T14:20:54.052Z | [OTHER] | Attempt 5265: Error rate 54.92% (target: 15%) -2025-09-15T14:20:54.057Z | [OTHER] | Attempt 5266: Error rate 57.02% (target: 15%) -2025-09-15T14:20:54.062Z | [OTHER] | Attempt 5267: Error rate 53.49% (target: 15%) -2025-09-15T14:20:54.067Z | [OTHER] | Attempt 5268: Error rate 59.09% (target: 15%) -2025-09-15T14:20:54.073Z | [OTHER] | Attempt 5269: Error rate 57.78% (target: 15%) -2025-09-15T14:20:54.078Z | [OTHER] | Attempt 5270: Error rate 54.58% (target: 15%) -2025-09-15T14:20:54.083Z | [OTHER] | Attempt 5271: Error rate 48.91% (target: 15%) -2025-09-15T14:20:54.089Z | [OTHER] | Attempt 5272: Error rate 51.98% (target: 15%) -2025-09-15T14:20:54.093Z | [OTHER] | Attempt 5273: Error rate 52.54% (target: 15%) -2025-09-15T14:20:54.098Z | [OTHER] | Attempt 5274: Error rate 49.63% (target: 15%) -2025-09-15T14:20:54.104Z | [OTHER] | Attempt 5275: Error rate 56.52% (target: 15%) -2025-09-15T14:20:54.109Z | [OTHER] | Attempt 5276: Error rate 57.48% (target: 15%) -2025-09-15T14:20:54.114Z | [OTHER] | Attempt 5277: Error rate 50% (target: 15%) -2025-09-15T14:20:54.119Z | [OTHER] | Attempt 5278: Error rate 52.27% (target: 15%) -2025-09-15T14:20:54.124Z | [OTHER] | Attempt 5279: Error rate 49.65% (target: 15%) -2025-09-15T14:20:54.129Z | [OTHER] | Attempt 5280: Error rate 57.5% (target: 15%) -2025-09-15T14:20:54.135Z | [OTHER] | Attempt 5281: Error rate 51.89% (target: 15%) -2025-09-15T14:20:54.140Z | [OTHER] | Attempt 5282: Error rate 56.03% (target: 15%) -2025-09-15T14:20:54.145Z | [OTHER] | Attempt 5283: Error rate 53.41% (target: 15%) -2025-09-15T14:20:54.150Z | [OTHER] | Attempt 5284: Error rate 45.24% (target: 15%) -2025-09-15T14:20:54.155Z | [OTHER] | Attempt 5285: Error rate 57.2% (target: 15%) -2025-09-15T14:20:54.160Z | [OTHER] | Attempt 5286: Error rate 51.89% (target: 15%) -2025-09-15T14:20:54.166Z | [OTHER] | Attempt 5287: Error rate 50.38% (target: 15%) -2025-09-15T14:20:54.171Z | [OTHER] | Attempt 5288: Error rate 43.26% (target: 15%) -2025-09-15T14:20:54.176Z | [OTHER] | Attempt 5289: Error rate 47.97% (target: 15%) -2025-09-15T14:20:54.182Z | [OTHER] | Attempt 5290: Error rate 51.45% (target: 15%) -2025-09-15T14:20:54.187Z | [OTHER] | Attempt 5291: Error rate 54.39% (target: 15%) -2025-09-15T14:20:54.193Z | [OTHER] | Attempt 5292: Error rate 51.42% (target: 15%) -2025-09-15T14:20:54.198Z | [OTHER] | Attempt 5293: Error rate 44.32% (target: 15%) -2025-09-15T14:20:54.203Z | [OTHER] | Attempt 5294: Error rate 56.44% (target: 15%) -2025-09-15T14:20:54.209Z | [OTHER] | Attempt 5295: Error rate 57.36% (target: 15%) -2025-09-15T14:20:54.214Z | [OTHER] | Attempt 5296: Error rate 52.96% (target: 15%) -2025-09-15T14:20:54.219Z | [OTHER] | Attempt 5297: Error rate 50.36% (target: 15%) -2025-09-15T14:20:54.224Z | [OTHER] | Attempt 5298: Error rate 51.14% (target: 15%) -2025-09-15T14:20:54.230Z | [OTHER] | Attempt 5299: Error rate 53.99% (target: 15%) -2025-09-15T14:20:54.235Z | [OTHER] | Attempt 5300: Error rate 51.63% (target: 15%) -2025-09-15T14:20:54.241Z | [OTHER] | Attempt 5301: Error rate 50.85% (target: 15%) -2025-09-15T14:20:54.245Z | [OTHER] | Attempt 5302: Error rate 54.86% (target: 15%) -2025-09-15T14:20:54.250Z | [OTHER] | Attempt 5303: Error rate 49.59% (target: 15%) -2025-09-15T14:20:54.256Z | [OTHER] | Attempt 5304: Error rate 52.27% (target: 15%) -2025-09-15T14:20:54.261Z | [OTHER] | Attempt 5305: Error rate 45.42% (target: 15%) -2025-09-15T14:20:54.267Z | [OTHER] | Attempt 5306: Error rate 55.3% (target: 15%) -2025-09-15T14:20:54.272Z | [OTHER] | Attempt 5307: Error rate 50.79% (target: 15%) -2025-09-15T14:20:54.277Z | [OTHER] | Attempt 5308: Error rate 52.71% (target: 15%) -2025-09-15T14:20:54.282Z | [OTHER] | Attempt 5309: Error rate 48.81% (target: 15%) -2025-09-15T14:20:54.287Z | [OTHER] | Attempt 5310: Error rate 56.67% (target: 15%) -2025-09-15T14:20:54.292Z | [OTHER] | Attempt 5311: Error rate 58.68% (target: 15%) -2025-09-15T14:20:54.297Z | [OTHER] | Attempt 5312: Error rate 50% (target: 15%) -2025-09-15T14:20:54.303Z | [OTHER] | Attempt 5313: Error rate 58.51% (target: 15%) -2025-09-15T14:20:54.307Z | [OTHER] | Attempt 5314: Error rate 48.81% (target: 15%) -2025-09-15T14:20:54.313Z | [OTHER] | Attempt 5315: Error rate 46.12% (target: 15%) -2025-09-15T14:20:54.318Z | [OTHER] | Attempt 5316: Error rate 53.62% (target: 15%) -2025-09-15T14:20:54.324Z | [OTHER] | Attempt 5317: Error rate 48.78% (target: 15%) -2025-09-15T14:20:54.330Z | [OTHER] | Attempt 5318: Error rate 53.17% (target: 15%) -2025-09-15T14:20:54.336Z | [OTHER] | Attempt 5319: Error rate 52.03% (target: 15%) -2025-09-15T14:20:54.342Z | [OTHER] | Attempt 5320: Error rate 55.07% (target: 15%) -2025-09-15T14:20:54.348Z | [OTHER] | Attempt 5321: Error rate 56.44% (target: 15%) -2025-09-15T14:20:54.353Z | [OTHER] | Attempt 5322: Error rate 50.76% (target: 15%) -2025-09-15T14:20:54.359Z | [OTHER] | Attempt 5323: Error rate 56.98% (target: 15%) -2025-09-15T14:20:54.364Z | [OTHER] | Attempt 5324: Error rate 51.39% (target: 15%) -2025-09-15T14:20:54.370Z | [OTHER] | Attempt 5325: Error rate 51.81% (target: 15%) -2025-09-15T14:20:54.375Z | [OTHER] | Attempt 5326: Error rate 54.65% (target: 15%) -2025-09-15T14:20:54.381Z | [OTHER] | Attempt 5327: Error rate 49.24% (target: 15%) -2025-09-15T14:20:54.386Z | [OTHER] | Attempt 5328: Error rate 51.11% (target: 15%) -2025-09-15T14:20:54.391Z | [OTHER] | Attempt 5329: Error rate 52.48% (target: 15%) -2025-09-15T14:20:54.396Z | [OTHER] | Attempt 5330: Error rate 48.86% (target: 15%) -2025-09-15T14:20:54.402Z | [OTHER] | Attempt 5331: Error rate 50.74% (target: 15%) -2025-09-15T14:20:54.406Z | [OTHER] | Attempt 5332: Error rate 46.12% (target: 15%) -2025-09-15T14:20:54.412Z | [OTHER] | Attempt 5333: Error rate 57.2% (target: 15%) -2025-09-15T14:20:54.417Z | [OTHER] | Attempt 5334: Error rate 50.38% (target: 15%) -2025-09-15T14:20:54.422Z | [OTHER] | Attempt 5335: Error rate 46.51% (target: 15%) -2025-09-15T14:20:54.427Z | [OTHER] | Attempt 5336: Error rate 49.63% (target: 15%) -2025-09-15T14:20:54.432Z | [OTHER] | Attempt 5337: Error rate 48.02% (target: 15%) -2025-09-15T14:20:54.439Z | [OTHER] | Attempt 5338: Error rate 51.85% (target: 15%) -2025-09-15T14:20:54.444Z | [OTHER] | Attempt 5339: Error rate 56.1% (target: 15%) -2025-09-15T14:20:54.449Z | [OTHER] | Attempt 5340: Error rate 48.91% (target: 15%) -2025-09-15T14:20:54.455Z | [OTHER] | Attempt 5341: Error rate 58.33% (target: 15%) -2025-09-15T14:20:54.460Z | [OTHER] | Attempt 5342: Error rate 47.41% (target: 15%) -2025-09-15T14:20:54.465Z | [OTHER] | Attempt 5343: Error rate 59.3% (target: 15%) -2025-09-15T14:20:54.470Z | [OTHER] | Attempt 5344: Error rate 50.36% (target: 15%) -2025-09-15T14:20:54.475Z | [OTHER] | Attempt 5345: Error rate 50% (target: 15%) -2025-09-15T14:20:54.481Z | [OTHER] | Attempt 5346: Error rate 53.17% (target: 15%) -2025-09-15T14:20:54.487Z | [OTHER] | Attempt 5347: Error rate 52.78% (target: 15%) -2025-09-15T14:20:54.493Z | [OTHER] | Attempt 5348: Error rate 55.93% (target: 15%) -2025-09-15T14:20:54.498Z | [OTHER] | Attempt 5349: Error rate 51.89% (target: 15%) -2025-09-15T14:20:54.503Z | [OTHER] | Attempt 5350: Error rate 51.89% (target: 15%) -2025-09-15T14:20:54.508Z | [OTHER] | Attempt 5351: Error rate 48.48% (target: 15%) -2025-09-15T14:20:54.514Z | [OTHER] | Attempt 5352: Error rate 47.92% (target: 15%) -2025-09-15T14:20:54.519Z | [OTHER] | Attempt 5353: Error rate 46.21% (target: 15%) -2025-09-15T14:20:54.525Z | [OTHER] | Attempt 5354: Error rate 47.73% (target: 15%) -2025-09-15T14:20:54.530Z | [OTHER] | Attempt 5355: Error rate 47.29% (target: 15%) -2025-09-15T14:20:54.536Z | [OTHER] | Attempt 5356: Error rate 50.42% (target: 15%) -2025-09-15T14:20:54.540Z | [OTHER] | Attempt 5357: Error rate 57.46% (target: 15%) -2025-09-15T14:20:54.545Z | [OTHER] | Attempt 5358: Error rate 47.78% (target: 15%) -2025-09-15T14:20:54.550Z | [OTHER] | Attempt 5359: Error rate 54.76% (target: 15%) -2025-09-15T14:20:54.556Z | [OTHER] | Attempt 5360: Error rate 54.17% (target: 15%) -2025-09-15T14:20:54.561Z | [OTHER] | Attempt 5361: Error rate 54.07% (target: 15%) -2025-09-15T14:20:54.566Z | [OTHER] | Attempt 5362: Error rate 49.29% (target: 15%) -2025-09-15T14:20:54.571Z | [OTHER] | Attempt 5363: Error rate 52.54% (target: 15%) -2025-09-15T14:20:54.577Z | [OTHER] | Attempt 5364: Error rate 54.35% (target: 15%) -2025-09-15T14:20:54.582Z | [OTHER] | Attempt 5365: Error rate 56.75% (target: 15%) -2025-09-15T14:20:54.588Z | [OTHER] | Attempt 5366: Error rate 59.93% (target: 15%) -2025-09-15T14:20:54.593Z | [OTHER] | Attempt 5367: Error rate 47.41% (target: 15%) -2025-09-15T14:20:54.598Z | [OTHER] | Attempt 5368: Error rate 57.36% (target: 15%) -2025-09-15T14:20:54.604Z | [OTHER] | Attempt 5369: Error rate 45.56% (target: 15%) -2025-09-15T14:20:54.609Z | [OTHER] | Attempt 5370: Error rate 52.27% (target: 15%) -2025-09-15T14:20:54.614Z | [OTHER] | Attempt 5371: Error rate 56.88% (target: 15%) -2025-09-15T14:20:54.619Z | [OTHER] | Attempt 5372: Error rate 52.27% (target: 15%) -2025-09-15T14:20:54.625Z | [OTHER] | Attempt 5373: Error rate 51.39% (target: 15%) -2025-09-15T14:20:54.630Z | [OTHER] | Attempt 5374: Error rate 49.59% (target: 15%) -2025-09-15T14:20:54.635Z | [OTHER] | Attempt 5375: Error rate 48.29% (target: 15%) -2025-09-15T14:20:54.640Z | [OTHER] | Attempt 5376: Error rate 44.93% (target: 15%) -2025-09-15T14:20:54.645Z | [OTHER] | Attempt 5377: Error rate 44.05% (target: 15%) -2025-09-15T14:20:54.650Z | [OTHER] | Attempt 5378: Error rate 48.84% (target: 15%) -2025-09-15T14:20:54.656Z | [OTHER] | Attempt 5379: Error rate 46.12% (target: 15%) -2025-09-15T14:20:54.661Z | [OTHER] | Attempt 5380: Error rate 49.62% (target: 15%) -2025-09-15T14:20:54.666Z | [OTHER] | Attempt 5381: Error rate 53.33% (target: 15%) -2025-09-15T14:20:54.671Z | [OTHER] | Attempt 5382: Error rate 47.62% (target: 15%) -2025-09-15T14:20:54.676Z | [OTHER] | Attempt 5383: Error rate 53.07% (target: 15%) -2025-09-15T14:20:54.681Z | [OTHER] | Attempt 5384: Error rate 52.14% (target: 15%) -2025-09-15T14:20:54.686Z | [OTHER] | Attempt 5385: Error rate 51.11% (target: 15%) -2025-09-15T14:20:54.692Z | [OTHER] | Attempt 5386: Error rate 49.67% (target: 15%) -2025-09-15T14:20:54.697Z | [OTHER] | Attempt 5387: Error rate 52.78% (target: 15%) -2025-09-15T14:20:54.703Z | [OTHER] | Attempt 5388: Error rate 51.52% (target: 15%) -2025-09-15T14:20:54.708Z | [OTHER] | Attempt 5389: Error rate 46.15% (target: 15%) -2025-09-15T14:20:54.713Z | [OTHER] | Attempt 5390: Error rate 62.68% (target: 15%) -2025-09-15T14:20:54.718Z | [OTHER] | Attempt 5391: Error rate 54.81% (target: 15%) -2025-09-15T14:20:54.723Z | [OTHER] | Attempt 5392: Error rate 46.21% (target: 15%) -2025-09-15T14:20:54.728Z | [OTHER] | Attempt 5393: Error rate 60.28% (target: 15%) -2025-09-15T14:20:54.734Z | [OTHER] | Attempt 5394: Error rate 51.81% (target: 15%) -2025-09-15T14:20:54.739Z | [OTHER] | Attempt 5395: Error rate 49.6% (target: 15%) -2025-09-15T14:20:54.744Z | [OTHER] | Attempt 5396: Error rate 45.93% (target: 15%) -2025-09-15T14:20:54.749Z | [OTHER] | Attempt 5397: Error rate 51.14% (target: 15%) -2025-09-15T14:20:54.754Z | [OTHER] | Attempt 5398: Error rate 47.29% (target: 15%) -2025-09-15T14:20:54.760Z | [OTHER] | Attempt 5399: Error rate 49.62% (target: 15%) -2025-09-15T14:20:54.765Z | [OTHER] | Attempt 5400: Error rate 53.33% (target: 15%) -2025-09-15T14:20:54.771Z | [OTHER] | Attempt 5401: Error rate 58.13% (target: 15%) -2025-09-15T14:20:54.776Z | [OTHER] | Attempt 5402: Error rate 57.14% (target: 15%) -2025-09-15T14:20:54.782Z | [OTHER] | Attempt 5403: Error rate 36.59% (target: 15%) -2025-09-15T14:20:54.787Z | [OTHER] | Attempt 5404: Error rate 44.74% (target: 15%) -2025-09-15T14:20:54.792Z | [OTHER] | Attempt 5405: Error rate 50.74% (target: 15%) -2025-09-15T14:20:54.797Z | [OTHER] | Attempt 5406: Error rate 49.17% (target: 15%) -2025-09-15T14:20:54.803Z | [OTHER] | Attempt 5407: Error rate 42.5% (target: 15%) -2025-09-15T14:20:54.808Z | [OTHER] | Attempt 5408: Error rate 60.81% (target: 15%) -2025-09-15T14:20:54.813Z | [OTHER] | Attempt 5409: Error rate 56.75% (target: 15%) -2025-09-15T14:20:54.819Z | [OTHER] | Attempt 5410: Error rate 48.52% (target: 15%) -2025-09-15T14:20:54.824Z | [OTHER] | Attempt 5411: Error rate 44.7% (target: 15%) -2025-09-15T14:20:54.830Z | [OTHER] | Attempt 5412: Error rate 53.99% (target: 15%) -2025-09-15T14:20:54.835Z | [OTHER] | Attempt 5413: Error rate 54.05% (target: 15%) -2025-09-15T14:20:54.840Z | [OTHER] | Attempt 5414: Error rate 47.78% (target: 15%) -2025-09-15T14:20:54.846Z | [OTHER] | Attempt 5415: Error rate 50.36% (target: 15%) -2025-09-15T14:20:54.851Z | [OTHER] | Attempt 5416: Error rate 64.34% (target: 15%) -2025-09-15T14:20:54.856Z | [OTHER] | Attempt 5417: Error rate 55.95% (target: 15%) -2025-09-15T14:20:54.861Z | [OTHER] | Attempt 5418: Error rate 55.78% (target: 15%) -2025-09-15T14:20:54.867Z | [OTHER] | Attempt 5419: Error rate 48.1% (target: 15%) -2025-09-15T14:20:54.872Z | [OTHER] | Attempt 5420: Error rate 59.58% (target: 15%) -2025-09-15T14:20:54.877Z | [OTHER] | Attempt 5421: Error rate 45.35% (target: 15%) -2025-09-15T14:20:54.883Z | [OTHER] | Attempt 5422: Error rate 47.62% (target: 15%) -2025-09-15T14:20:54.888Z | [OTHER] | Attempt 5423: Error rate 55.67% (target: 15%) -2025-09-15T14:20:54.893Z | [OTHER] | Attempt 5424: Error rate 53.26% (target: 15%) -2025-09-15T14:20:54.898Z | [OTHER] | Attempt 5425: Error rate 49.62% (target: 15%) -2025-09-15T14:20:54.903Z | [OTHER] | Attempt 5426: Error rate 50.76% (target: 15%) -2025-09-15T14:20:54.908Z | [OTHER] | Attempt 5427: Error rate 50% (target: 15%) -2025-09-15T14:20:54.914Z | [OTHER] | Attempt 5428: Error rate 59.17% (target: 15%) -2025-09-15T14:20:54.919Z | [OTHER] | Attempt 5429: Error rate 55.81% (target: 15%) -2025-09-15T14:20:54.924Z | [OTHER] | Attempt 5430: Error rate 46.43% (target: 15%) -2025-09-15T14:20:54.929Z | [OTHER] | Attempt 5431: Error rate 51.59% (target: 15%) -2025-09-15T14:20:54.935Z | [OTHER] | Attempt 5432: Error rate 60.57% (target: 15%) -2025-09-15T14:20:54.941Z | [OTHER] | Attempt 5433: Error rate 56.3% (target: 15%) -2025-09-15T14:20:54.946Z | [OTHER] | Attempt 5434: Error rate 45.29% (target: 15%) -2025-09-15T14:20:54.952Z | [OTHER] | Attempt 5435: Error rate 47.1% (target: 15%) -2025-09-15T14:20:54.958Z | [OTHER] | Attempt 5436: Error rate 52.03% (target: 15%) -2025-09-15T14:20:54.964Z | [OTHER] | Attempt 5437: Error rate 54.88% (target: 15%) -2025-09-15T14:20:54.970Z | [OTHER] | Attempt 5438: Error rate 60.47% (target: 15%) -2025-09-15T14:20:54.975Z | [OTHER] | Attempt 5439: Error rate 47.78% (target: 15%) -2025-09-15T14:20:54.980Z | [OTHER] | Attempt 5440: Error rate 50.41% (target: 15%) -2025-09-15T14:20:54.986Z | [OTHER] | Attempt 5441: Error rate 43.75% (target: 15%) -2025-09-15T14:20:54.992Z | [OTHER] | Attempt 5442: Error rate 51% (target: 15%) -2025-09-15T14:20:54.997Z | [OTHER] | Attempt 5443: Error rate 57.41% (target: 15%) -2025-09-15T14:20:55.002Z | [OTHER] | Attempt 5444: Error rate 56.44% (target: 15%) -2025-09-15T14:20:55.007Z | [OTHER] | Attempt 5445: Error rate 49.64% (target: 15%) -2025-09-15T14:20:55.012Z | [OTHER] | Attempt 5446: Error rate 39.84% (target: 15%) -2025-09-15T14:20:55.018Z | [OTHER] | Attempt 5447: Error rate 52.44% (target: 15%) -2025-09-15T14:20:55.024Z | [OTHER] | Attempt 5448: Error rate 50.85% (target: 15%) -2025-09-15T14:20:55.029Z | [OTHER] | Attempt 5449: Error rate 57.04% (target: 15%) -2025-09-15T14:20:55.034Z | [OTHER] | Attempt 5450: Error rate 63.95% (target: 15%) -2025-09-15T14:20:55.039Z | [OTHER] | Attempt 5451: Error rate 52.96% (target: 15%) -2025-09-15T14:20:55.044Z | [OTHER] | Attempt 5452: Error rate 48.89% (target: 15%) -2025-09-15T14:20:55.050Z | [OTHER] | Attempt 5453: Error rate 50.36% (target: 15%) -2025-09-15T14:20:55.055Z | [OTHER] | Attempt 5454: Error rate 46.74% (target: 15%) -2025-09-15T14:20:55.061Z | [OTHER] | Attempt 5455: Error rate 53.62% (target: 15%) -2025-09-15T14:20:55.066Z | [OTHER] | Attempt 5456: Error rate 59.76% (target: 15%) -2025-09-15T14:20:55.071Z | [OTHER] | Attempt 5457: Error rate 51.39% (target: 15%) -2025-09-15T14:20:55.076Z | [OTHER] | Attempt 5458: Error rate 53.57% (target: 15%) -2025-09-15T14:20:55.081Z | [OTHER] | Attempt 5459: Error rate 55.19% (target: 15%) -2025-09-15T14:20:55.087Z | [OTHER] | Attempt 5460: Error rate 52.22% (target: 15%) -2025-09-15T14:20:55.092Z | [OTHER] | Attempt 5461: Error rate 52.54% (target: 15%) -2025-09-15T14:20:55.097Z | [OTHER] | Attempt 5462: Error rate 51.04% (target: 15%) -2025-09-15T14:20:55.102Z | [OTHER] | Attempt 5463: Error rate 47.01% (target: 15%) -2025-09-15T14:20:55.108Z | [OTHER] | Attempt 5464: Error rate 54.55% (target: 15%) -2025-09-15T14:20:55.113Z | [OTHER] | Attempt 5465: Error rate 51.16% (target: 15%) -2025-09-15T14:20:55.118Z | [OTHER] | Attempt 5466: Error rate 57.09% (target: 15%) -2025-09-15T14:20:55.124Z | [OTHER] | Attempt 5467: Error rate 45.65% (target: 15%) -2025-09-15T14:20:55.129Z | [OTHER] | Attempt 5468: Error rate 50.78% (target: 15%) -2025-09-15T14:20:55.134Z | [OTHER] | Attempt 5469: Error rate 58.33% (target: 15%) -2025-09-15T14:20:55.140Z | [OTHER] | Attempt 5470: Error rate 52.99% (target: 15%) -2025-09-15T14:20:55.145Z | [OTHER] | Attempt 5471: Error rate 52.27% (target: 15%) -2025-09-15T14:20:55.150Z | [OTHER] | Attempt 5472: Error rate 49.24% (target: 15%) -2025-09-15T14:20:55.156Z | [OTHER] | Attempt 5473: Error rate 53.57% (target: 15%) -2025-09-15T14:20:55.161Z | [OTHER] | Attempt 5474: Error rate 55.93% (target: 15%) -2025-09-15T14:20:55.166Z | [OTHER] | Attempt 5475: Error rate 53.17% (target: 15%) -2025-09-15T14:20:55.172Z | [OTHER] | Attempt 5476: Error rate 46.9% (target: 15%) -2025-09-15T14:20:55.177Z | [OTHER] | Attempt 5477: Error rate 59.85% (target: 15%) -2025-09-15T14:20:55.182Z | [OTHER] | Attempt 5478: Error rate 51.25% (target: 15%) -2025-09-15T14:20:55.187Z | [OTHER] | Attempt 5479: Error rate 49.61% (target: 15%) -2025-09-15T14:20:55.193Z | [OTHER] | Attempt 5480: Error rate 49.24% (target: 15%) -2025-09-15T14:20:55.198Z | [OTHER] | Attempt 5481: Error rate 54.55% (target: 15%) -2025-09-15T14:20:55.203Z | [OTHER] | Attempt 5482: Error rate 50% (target: 15%) -2025-09-15T14:20:55.208Z | [OTHER] | Attempt 5483: Error rate 53.62% (target: 15%) -2025-09-15T14:20:55.214Z | [OTHER] | Attempt 5484: Error rate 46% (target: 15%) -2025-09-15T14:20:55.219Z | [OTHER] | Attempt 5485: Error rate 53.03% (target: 15%) -2025-09-15T14:20:55.225Z | [OTHER] | Attempt 5486: Error rate 55.16% (target: 15%) -2025-09-15T14:20:55.230Z | [OTHER] | Attempt 5487: Error rate 51.22% (target: 15%) -2025-09-15T14:20:55.235Z | [OTHER] | Attempt 5488: Error rate 49.26% (target: 15%) -2025-09-15T14:20:55.241Z | [OTHER] | Attempt 5489: Error rate 57.29% (target: 15%) -2025-09-15T14:20:55.246Z | [OTHER] | Attempt 5490: Error rate 55.04% (target: 15%) -2025-09-15T14:20:55.251Z | [OTHER] | Attempt 5491: Error rate 50% (target: 15%) -2025-09-15T14:20:55.257Z | [OTHER] | Attempt 5492: Error rate 56.06% (target: 15%) -2025-09-15T14:20:55.262Z | [OTHER] | Attempt 5493: Error rate 55.19% (target: 15%) -2025-09-15T14:20:55.267Z | [OTHER] | Attempt 5494: Error rate 49.63% (target: 15%) -2025-09-15T14:20:55.272Z | [OTHER] | Attempt 5495: Error rate 56.59% (target: 15%) -2025-09-15T14:20:55.278Z | [OTHER] | Attempt 5496: Error rate 53.49% (target: 15%) -2025-09-15T14:20:55.283Z | [OTHER] | Attempt 5497: Error rate 56.5% (target: 15%) -2025-09-15T14:20:55.289Z | [OTHER] | Attempt 5498: Error rate 52.92% (target: 15%) -2025-09-15T14:20:55.295Z | [OTHER] | Attempt 5499: Error rate 57.04% (target: 15%) -2025-09-15T14:20:55.301Z | [OTHER] | Attempt 5500: Error rate 47.46% (target: 15%) -2025-09-15T14:20:55.306Z | [OTHER] | Attempt 5501: Error rate 53.17% (target: 15%) -2025-09-15T14:20:55.311Z | [OTHER] | Attempt 5502: Error rate 53.79% (target: 15%) -2025-09-15T14:20:55.317Z | [OTHER] | Attempt 5503: Error rate 48.86% (target: 15%) -2025-09-15T14:20:55.322Z | [OTHER] | Attempt 5504: Error rate 57.8% (target: 15%) -2025-09-15T14:20:55.327Z | [OTHER] | Attempt 5505: Error rate 48.72% (target: 15%) -2025-09-15T14:20:55.332Z | [OTHER] | Attempt 5506: Error rate 50% (target: 15%) -2025-09-15T14:20:55.338Z | [OTHER] | Attempt 5507: Error rate 50.37% (target: 15%) -2025-09-15T14:20:55.343Z | [OTHER] | Attempt 5508: Error rate 44.19% (target: 15%) -2025-09-15T14:20:55.348Z | [OTHER] | Attempt 5509: Error rate 55.19% (target: 15%) -2025-09-15T14:20:55.354Z | [OTHER] | Attempt 5510: Error rate 51.67% (target: 15%) -2025-09-15T14:20:55.360Z | [OTHER] | Attempt 5511: Error rate 46.45% (target: 15%) -2025-09-15T14:20:55.365Z | [OTHER] | Attempt 5512: Error rate 51.94% (target: 15%) -2025-09-15T14:20:55.371Z | [OTHER] | Attempt 5513: Error rate 54.08% (target: 15%) -2025-09-15T14:20:55.377Z | [OTHER] | Attempt 5514: Error rate 59.13% (target: 15%) -2025-09-15T14:20:55.382Z | [OTHER] | Attempt 5515: Error rate 46.03% (target: 15%) -2025-09-15T14:20:55.388Z | [OTHER] | Attempt 5516: Error rate 54.71% (target: 15%) -2025-09-15T14:20:55.393Z | [OTHER] | Attempt 5517: Error rate 50% (target: 15%) -2025-09-15T14:20:55.398Z | [OTHER] | Attempt 5518: Error rate 47.35% (target: 15%) -2025-09-15T14:20:55.403Z | [OTHER] | Attempt 5519: Error rate 49% (target: 15%) -2025-09-15T14:20:55.408Z | [OTHER] | Attempt 5520: Error rate 52.78% (target: 15%) -2025-09-15T14:20:55.414Z | [OTHER] | Attempt 5521: Error rate 55.56% (target: 15%) -2025-09-15T14:20:55.420Z | [OTHER] | Attempt 5522: Error rate 52.96% (target: 15%) -2025-09-15T14:20:55.425Z | [OTHER] | Attempt 5523: Error rate 60.47% (target: 15%) -2025-09-15T14:20:55.430Z | [OTHER] | Attempt 5524: Error rate 52.38% (target: 15%) -2025-09-15T14:20:55.435Z | [OTHER] | Attempt 5525: Error rate 49.21% (target: 15%) -2025-09-15T14:20:55.442Z | [OTHER] | Attempt 5526: Error rate 49.63% (target: 15%) -2025-09-15T14:20:55.446Z | [OTHER] | Attempt 5527: Error rate 53.25% (target: 15%) -2025-09-15T14:20:55.451Z | [OTHER] | Attempt 5528: Error rate 47.35% (target: 15%) -2025-09-15T14:20:55.457Z | [OTHER] | Attempt 5529: Error rate 53.99% (target: 15%) -2025-09-15T14:20:55.462Z | [OTHER] | Attempt 5530: Error rate 60.98% (target: 15%) -2025-09-15T14:20:55.467Z | [OTHER] | Attempt 5531: Error rate 47.46% (target: 15%) -2025-09-15T14:20:55.473Z | [OTHER] | Attempt 5532: Error rate 50.71% (target: 15%) -2025-09-15T14:20:55.478Z | [OTHER] | Attempt 5533: Error rate 45.24% (target: 15%) -2025-09-15T14:20:55.483Z | [OTHER] | Attempt 5534: Error rate 45.93% (target: 15%) -2025-09-15T14:20:55.489Z | [OTHER] | Attempt 5535: Error rate 47.41% (target: 15%) -2025-09-15T14:20:55.494Z | [OTHER] | Attempt 5536: Error rate 53.75% (target: 15%) -2025-09-15T14:20:55.499Z | [OTHER] | Attempt 5537: Error rate 55.21% (target: 15%) -2025-09-15T14:20:55.505Z | [OTHER] | Attempt 5538: Error rate 49.62% (target: 15%) -2025-09-15T14:20:55.510Z | [OTHER] | Attempt 5539: Error rate 52.33% (target: 15%) -2025-09-15T14:20:55.515Z | [OTHER] | Attempt 5540: Error rate 57.61% (target: 15%) -2025-09-15T14:20:55.520Z | [OTHER] | Attempt 5541: Error rate 52.27% (target: 15%) -2025-09-15T14:20:55.526Z | [OTHER] | Attempt 5542: Error rate 59.93% (target: 15%) -2025-09-15T14:20:55.531Z | [OTHER] | Attempt 5543: Error rate 57.04% (target: 15%) -2025-09-15T14:20:55.536Z | [OTHER] | Attempt 5544: Error rate 55.43% (target: 15%) -2025-09-15T14:20:55.542Z | [OTHER] | Attempt 5545: Error rate 51.67% (target: 15%) -2025-09-15T14:20:55.547Z | [OTHER] | Attempt 5546: Error rate 52.44% (target: 15%) -2025-09-15T14:20:55.553Z | [OTHER] | Attempt 5547: Error rate 50% (target: 15%) -2025-09-15T14:20:55.558Z | [OTHER] | Attempt 5548: Error rate 48.81% (target: 15%) -2025-09-15T14:20:55.563Z | [OTHER] | Attempt 5549: Error rate 52.44% (target: 15%) -2025-09-15T14:20:55.570Z | [OTHER] | Attempt 5550: Error rate 55.98% (target: 15%) -2025-09-15T14:20:55.575Z | [OTHER] | Attempt 5551: Error rate 52.9% (target: 15%) -2025-09-15T14:20:55.581Z | [OTHER] | Attempt 5552: Error rate 56.2% (target: 15%) -2025-09-15T14:20:55.586Z | [OTHER] | Attempt 5553: Error rate 58.14% (target: 15%) -2025-09-15T14:20:55.592Z | [OTHER] | Attempt 5554: Error rate 43.56% (target: 15%) -2025-09-15T14:20:55.597Z | [OTHER] | Attempt 5555: Error rate 52.59% (target: 15%) -2025-09-15T14:20:55.602Z | [OTHER] | Attempt 5556: Error rate 58.51% (target: 15%) -2025-09-15T14:20:55.608Z | [OTHER] | Attempt 5557: Error rate 47.37% (target: 15%) -2025-09-15T14:20:55.613Z | [OTHER] | Attempt 5558: Error rate 53.1% (target: 15%) -2025-09-15T14:20:55.619Z | [OTHER] | Attempt 5559: Error rate 42.8% (target: 15%) -2025-09-15T14:20:55.624Z | [OTHER] | Attempt 5560: Error rate 48.48% (target: 15%) -2025-09-15T14:20:55.629Z | [OTHER] | Attempt 5561: Error rate 49.26% (target: 15%) -2025-09-15T14:20:55.635Z | [OTHER] | Attempt 5562: Error rate 59.3% (target: 15%) -2025-09-15T14:20:55.640Z | [OTHER] | Attempt 5563: Error rate 50.37% (target: 15%) -2025-09-15T14:20:55.645Z | [OTHER] | Attempt 5564: Error rate 52.38% (target: 15%) -2025-09-15T14:20:55.651Z | [OTHER] | Attempt 5565: Error rate 56.03% (target: 15%) -2025-09-15T14:20:55.656Z | [OTHER] | Attempt 5566: Error rate 55.95% (target: 15%) -2025-09-15T14:20:55.662Z | [OTHER] | Attempt 5567: Error rate 54.76% (target: 15%) -2025-09-15T14:20:55.667Z | [OTHER] | Attempt 5568: Error rate 54.47% (target: 15%) -2025-09-15T14:20:55.673Z | [OTHER] | Attempt 5569: Error rate 49.64% (target: 15%) -2025-09-15T14:20:55.678Z | [OTHER] | Attempt 5570: Error rate 51.85% (target: 15%) -2025-09-15T14:20:55.684Z | [OTHER] | Attempt 5571: Error rate 46.51% (target: 15%) -2025-09-15T14:20:55.690Z | [OTHER] | Attempt 5572: Error rate 55.26% (target: 15%) -2025-09-15T14:20:55.695Z | [OTHER] | Attempt 5573: Error rate 50.68% (target: 15%) -2025-09-15T14:20:55.701Z | [OTHER] | Attempt 5574: Error rate 48.33% (target: 15%) -2025-09-15T14:20:55.706Z | [OTHER] | Attempt 5575: Error rate 48.91% (target: 15%) -2025-09-15T14:20:55.711Z | [OTHER] | Attempt 5576: Error rate 47.97% (target: 15%) -2025-09-15T14:20:55.717Z | [OTHER] | Attempt 5577: Error rate 53.7% (target: 15%) -2025-09-15T14:20:55.722Z | [OTHER] | Attempt 5578: Error rate 53.26% (target: 15%) -2025-09-15T14:20:55.728Z | [OTHER] | Attempt 5579: Error rate 50% (target: 15%) -2025-09-15T14:20:55.734Z | [OTHER] | Attempt 5580: Error rate 53.67% (target: 15%) -2025-09-15T14:20:55.740Z | [OTHER] | Attempt 5581: Error rate 53.57% (target: 15%) -2025-09-15T14:20:55.745Z | [OTHER] | Attempt 5582: Error rate 50% (target: 15%) -2025-09-15T14:20:55.750Z | [OTHER] | Attempt 5583: Error rate 53.03% (target: 15%) -2025-09-15T14:20:55.755Z | [OTHER] | Attempt 5584: Error rate 57.64% (target: 15%) -2025-09-15T14:20:55.760Z | [OTHER] | Attempt 5585: Error rate 55.21% (target: 15%) -2025-09-15T14:20:55.766Z | [OTHER] | Attempt 5586: Error rate 53.57% (target: 15%) -2025-09-15T14:20:55.771Z | [OTHER] | Attempt 5587: Error rate 58.12% (target: 15%) -2025-09-15T14:20:55.776Z | [OTHER] | Attempt 5588: Error rate 55.8% (target: 15%) -2025-09-15T14:20:55.782Z | [OTHER] | Attempt 5589: Error rate 51.59% (target: 15%) -2025-09-15T14:20:55.787Z | [OTHER] | Attempt 5590: Error rate 56.67% (target: 15%) -2025-09-15T14:20:55.793Z | [OTHER] | Attempt 5591: Error rate 51.16% (target: 15%) -2025-09-15T14:20:55.798Z | [OTHER] | Attempt 5592: Error rate 55.68% (target: 15%) -2025-09-15T14:20:55.803Z | [OTHER] | Attempt 5593: Error rate 59.09% (target: 15%) -2025-09-15T14:20:55.809Z | [OTHER] | Attempt 5594: Error rate 50.36% (target: 15%) -2025-09-15T14:20:55.814Z | [OTHER] | Attempt 5595: Error rate 54.26% (target: 15%) -2025-09-15T14:20:55.820Z | [OTHER] | Attempt 5596: Error rate 50.74% (target: 15%) -2025-09-15T14:20:55.825Z | [OTHER] | Attempt 5597: Error rate 52.78% (target: 15%) -2025-09-15T14:20:55.831Z | [OTHER] | Attempt 5598: Error rate 48.52% (target: 15%) -2025-09-15T14:20:55.836Z | [OTHER] | Attempt 5599: Error rate 53.25% (target: 15%) -2025-09-15T14:20:55.841Z | [OTHER] | Attempt 5600: Error rate 47.37% (target: 15%) -2025-09-15T14:20:55.847Z | [OTHER] | Attempt 5601: Error rate 53.19% (target: 15%) -2025-09-15T14:20:55.852Z | [OTHER] | Attempt 5602: Error rate 55.43% (target: 15%) -2025-09-15T14:20:55.857Z | [OTHER] | Attempt 5603: Error rate 49.26% (target: 15%) -2025-09-15T14:20:55.863Z | [OTHER] | Attempt 5604: Error rate 57.94% (target: 15%) -2025-09-15T14:20:55.868Z | [OTHER] | Attempt 5605: Error rate 49.61% (target: 15%) -2025-09-15T14:20:55.873Z | [OTHER] | Attempt 5606: Error rate 52.9% (target: 15%) -2025-09-15T14:20:55.879Z | [OTHER] | Attempt 5607: Error rate 52.43% (target: 15%) -2025-09-15T14:20:55.885Z | [OTHER] | Attempt 5608: Error rate 54.27% (target: 15%) -2025-09-15T14:20:55.890Z | [OTHER] | Attempt 5609: Error rate 48.37% (target: 15%) -2025-09-15T14:20:55.896Z | [OTHER] | Attempt 5610: Error rate 55.42% (target: 15%) -2025-09-15T14:20:55.903Z | [OTHER] | Attempt 5611: Error rate 51.42% (target: 15%) -2025-09-15T14:20:55.908Z | [OTHER] | Attempt 5612: Error rate 51.55% (target: 15%) -2025-09-15T14:20:55.913Z | [OTHER] | Attempt 5613: Error rate 48.91% (target: 15%) -2025-09-15T14:20:55.919Z | [OTHER] | Attempt 5614: Error rate 58.89% (target: 15%) -2025-09-15T14:20:55.925Z | [OTHER] | Attempt 5615: Error rate 52.48% (target: 15%) -2025-09-15T14:20:55.930Z | [OTHER] | Attempt 5616: Error rate 58.73% (target: 15%) -2025-09-15T14:20:55.936Z | [OTHER] | Attempt 5617: Error rate 55.13% (target: 15%) -2025-09-15T14:20:55.942Z | [OTHER] | Attempt 5618: Error rate 53.67% (target: 15%) -2025-09-15T14:20:55.951Z | [OTHER] | Attempt 5619: Error rate 50% (target: 15%) -2025-09-15T14:20:55.960Z | [OTHER] | Attempt 5620: Error rate 51.42% (target: 15%) -2025-09-15T14:20:55.968Z | [OTHER] | Attempt 5621: Error rate 55.67% (target: 15%) -2025-09-15T14:20:55.976Z | [OTHER] | Attempt 5622: Error rate 51.39% (target: 15%) -2025-09-15T14:20:55.982Z | [OTHER] | Attempt 5623: Error rate 48.86% (target: 15%) -2025-09-15T14:20:55.989Z | [OTHER] | Attempt 5624: Error rate 55.3% (target: 15%) -2025-09-15T14:20:55.995Z | [OTHER] | Attempt 5625: Error rate 48.94% (target: 15%) -2025-09-15T14:20:56.001Z | [OTHER] | Attempt 5626: Error rate 51.55% (target: 15%) -2025-09-15T14:20:56.007Z | [OTHER] | Attempt 5627: Error rate 54.17% (target: 15%) -2025-09-15T14:20:56.012Z | [OTHER] | Attempt 5628: Error rate 53.42% (target: 15%) -2025-09-15T14:20:56.017Z | [OTHER] | Attempt 5629: Error rate 55.32% (target: 15%) -2025-09-15T14:20:56.023Z | [OTHER] | Attempt 5630: Error rate 51.36% (target: 15%) -2025-09-15T14:20:56.028Z | [OTHER] | Attempt 5631: Error rate 45.63% (target: 15%) -2025-09-15T14:20:56.034Z | [OTHER] | Attempt 5632: Error rate 52.65% (target: 15%) -2025-09-15T14:20:56.039Z | [OTHER] | Attempt 5633: Error rate 48.89% (target: 15%) -2025-09-15T14:20:56.045Z | [OTHER] | Attempt 5634: Error rate 52.9% (target: 15%) -2025-09-15T14:20:56.050Z | [OTHER] | Attempt 5635: Error rate 51.98% (target: 15%) -2025-09-15T14:20:56.055Z | [OTHER] | Attempt 5636: Error rate 51.19% (target: 15%) -2025-09-15T14:20:56.061Z | [OTHER] | Attempt 5637: Error rate 52.96% (target: 15%) -2025-09-15T14:20:56.067Z | [OTHER] | Attempt 5638: Error rate 47.92% (target: 15%) -2025-09-15T14:20:56.072Z | [OTHER] | Attempt 5639: Error rate 50.39% (target: 15%) -2025-09-15T14:20:56.077Z | [OTHER] | Attempt 5640: Error rate 53.55% (target: 15%) -2025-09-15T14:20:56.083Z | [OTHER] | Attempt 5641: Error rate 52.38% (target: 15%) -2025-09-15T14:20:56.088Z | [OTHER] | Attempt 5642: Error rate 49.65% (target: 15%) -2025-09-15T14:20:56.093Z | [OTHER] | Attempt 5643: Error rate 50.43% (target: 15%) -2025-09-15T14:20:56.099Z | [OTHER] | Attempt 5644: Error rate 53.41% (target: 15%) -2025-09-15T14:20:56.104Z | [OTHER] | Attempt 5645: Error rate 56.35% (target: 15%) -2025-09-15T14:20:56.110Z | [OTHER] | Attempt 5646: Error rate 51.48% (target: 15%) -2025-09-15T14:20:56.115Z | [OTHER] | Attempt 5647: Error rate 51.16% (target: 15%) -2025-09-15T14:20:56.121Z | [OTHER] | Attempt 5648: Error rate 46.75% (target: 15%) -2025-09-15T14:20:56.126Z | [OTHER] | Attempt 5649: Error rate 53.7% (target: 15%) -2025-09-15T14:20:56.131Z | [OTHER] | Attempt 5650: Error rate 53.33% (target: 15%) -2025-09-15T14:20:56.137Z | [OTHER] | Attempt 5651: Error rate 45.74% (target: 15%) -2025-09-15T14:20:56.142Z | [OTHER] | Attempt 5652: Error rate 55.28% (target: 15%) -2025-09-15T14:20:56.147Z | [OTHER] | Attempt 5653: Error rate 58.71% (target: 15%) -2025-09-15T14:20:56.153Z | [OTHER] | Attempt 5654: Error rate 54.81% (target: 15%) -2025-09-15T14:20:56.159Z | [OTHER] | Attempt 5655: Error rate 53.03% (target: 15%) -2025-09-15T14:20:56.164Z | [OTHER] | Attempt 5656: Error rate 54.88% (target: 15%) -2025-09-15T14:20:56.170Z | [OTHER] | Attempt 5657: Error rate 53.7% (target: 15%) -2025-09-15T14:20:56.175Z | [OTHER] | Attempt 5658: Error rate 48.55% (target: 15%) -2025-09-15T14:20:56.181Z | [OTHER] | Attempt 5659: Error rate 53.99% (target: 15%) -2025-09-15T14:20:56.186Z | [OTHER] | Attempt 5660: Error rate 50.43% (target: 15%) -2025-09-15T14:20:56.191Z | [OTHER] | Attempt 5661: Error rate 54.42% (target: 15%) -2025-09-15T14:20:56.197Z | [OTHER] | Attempt 5662: Error rate 51.74% (target: 15%) -2025-09-15T14:20:56.202Z | [OTHER] | Attempt 5663: Error rate 56.16% (target: 15%) -2025-09-15T14:20:56.209Z | [OTHER] | Attempt 5664: Error rate 47.56% (target: 15%) -2025-09-15T14:20:56.214Z | [OTHER] | Attempt 5665: Error rate 53.62% (target: 15%) -2025-09-15T14:20:56.220Z | [OTHER] | Attempt 5666: Error rate 61.25% (target: 15%) -2025-09-15T14:20:56.226Z | [OTHER] | Attempt 5667: Error rate 55.56% (target: 15%) -2025-09-15T14:20:56.232Z | [OTHER] | Attempt 5668: Error rate 61.11% (target: 15%) -2025-09-15T14:20:56.237Z | [OTHER] | Attempt 5669: Error rate 52.44% (target: 15%) -2025-09-15T14:20:56.243Z | [OTHER] | Attempt 5670: Error rate 51.63% (target: 15%) -2025-09-15T14:20:56.248Z | [OTHER] | Attempt 5671: Error rate 60.16% (target: 15%) -2025-09-15T14:20:56.254Z | [OTHER] | Attempt 5672: Error rate 49.64% (target: 15%) -2025-09-15T14:20:56.259Z | [OTHER] | Attempt 5673: Error rate 46.43% (target: 15%) -2025-09-15T14:20:56.264Z | [OTHER] | Attempt 5674: Error rate 52.96% (target: 15%) -2025-09-15T14:20:56.269Z | [OTHER] | Attempt 5675: Error rate 53.41% (target: 15%) -2025-09-15T14:20:56.275Z | [OTHER] | Attempt 5676: Error rate 58.75% (target: 15%) -2025-09-15T14:20:56.281Z | [OTHER] | Attempt 5677: Error rate 51.09% (target: 15%) -2025-09-15T14:20:56.287Z | [OTHER] | Attempt 5678: Error rate 46.97% (target: 15%) -2025-09-15T14:20:56.293Z | [OTHER] | Attempt 5679: Error rate 53.99% (target: 15%) -2025-09-15T14:20:56.298Z | [OTHER] | Attempt 5680: Error rate 49.61% (target: 15%) -2025-09-15T14:20:56.303Z | [OTHER] | Attempt 5681: Error rate 57.32% (target: 15%) -2025-09-15T14:20:56.309Z | [OTHER] | Attempt 5682: Error rate 52.38% (target: 15%) -2025-09-15T14:20:56.315Z | [OTHER] | Attempt 5683: Error rate 47.78% (target: 15%) -2025-09-15T14:20:56.321Z | [OTHER] | Attempt 5684: Error rate 52.13% (target: 15%) -2025-09-15T14:20:56.326Z | [OTHER] | Attempt 5685: Error rate 48.58% (target: 15%) -2025-09-15T14:20:56.331Z | [OTHER] | Attempt 5686: Error rate 45.53% (target: 15%) -2025-09-15T14:20:56.336Z | [OTHER] | Attempt 5687: Error rate 52.65% (target: 15%) -2025-09-15T14:20:56.342Z | [OTHER] | Attempt 5688: Error rate 40.83% (target: 15%) -2025-09-15T14:20:56.348Z | [OTHER] | Attempt 5689: Error rate 56.59% (target: 15%) -2025-09-15T14:20:56.354Z | [OTHER] | Attempt 5690: Error rate 50.83% (target: 15%) -2025-09-15T14:20:56.360Z | [OTHER] | Attempt 5691: Error rate 51.45% (target: 15%) -2025-09-15T14:20:56.366Z | [OTHER] | Attempt 5692: Error rate 48.91% (target: 15%) -2025-09-15T14:20:56.371Z | [OTHER] | Attempt 5693: Error rate 57.41% (target: 15%) -2025-09-15T14:20:56.377Z | [OTHER] | Attempt 5694: Error rate 49.24% (target: 15%) -2025-09-15T14:20:56.383Z | [OTHER] | Attempt 5695: Error rate 50.74% (target: 15%) -2025-09-15T14:20:56.389Z | [OTHER] | Attempt 5696: Error rate 58.87% (target: 15%) -2025-09-15T14:20:56.394Z | [OTHER] | Attempt 5697: Error rate 56.59% (target: 15%) -2025-09-15T14:20:56.399Z | [OTHER] | Attempt 5698: Error rate 51.63% (target: 15%) -2025-09-15T14:20:56.405Z | [OTHER] | Attempt 5699: Error rate 56.06% (target: 15%) -2025-09-15T14:20:56.410Z | [OTHER] | Attempt 5700: Error rate 61.81% (target: 15%) -2025-09-15T14:20:56.415Z | [OTHER] | Attempt 5701: Error rate 50.72% (target: 15%) -2025-09-15T14:20:56.421Z | [OTHER] | Attempt 5702: Error rate 54.17% (target: 15%) -2025-09-15T14:20:56.426Z | [OTHER] | Attempt 5703: Error rate 56.67% (target: 15%) -2025-09-15T14:20:56.432Z | [OTHER] | Attempt 5704: Error rate 52.96% (target: 15%) -2025-09-15T14:20:56.437Z | [OTHER] | Attempt 5705: Error rate 48.55% (target: 15%) -2025-09-15T14:20:56.442Z | [OTHER] | Attempt 5706: Error rate 50.76% (target: 15%) -2025-09-15T14:20:56.448Z | [OTHER] | Attempt 5707: Error rate 58.16% (target: 15%) -2025-09-15T14:20:56.453Z | [OTHER] | Attempt 5708: Error rate 58.33% (target: 15%) -2025-09-15T14:20:56.459Z | [OTHER] | Attempt 5709: Error rate 50% (target: 15%) -2025-09-15T14:20:56.464Z | [OTHER] | Attempt 5710: Error rate 57.64% (target: 15%) -2025-09-15T14:20:56.470Z | [OTHER] | Attempt 5711: Error rate 56.82% (target: 15%) -2025-09-15T14:20:56.475Z | [OTHER] | Attempt 5712: Error rate 46.58% (target: 15%) -2025-09-15T14:20:56.480Z | [OTHER] | Attempt 5713: Error rate 53.33% (target: 15%) -2025-09-15T14:20:56.487Z | [OTHER] | Attempt 5714: Error rate 51.48% (target: 15%) -2025-09-15T14:20:56.492Z | [OTHER] | Attempt 5715: Error rate 54.35% (target: 15%) -2025-09-15T14:20:56.498Z | [OTHER] | Attempt 5716: Error rate 58.7% (target: 15%) -2025-09-15T14:20:56.503Z | [OTHER] | Attempt 5717: Error rate 42.08% (target: 15%) -2025-09-15T14:20:56.509Z | [OTHER] | Attempt 5718: Error rate 52.08% (target: 15%) -2025-09-15T14:20:56.514Z | [OTHER] | Attempt 5719: Error rate 47.01% (target: 15%) -2025-09-15T14:20:56.520Z | [OTHER] | Attempt 5720: Error rate 52.44% (target: 15%) -2025-09-15T14:20:56.525Z | [OTHER] | Attempt 5721: Error rate 53.1% (target: 15%) -2025-09-15T14:20:56.531Z | [OTHER] | Attempt 5722: Error rate 53.57% (target: 15%) -2025-09-15T14:20:56.536Z | [OTHER] | Attempt 5723: Error rate 44.17% (target: 15%) -2025-09-15T14:20:56.541Z | [OTHER] | Using best attempt with error rate: 34.47% -2025-09-15T14:20:56.547Z | [OTHER] | Game created successfully | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, gameCode: 6BDKNI, executionTime: 20055ms" -2025-09-15T14:20:56.553Z | [OTHER] | Game started successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","deckCount":3,"totalCards":5,"executionTime":20064} -2025-09-15T14:20:56.558Z | [REQUEST] | Game started successfully | ReqId:jtvdevyrj | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","deckCount":3,"totalCards":5} -2025-09-15T14:20:56.564Z | [REQUEST] | Request completed | ReqId:jtvdevyrj | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | Time:20083ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:20:56.570Z | [OTHER] | Board generation completed for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 in 20032ms. Error rate: 34.47% -2025-09-15T14:24:23.321Z | [REQUEST] | Incoming request | ReqId:ysj3ofthx | IP:::ffff:172.20.0.1 | POST /api/games/join | UA:PostmanRuntime/7.45.0 -2025-09-15T14:24:23.323Z | [REQUEST] | POST /api/games/join | ReqId:ysj3ofthx | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:24:23.332Z | [AUTH] | Optional auth - user authenticated | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"userStatus":5,"orgId":""} -2025-09-15T14:24:23.340Z | [REQUEST] | Join game endpoint accessed | ReqId:ysj3ofthx | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"gameCode":"6BDKNI","playerName":"tesztuser","hasAuth":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgId":null} -2025-09-15T14:24:23.360Z | [DATABASE] | Game findByGameCode completed | Meta:{"query":"executionTime: 12ms, gameCode: 6BDKNI, found: true"} -2025-09-15T14:24:23.362Z | [OTHER] | GameService.joinGame called | Meta:{"gameCode":"6BDKNI","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","playerName":"tesztuser","orgId":null,"loginType":0} -2025-09-15T14:24:23.369Z | [OTHER] | Join game input validation passed | Meta:{"gameCode":"6BDKNI","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","loginType":0} -2025-09-15T14:24:23.375Z | [OTHER] | Joining game | Meta:"gameCode: 6BDKNI, playerId: ffa31617-2cf9-403e-ab9d-87eeec85ce58, loginType: 0" -2025-09-15T14:24:23.383Z | [DATABASE] | Game findByGameCode completed | Meta:{"query":"executionTime: 2ms, gameCode: 6BDKNI, found: true"} -2025-09-15T14:24:23.387Z | [OTHER] | Game join validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","currentPlayers":0,"maxPlayers":2,"gameState":0,"loginType":0,"playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","isAuthenticated":true} -2025-09-15T14:24:23.394Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 2ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:24:23.404Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 1ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:24:23.406Z | [DATABASE] | Game update completed | Meta:{"query":"executionTime: 6ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, updated: true"} -2025-09-15T14:24:23.412Z | [DATABASE] | Player added to game | Meta:{"query":"executionTime: 19ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, playerId: ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:24:23.422Z | [OTHER] | Game data updated in Redis | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","redisKey":"game:9e7ae048-8bc7-4d4b-b3aa-c173465bb003","playerCount":1,"websocketRoom":"game_6BDKNI","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:24:23.424Z | [OTHER] | Player joined game successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","playerCount":1,"maxPlayers":2,"loginType":0,"executionTime":49} -2025-09-15T14:24:23.430Z | [OTHER] | Player joined game successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","playerCount":1,"maxPlayers":2,"executionTime":68} -2025-09-15T14:24:23.436Z | [REQUEST] | Player joined game successfully | ReqId:ysj3ofthx | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","gameType":"PUBLIC","playerCount":1,"maxPlayers":2,"playerName":"tesztuser"} -2025-09-15T14:24:23.442Z | [REQUEST] | Request completed | ReqId:ysj3ofthx | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | Time:121ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:25:09.320Z | [REQUEST] | Incoming request | ReqId:j950jni9m | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 -2025-09-15T14:25:09.322Z | [REQUEST] | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | ReqId:j950jni9m | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:25:09.331Z | [AUTH] | Authentication successful | ReqId:j950jni9m | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:25:09.336Z | [REQUEST] | Start gameplay endpoint accessed | ReqId:j950jni9m | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:25:09.343Z | [OTHER] | GameService.startGamePlay called | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:25:09.350Z | [OTHER] | Start game play input validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:25:09.357Z | [OTHER] | Starting game play | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58" -2025-09-15T14:25:09.373Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 9ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:25:09.376Z | [ERROR] | Failed to start game play | Meta:{"name":"Error","message":"Game needs at least 2 players to start","stack":"Error: Game needs at least 2 players to start\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:113:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:229:24"} -2025-09-15T14:25:09.381Z | [OTHER] | Game start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":18} -2025-09-15T14:25:09.388Z | [ERROR] | GameService.startGamePlay failed | Meta:{"name":"Error","message":"Game needs at least 2 players to start","stack":"Error: Game needs at least 2 players to start\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:113:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:229:24"} -2025-09-15T14:25:09.395Z | [OTHER] | Game play start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":45,"error":"Game needs at least 2 players to start"} -2025-09-15T14:25:09.401Z | [ERROR] | Start gameplay endpoint error | ReqId:j950jni9m | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Game needs at least 2 players to start","stack":"Error: Game needs at least 2 players to start\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:113:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:229:24"} -2025-09-15T14:25:09.408Z | [REQUEST] | Request completed | ReqId:j950jni9m | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:500 | Time:88ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:16.806Z | [REQUEST] | Incoming request | ReqId:kvyur8w2q | IP:::ffff:172.20.0.1 | GET /api/user/create | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:16.807Z | [REQUEST] | GET /api/user/create | ReqId:kvyur8w2q | IP:::ffff:172.20.0.1 | GET /api/user/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:16.815Z | [REQUEST] | Request completed | ReqId:kvyur8w2q | IP:::ffff:172.20.0.1 | GET /api/user/create | Status:404 | Time:9ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:21.367Z | [REQUEST] | Incoming request | ReqId:cw7l07s05 | IP:::ffff:172.20.0.1 | POST /api/user/create | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:21.369Z | [REQUEST] | POST /api/user/create | ReqId:cw7l07s05 | IP:::ffff:172.20.0.1 | POST /api/user/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:21.376Z | [REQUEST] | Request completed | ReqId:cw7l07s05 | IP:::ffff:172.20.0.1 | POST /api/user/create | Status:404 | Time:9ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:29.379Z | [REQUEST] | Incoming request | ReqId:tmy40e667 | IP:::ffff:172.20.0.1 | POST /api/users/create | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:29.382Z | [REQUEST] | POST /api/users/create | ReqId:tmy40e667 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:29.390Z | [REQUEST] | Create user endpoint accessed | ReqId:tmy40e667 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser","email":"teszt@example.com"} -2025-09-15T14:26:29.560Z | [DATABASE] | User created successfully | Meta:{"executionTime":13,"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser","email":"teszt@example.com"} -2025-09-15T14:26:29.566Z | [REQUEST] | User created successfully | ReqId:tmy40e667 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser"} -2025-09-15T14:26:29.568Z | [REQUEST] | Request completed | ReqId:tmy40e667 | IP:::ffff:172.20.0.1 | POST /api/users/create | Status:201 | Time:189ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:29.876Z | [ERROR] | Email sending failed | Meta:{"name":"Error","message":"Missing credentials for \"PLAIN\"","stack":"Error: Missing credentials for \"PLAIN\"\n at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:809:19)\n at SMTPConnection.login (/app/node_modules/nodemailer/lib/smtp-connection/index.js:454:38)\n at /app/node_modules/nodemailer/lib/smtp-transport/index.js:272:32\n at SMTPConnection. (/app/node_modules/nodemailer/lib/smtp-connection/index.js:215:17)\n at Object.onceWrapper (node:events:638:28)\n at SMTPConnection.emit (node:events:524:28)\n at SMTPConnection.emit (node:domain:489:12)\n at SMTPConnection._actionEHLO (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1371:14)\n at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:993:20)\n at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:774:14)"} -2025-09-15T14:26:29.878Z | [WARNING] | Failed to send verification email | Meta:{"email":"teszt@example.com","userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456"} -2025-09-15T14:26:42.825Z | [REQUEST] | Incoming request | ReqId:gwclmpupv | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:42.827Z | [REQUEST] | POST /api/users/login | ReqId:gwclmpupv | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:26:42.835Z | [REQUEST] | Login endpoint accessed | ReqId:gwclmpupv | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T14:26:42.842Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T14:26:42.860Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":10,"found":true,"username":"TesztUser"} -2025-09-15T14:26:42.862Z | [DATABASE] | User lookup completed | Meta:{"executionTime":20,"found":true,"searchBy":"username"} -2025-09-15T14:26:42.870Z | [AUTH] | Login failed - Account state restriction | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser","userState":0,"stateDescription":"Email not verified"} -2025-09-15T14:26:42.878Z | [REQUEST] | Request completed | ReqId:gwclmpupv | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:53ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:27:31.305Z | [REQUEST] | Incoming request | ReqId:ihg2j8kx5 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T14:27:31.307Z | [REQUEST] | POST /api/users/login | ReqId:ihg2j8kx5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:27:31.314Z | [REQUEST] | Login endpoint accessed | ReqId:ihg2j8kx5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T14:27:31.320Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T14:27:31.336Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":10,"found":true,"username":"TesztUser"} -2025-09-15T14:27:31.338Z | [DATABASE] | User lookup completed | Meta:{"executionTime":18,"found":true,"searchBy":"username"} -2025-09-15T14:27:31.346Z | [AUTH] | Login failed - Account state restriction | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser","userState":0,"stateDescription":"Email not verified"} -2025-09-15T14:27:31.352Z | [REQUEST] | Request completed | ReqId:ihg2j8kx5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:47ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-30-59-513Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-30-59-513Z.log deleted file mode 100644 index 9e0a2fb6..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-30-59-513Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:30:59.513Z -# Max entries per file: 10000 - -2025-09-15T14:31:01.570Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:31:01.584Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:31:01.584Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:31:02.522Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:31:02.528Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:31:02.530Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:31:02.532Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-31-29-169Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-31-29-169Z.log deleted file mode 100644 index 58fd2b66..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-31-29-169Z.log +++ /dev/null @@ -1,19 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:31:29.169Z -# Max entries per file: 10000 - -2025-09-15T14:31:30.954Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:31:30.969Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:31:30.969Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:31:31.757Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:31:31.761Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:31:31.763Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:31:31.765Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:31:34.808Z | [REQUEST] | Incoming request | ReqId:nplvxzsxj | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T14:31:34.810Z | [REQUEST] | POST /api/users/login | ReqId:nplvxzsxj | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:31:34.812Z | [REQUEST] | Login endpoint accessed | ReqId:nplvxzsxj | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T14:31:34.814Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T14:31:34.825Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":9,"found":true,"username":"TesztUser"} -2025-09-15T14:31:34.827Z | [DATABASE] | User lookup completed | Meta:{"executionTime":13,"found":true,"searchBy":"username"} -2025-09-15T14:31:34.828Z | [AUTH] | Login failed - Account state restriction | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser","userState":0,"stateDescription":"Email not verified"} -2025-09-15T14:31:34.834Z | [ERROR] | Login endpoint error | ReqId:nplvxzsxj | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Login failed: null","stack":"Error: Login failed: null\n at /app/src/Api/routers/userRouter.ts:35:10\n at processTicksAndRejections (node:internal/process/task_queues:95:5)"} -2025-09-15T14:31:34.837Z | [REQUEST] | Request completed | ReqId:nplvxzsxj | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:500 | Time:29ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-33-42-527Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-33-42-527Z.log deleted file mode 100644 index c6719c99..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-33-42-527Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:33:42.527Z -# Max entries per file: 10000 - -2025-09-15T14:33:44.303Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:33:44.317Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:33:44.317Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:33:45.193Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:33:45.197Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:33:45.199Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:33:45.201Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-34-01-960Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-34-01-960Z.log deleted file mode 100644 index a6018d63..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-34-01-960Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:34:01.960Z -# Max entries per file: 10000 - -2025-09-15T14:34:03.872Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:34:03.886Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:34:03.886Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:34:04.808Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:34:04.812Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:34:04.814Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:34:04.816Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-35-09-998Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-35-09-998Z.log deleted file mode 100644 index 42d350e8..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-35-09-998Z.log +++ /dev/null @@ -1,21 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:35:09.998Z -# Max entries per file: 10000 - -2025-09-15T14:35:11.708Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:35:11.722Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:35:11.722Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:35:12.519Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:35:12.525Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:35:12.526Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:35:12.529Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:35:38.401Z | [REQUEST] | Incoming request | ReqId:ateyog4vw | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T14:35:38.404Z | [REQUEST] | POST /api/users/login | ReqId:ateyog4vw | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:35:38.406Z | [REQUEST] | Login endpoint accessed | ReqId:ateyog4vw | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T14:35:38.408Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T14:35:38.425Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":16,"found":true,"username":"TesztUser"} -2025-09-15T14:35:38.427Z | [DATABASE] | User lookup completed | Meta:{"executionTime":19,"found":true,"searchBy":"username"} -2025-09-15T14:35:38.428Z | [AUTH] | Login failed - Account state restriction | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser","userState":0,"stateDescription":"Email not verified"} -2025-09-15T14:35:38.435Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"User account not verified","stack":"Error: User account not verified\n at LoginCommandHandler.execute (/app/src/Application/User/commands/LoginCommandHandler.ts:76:15)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:29:18"} -2025-09-15T14:35:38.437Z | [DATABASE] | Unexpected database error during login | Meta:{"executionTime":29} -2025-09-15T14:35:38.439Z | [ERROR] | Login endpoint error | ReqId:ateyog4vw | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Database connection error","stack":"Error: Database connection error\n at LoginCommandHandler.execute (/app/src/Application/User/commands/LoginCommandHandler.ts:189:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:29:18"} -2025-09-15T14:35:38.442Z | [REQUEST] | Request completed | ReqId:ateyog4vw | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:500 | Time:41ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-37-03-360Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-37-03-360Z.log deleted file mode 100644 index 67f74be7..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-37-03-360Z.log +++ /dev/null @@ -1,21 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:37:03.360Z -# Max entries per file: 10000 - -2025-09-15T14:37:05.167Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:37:05.180Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:37:05.180Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:37:06.036Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:37:06.041Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:37:06.043Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:37:06.045Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:37:07.040Z | [REQUEST] | Incoming request | ReqId:7v1156kp7 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T14:37:07.042Z | [REQUEST] | POST /api/users/login | ReqId:7v1156kp7 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:37:07.044Z | [REQUEST] | Login endpoint accessed | ReqId:7v1156kp7 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T14:37:07.046Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T14:37:07.057Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":9,"found":true,"username":"TesztUser"} -2025-09-15T14:37:07.059Z | [DATABASE] | User lookup completed | Meta:{"executionTime":13,"found":true,"searchBy":"username"} -2025-09-15T14:37:07.061Z | [AUTH] | Login failed - Account state restriction | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser","userState":0,"stateDescription":"Email not verified"} -2025-09-15T14:37:07.067Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"User account not verified","stack":"Error: User account not verified\n at LoginCommandHandler.execute (/app/src/Application/User/commands/LoginCommandHandler.ts:76:15)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:29:18"} -2025-09-15T14:37:07.068Z | [DATABASE] | Unexpected database error during login | Meta:{"executionTime":22} -2025-09-15T14:37:07.070Z | [ERROR] | Login endpoint error | ReqId:7v1156kp7 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Database connection error","stack":"Error: Database connection error\n at LoginCommandHandler.execute (/app/src/Application/User/commands/LoginCommandHandler.ts:189:13)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:29:18"} -2025-09-15T14:37:07.073Z | [REQUEST] | Request completed | ReqId:7v1156kp7 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:500 | Time:33ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-38-21-111Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-38-21-111Z.log deleted file mode 100644 index f6c01be2..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-38-21-111Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:38:21.111Z -# Max entries per file: 10000 - -2025-09-15T14:38:23.075Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:38:23.091Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:38:23.091Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:38:24.053Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:38:24.058Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:38:24.059Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:38:24.061Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-38-54-177Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-38-54-177Z.log deleted file mode 100644 index 4a1fd385..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-38-54-177Z.log +++ /dev/null @@ -1,36 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:38:54.177Z -# Max entries per file: 10000 - -2025-09-15T14:38:55.824Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:38:55.837Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:38:55.837Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:38:56.709Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:38:56.714Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:38:56.715Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:38:56.717Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:38:58.509Z | [REQUEST] | Incoming request | ReqId:o9gh2wl32 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T14:38:58.512Z | [REQUEST] | POST /api/users/login | ReqId:o9gh2wl32 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:38:58.514Z | [REQUEST] | Login endpoint accessed | ReqId:o9gh2wl32 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T14:38:58.516Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T14:38:58.527Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":9,"found":true,"username":"TesztUser"} -2025-09-15T14:38:58.528Z | [DATABASE] | User lookup completed | Meta:{"executionTime":12,"found":true,"searchBy":"username"} -2025-09-15T14:38:58.529Z | [AUTH] | Login failed - Account state restriction | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser","userState":0,"stateDescription":"Email not verified"} -2025-09-15T14:38:58.535Z | [ERROR] | Login handler error | Meta:{"name":"Error","message":"User account not verified","stack":"Error: User account not verified\n at LoginCommandHandler.execute (/app/src/Application/User/commands/LoginCommandHandler.ts:76:15)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:29:18"} -2025-09-15T14:38:58.536Z | [ERROR] | Login endpoint error | ReqId:o9gh2wl32 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"User account not verified","stack":"Error: User account not verified\n at LoginCommandHandler.execute (/app/src/Application/User/commands/LoginCommandHandler.ts:76:15)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/src/Api/routers/userRouter.ts:29:18"} -2025-09-15T14:38:58.538Z | [REQUEST] | Request completed | ReqId:o9gh2wl32 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:401 | Time:29ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:39:16.183Z | [REQUEST] | Incoming request | ReqId:sqysthqmt | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T14:39:16.185Z | [REQUEST] | POST /api/users/login | ReqId:sqysthqmt | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:39:16.187Z | [REQUEST] | Login endpoint accessed | ReqId:sqysthqmt | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztUser"} -2025-09-15T14:39:16.189Z | [AUTH] | Login attempt | Meta:{"username":"TesztUser"} -2025-09-15T14:39:16.203Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztUser })","executionTime":13,"found":true,"username":"TesztUser"} -2025-09-15T14:39:16.205Z | [DATABASE] | User lookup completed | Meta:{"executionTime":16,"found":true,"searchBy":"username"} -2025-09-15T14:39:16.363Z | [AUTH] | Password verification completed | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","valid":true,"verificationTime":157} -2025-09-15T14:39:16.370Z | [AUTH] | Login successful | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","authLevel":0,"userStatus":1,"orgId":"","requiresOrgReauth":false,"totalLoginTime":181} -2025-09-15T14:39:16.372Z | [AUTH] | User login successful | ReqId:sqysthqmt | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser"} -2025-09-15T14:39:16.374Z | [REQUEST] | Request completed | ReqId:sqysthqmt | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:191ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:40:01.536Z | [REQUEST] | Incoming request | ReqId:37oddpar8 | IP:::ffff:172.20.0.1 | POST /api/games/join | UA:PostmanRuntime/7.45.0 -2025-09-15T14:40:01.537Z | [REQUEST] | POST /api/games/join | ReqId:37oddpar8 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:40:01.542Z | [AUTH] | Optional auth - user authenticated | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","authLevel":0,"userStatus":1,"orgId":""} -2025-09-15T14:40:01.544Z | [REQUEST] | Join game endpoint accessed | ReqId:37oddpar8 | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"gameCode":"6BDKNI","hasAuth":true,"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","orgId":null} -2025-09-15T14:40:01.558Z | [DATABASE] | Game findByGameCode completed | Meta:{"query":"executionTime: 13ms, gameCode: 6BDKNI, found: true"} -2025-09-15T14:40:01.560Z | [REQUEST] | Request completed | ReqId:37oddpar8 | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:400 | Time:25ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-41-57-666Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-41-57-666Z.log deleted file mode 100644 index 2f032a27..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-41-57-666Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:41:57.666Z -# Max entries per file: 10000 - -2025-09-15T14:41:59.550Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:41:59.564Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:41:59.564Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:42:00.470Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:42:00.475Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:42:00.477Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:42:00.479Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-42-52-921Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-42-52-921Z.log deleted file mode 100644 index 249b8dc3..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-42-52-921Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:42:52.921Z -# Max entries per file: 10000 - -2025-09-15T14:42:54.879Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:42:54.893Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:42:54.893Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:42:55.786Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:42:55.791Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:42:55.792Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:42:55.794Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-44-41-360Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-44-41-360Z.log deleted file mode 100644 index 604b4b49..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-44-41-360Z.log +++ /dev/null @@ -1,90 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:44:41.360Z -# Max entries per file: 10000 - -2025-09-15T14:44:43.137Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:44:43.150Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:44:43.150Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:44:44.056Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:44:44.060Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:44:44.062Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:44:44.064Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:44:46.624Z | [ERROR] | Unhandled error: Expected ',' or '}' after property value in JSON at position 37 | ReqId:ho56dnkn1 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"stack":"SyntaxError: Expected ',' or '}' after property value in JSON at position 37\n at JSON.parse ()\n at parse (/app/node_modules/body-parser/lib/types/json.js:77:19)\n at /app/node_modules/body-parser/lib/read.js:123:18\n at AsyncResource.runInAsyncScope (node:async_hooks:206:9)\n at invokeCallback (/app/node_modules/raw-body/index.js:238:16)\n at done (/app/node_modules/raw-body/index.js:227:7)\n at IncomingMessage.onEnd (/app/node_modules/raw-body/index.js:287:7)\n at IncomingMessage.emit (node:events:524:28)\n at IncomingMessage.emit (node:domain:489:12)\n at endReadableNT (node:internal/streams/readable:1698:12)","name":"SyntaxError"} -2025-09-15T14:44:46.628Z | [ERROR] | Global error handler caught unhandled error | ReqId:tw8k68yoe | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"SyntaxError","message":"Expected ',' or '}' after property value in JSON at position 37","stack":"SyntaxError: Expected ',' or '}' after property value in JSON at position 37\n at JSON.parse ()\n at parse (/app/node_modules/body-parser/lib/types/json.js:77:19)\n at /app/node_modules/body-parser/lib/read.js:123:18\n at AsyncResource.runInAsyncScope (node:async_hooks:206:9)\n at invokeCallback (/app/node_modules/raw-body/index.js:238:16)\n at done (/app/node_modules/raw-body/index.js:227:7)\n at IncomingMessage.onEnd (/app/node_modules/raw-body/index.js:287:7)\n at IncomingMessage.emit (node:events:524:28)\n at IncomingMessage.emit (node:domain:489:12)\n at endReadableNT (node:internal/streams/readable:1698:12)"} -2025-09-15T14:44:49.955Z | [REQUEST] | Incoming request | ReqId:qloq3deev | IP:::ffff:172.20.0.1 | POST /api/games/join | UA:PostmanRuntime/7.45.0 -2025-09-15T14:44:49.957Z | [REQUEST] | POST /api/games/join | ReqId:qloq3deev | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:44:49.961Z | [AUTH] | Optional auth - user authenticated | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","authLevel":0,"userStatus":1,"orgId":""} -2025-09-15T14:44:49.964Z | [REQUEST] | Join game endpoint accessed | ReqId:qloq3deev | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"gameCode":"6BDKNI","hasAuth":true,"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","orgId":null} -2025-09-15T14:44:49.974Z | [DATABASE] | Game findByGameCode completed | Meta:{"query":"executionTime: 9ms, gameCode: 6BDKNI, found: true"} -2025-09-15T14:44:49.978Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: 0c7bfa37-77c9-4c73-a7f7-ca4199055456 })","executionTime":2,"found":true,"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456"} -2025-09-15T14:44:49.980Z | [REQUEST] | Using logged-in user's username as playerName | ReqId:qloq3deev | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser"} -2025-09-15T14:44:49.982Z | [OTHER] | GameService.joinGame called | Meta:{"gameCode":"6BDKNI","playerId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","playerName":"TesztUser","orgId":null,"loginType":0} -2025-09-15T14:44:49.984Z | [OTHER] | Join game input validation passed | Meta:{"gameCode":"6BDKNI","playerId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","loginType":0} -2025-09-15T14:44:49.985Z | [OTHER] | Joining game | Meta:"gameCode: 6BDKNI, playerId: 0c7bfa37-77c9-4c73-a7f7-ca4199055456, loginType: 0" -2025-09-15T14:44:49.989Z | [DATABASE] | Game findByGameCode completed | Meta:{"query":"executionTime: 2ms, gameCode: 6BDKNI, found: true"} -2025-09-15T14:44:49.990Z | [OTHER] | Game join validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","currentPlayers":1,"maxPlayers":2,"gameState":0,"loginType":0,"playerId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","isAuthenticated":true} -2025-09-15T14:44:49.994Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 2ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:44:50.002Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 2ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:44:50.004Z | [DATABASE] | Game update completed | Meta:{"query":"executionTime: 8ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, updated: true"} -2025-09-15T14:44:50.005Z | [DATABASE] | Player added to game | Meta:{"query":"executionTime: 13ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, playerId: 0c7bfa37-77c9-4c73-a7f7-ca4199055456"} -2025-09-15T14:44:50.010Z | [OTHER] | Game data updated in Redis | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","redisKey":"game:9e7ae048-8bc7-4d4b-b3aa-c173465bb003","playerCount":2,"websocketRoom":"game_6BDKNI","playerId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456"} -2025-09-15T14:44:50.011Z | [OTHER] | Player joined game successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","playerCount":2,"maxPlayers":2,"loginType":0,"executionTime":26} -2025-09-15T14:44:50.013Z | [OTHER] | Player joined game successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","playerCount":2,"maxPlayers":2,"executionTime":31} -2025-09-15T14:44:50.014Z | [REQUEST] | Player joined game successfully | ReqId:qloq3deev | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","gameType":"PUBLIC","playerCount":2,"maxPlayers":2,"playerName":"TesztUser"} -2025-09-15T14:44:50.016Z | [REQUEST] | Request completed | ReqId:qloq3deev | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | Time:61ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:44:56.123Z | [REQUEST] | Incoming request | ReqId:6ddm54o5r | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 -2025-09-15T14:44:56.125Z | [REQUEST] | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | ReqId:6ddm54o5r | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:44:56.128Z | [AUTH] | Authentication successful | ReqId:6ddm54o5r | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","authLevel":0,"orgId":""} -2025-09-15T14:44:56.130Z | [REQUEST] | Start gameplay endpoint accessed | ReqId:6ddm54o5r | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:44:56.132Z | [OTHER] | GameService.startGamePlay called | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456"} -2025-09-15T14:44:56.133Z | [OTHER] | Start game play input validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:44:56.135Z | [OTHER] | Starting game play | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, userId: 0c7bfa37-77c9-4c73-a7f7-ca4199055456" -2025-09-15T14:44:56.138Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 2ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:44:56.145Z | [ERROR] | Failed to start game play | Meta:{"name":"Error","message":"Only the game master can start this game","stack":"Error: Only the game master can start this game\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:118:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T14:44:56.147Z | [OTHER] | Game start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","executionTime":5} -2025-09-15T14:44:56.149Z | [ERROR] | GameService.startGamePlay failed | Meta:{"name":"Error","message":"Only the game master can start this game","stack":"Error: Only the game master can start this game\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:118:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T14:44:56.150Z | [OTHER] | Game play start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","executionTime":17,"error":"Only the game master can start this game"} -2025-09-15T14:44:56.152Z | [ERROR] | Start gameplay endpoint error | ReqId:6ddm54o5r | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Only the game master can start this game","stack":"Error: Only the game master can start this game\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:118:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T14:44:56.154Z | [REQUEST] | Request completed | ReqId:6ddm54o5r | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:403 | Time:31ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:45:23.860Z | [REQUEST] | Incoming request | ReqId:lbq1eq3ta | IP:::ffff:172.20.0.1 | POST /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T14:45:23.862Z | [REQUEST] | POST /api/users/profile | ReqId:lbq1eq3ta | IP:::ffff:172.20.0.1 | POST /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:45:23.864Z | [REQUEST] | Request completed | ReqId:lbq1eq3ta | IP:::ffff:172.20.0.1 | POST /api/users/profile | Status:404 | Time:4ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:45:28.010Z | [REQUEST] | Incoming request | ReqId:bftwrokt9 | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 -2025-09-15T14:45:28.012Z | [REQUEST] | GET /api/users/profile | ReqId:bftwrokt9 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:45:28.016Z | [AUTH] | Authentication successful | ReqId:bftwrokt9 | IP:::ffff:172.20.0.1 | GET /api/users/profile | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","authLevel":0,"orgId":""} -2025-09-15T14:45:28.018Z | [REQUEST] | Get user profile endpoint accessed | ReqId:bftwrokt9 | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456"} -2025-09-15T14:45:28.035Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: 0c7bfa37-77c9-4c73-a7f7-ca4199055456 })","executionTime":15,"found":true,"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456"} -2025-09-15T14:45:28.037Z | [REQUEST] | User profile retrieved successfully | ReqId:bftwrokt9 | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","username":"TesztUser"} -2025-09-15T14:45:28.039Z | [REQUEST] | Request completed | ReqId:bftwrokt9 | UserId:0c7bfa37-77c9-4c73-a7f7-ca4199055456 | IP:::ffff:172.20.0.1 | GET /api/users/profile | Status:200 | Time:29ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:46:04.502Z | [REQUEST] | Incoming request | ReqId:1ylgy91h5 | IP:::ffff:172.20.0.1 | GET /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T14:46:04.504Z | [REQUEST] | GET /api/users/login | ReqId:1ylgy91h5 | IP:::ffff:172.20.0.1 | GET /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:46:04.506Z | [REQUEST] | Request completed | ReqId:1ylgy91h5 | IP:::ffff:172.20.0.1 | GET /api/users/login | Status:404 | Time:4ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:46:08.138Z | [REQUEST] | Incoming request | ReqId:l6py1qnm5 | IP:::ffff:172.20.0.1 | POST /api/users/login | UA:PostmanRuntime/7.45.0 -2025-09-15T14:46:08.140Z | [REQUEST] | POST /api/users/login | ReqId:l6py1qnm5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:46:08.142Z | [REQUEST] | Login endpoint accessed | ReqId:l6py1qnm5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"username":"TesztAdmin"} -2025-09-15T14:46:08.144Z | [AUTH] | Login attempt | Meta:{"username":"TesztAdmin"} -2025-09-15T14:46:08.155Z | [DATABASE] | User findByUsername query completed | Meta:{"query":"findOneBy({ username: TesztAdmin })","executionTime":9,"found":true,"username":"TesztAdmin"} -2025-09-15T14:46:08.157Z | [DATABASE] | User lookup completed | Meta:{"executionTime":13,"found":true,"searchBy":"username"} -2025-09-15T14:46:08.307Z | [AUTH] | Password verification completed | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","valid":true,"verificationTime":148} -2025-09-15T14:46:08.311Z | [AUTH] | Login successful | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"userStatus":5,"orgId":"","requiresOrgReauth":false,"totalLoginTime":167} -2025-09-15T14:46:08.313Z | [AUTH] | User login successful | ReqId:l6py1qnm5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztAdmin"} -2025-09-15T14:46:08.315Z | [REQUEST] | Request completed | ReqId:l6py1qnm5 | IP:::ffff:172.20.0.1 | POST /api/users/login | Status:200 | Time:177ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:46:15.371Z | [REQUEST] | Incoming request | ReqId:jgvbhtgsa | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 -2025-09-15T14:46:15.373Z | [REQUEST] | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | ReqId:jgvbhtgsa | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:46:15.377Z | [AUTH] | Authentication successful | ReqId:jgvbhtgsa | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:46:15.379Z | [REQUEST] | Start gameplay endpoint accessed | ReqId:jgvbhtgsa | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:46:15.380Z | [OTHER] | GameService.startGamePlay called | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:46:15.382Z | [OTHER] | Start game play input validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:46:15.383Z | [OTHER] | Starting game play | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58" -2025-09-15T14:46:15.388Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 3ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:46:15.390Z | [OTHER] | Game start validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"gameState":0,"isGameMaster":true} -2025-09-15T14:46:15.391Z | [OTHER] | Waiting for board generation for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"maxWaitTime":20,"pollInterval":500} -2025-09-15T14:46:15.394Z | [OTHER] | Board generation completed for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"errorRate":34.47,"fieldCount":100,"borderLength":100,"waitTime":3} -2025-09-15T14:46:15.400Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 2ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:46:15.402Z | [DATABASE] | Game update completed | Meta:{"query":"executionTime: 7ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, updated: true"} -2025-09-15T14:46:15.404Z | [OTHER] | Player positions initialized | Meta:{"playerCount":2,"turnOrders":[1,2],"playersData":[{"playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","position":0,"turnOrder":1},{"playerId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","position":0,"turnOrder":2}]} -2025-09-15T14:46:15.407Z | [OTHER] | Game play initialized in Redis | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"turnSequence":["ffa31617-2cf9-403e-ab9d-87eeec85ce58","0c7bfa37-77c9-4c73-a7f7-ca4199055456"],"currentPlayer":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","redisKey":"gameplay:9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:46:15.409Z | [OTHER] | Game start notifications prepared | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"websocketRoom":"game_6BDKNI"} -2025-09-15T14:46:15.410Z | [OTHER] | Game play started successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"executionTime":27} -2025-09-15T14:46:15.412Z | [OTHER] | Game play started successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"gameState":1,"executionTime":31} -2025-09-15T14:46:15.413Z | [REQUEST] | Game gameplay started successfully | ReqId:jgvbhtgsa | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","playerCount":2} -2025-09-15T14:46:15.415Z | [REQUEST] | Request completed | ReqId:jgvbhtgsa | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | Time:44ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-51-18-355Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-51-18-355Z.log deleted file mode 100644 index 2f9d1005..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-51-18-355Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:51:18.355Z -# Max entries per file: 10000 - -2025-09-15T14:51:20.163Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:51:20.176Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:51:20.176Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:51:21.045Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:51:21.049Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:51:21.051Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:51:21.053Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-51-49-176Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-51-49-176Z.log deleted file mode 100644 index 1261f567..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-51-49-176Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:51:49.176Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-52-08-246Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-52-08-246Z.log deleted file mode 100644 index deece16e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-52-08-246Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:52:08.246Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-52-30-120Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-52-30-120Z.log deleted file mode 100644 index 1edaa400..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-52-30-120Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:52:30.120Z -# Max entries per file: 10000 - -2025-09-15T14:52:32.060Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:52:32.074Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:52:32.074Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:52:32.950Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:52:32.954Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:52:32.956Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:52:32.958Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-54-17-346Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-54-17-346Z.log deleted file mode 100644 index fc1f6602..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-54-17-346Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:54:17.346Z -# Max entries per file: 10000 - -2025-09-15T14:54:19.336Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:54:19.353Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:54:19.353Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:54:20.329Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:54:20.334Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:54:20.335Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:54:20.337Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-54-38-736Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-54-38-736Z.log deleted file mode 100644 index eb8e5b6b..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-54-38-736Z.log +++ /dev/null @@ -1,60 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:54:38.736Z -# Max entries per file: 10000 - -2025-09-15T14:54:40.403Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:54:40.417Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:54:40.417Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:54:41.229Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:54:41.233Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:54:41.234Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:54:41.235Z | [STARTUP] | Redis client connected successfully -2025-09-15T14:54:44.323Z | [REQUEST] | Incoming request | ReqId:r0wu4jdjh | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 -2025-09-15T14:54:44.325Z | [REQUEST] | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | ReqId:r0wu4jdjh | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:54:44.330Z | [AUTH] | Authentication successful | ReqId:r0wu4jdjh | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:54:44.331Z | [REQUEST] | Start gameplay endpoint accessed | ReqId:r0wu4jdjh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:54:44.333Z | [OTHER] | GameService.startGamePlay called | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:54:44.334Z | [OTHER] | Start game play input validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:54:44.336Z | [OTHER] | Starting game play | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58" -2025-09-15T14:54:44.345Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 8ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:54:44.352Z | [ERROR] | Failed to start game play | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:103:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T14:54:44.354Z | [OTHER] | Game start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":11} -2025-09-15T14:54:44.355Z | [ERROR] | GameService.startGamePlay failed | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:103:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T14:54:44.357Z | [OTHER] | Game play start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":23,"error":"Game is not in waiting state and cannot be started"} -2025-09-15T14:54:44.358Z | [ERROR] | Start gameplay endpoint error | ReqId:r0wu4jdjh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:103:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T14:54:44.361Z | [REQUEST] | Request completed | ReqId:r0wu4jdjh | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:500 | Time:38ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:55:21.586Z | [REQUEST] | Incoming request | ReqId:2fgicgl4c | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 -2025-09-15T14:55:21.588Z | [REQUEST] | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | ReqId:2fgicgl4c | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:55:21.593Z | [AUTH] | Authentication successful | ReqId:2fgicgl4c | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:55:21.596Z | [REQUEST] | Start gameplay endpoint accessed | ReqId:2fgicgl4c | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:55:21.598Z | [OTHER] | GameService.startGamePlay called | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:55:21.599Z | [OTHER] | Start game play input validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:55:21.601Z | [OTHER] | Starting game play | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58" -2025-09-15T14:55:21.615Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 12ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:55:21.617Z | [ERROR] | Failed to start game play | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:103:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T14:55:21.619Z | [OTHER] | Game start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":16} -2025-09-15T14:55:21.621Z | [ERROR] | GameService.startGamePlay failed | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:103:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T14:55:21.622Z | [OTHER] | Game play start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":23,"error":"Game is not in waiting state and cannot be started"} -2025-09-15T14:55:21.623Z | [ERROR] | Start gameplay endpoint error | ReqId:2fgicgl4c | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:103:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:56:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:26)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T14:55:21.625Z | [REQUEST] | Request completed | ReqId:2fgicgl4c | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:500 | Time:39ms | UA:PostmanRuntime/7.45.0 -2025-09-15T14:55:55.741Z | [REQUEST] | Incoming request | ReqId:n01v9yqwa | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 -2025-09-15T14:55:55.743Z | [REQUEST] | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | ReqId:n01v9yqwa | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T14:55:55.746Z | [AUTH] | Authentication successful | ReqId:n01v9yqwa | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T14:55:55.748Z | [REQUEST] | Start gameplay endpoint accessed | ReqId:n01v9yqwa | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:55:55.750Z | [OTHER] | GameService.startGamePlay called | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T14:55:55.751Z | [OTHER] | Start game play input validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:55:55.753Z | [OTHER] | Starting game play | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58" -2025-09-15T14:55:55.766Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 12ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:55:55.767Z | [OTHER] | Game start validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"gameState":0,"isGameMaster":true} -2025-09-15T14:55:55.769Z | [OTHER] | Waiting for board generation for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"maxWaitTime":20,"pollInterval":500,"redisKey":"game_board_9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:55:55.771Z | [OTHER] | Board generation check for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"attempt":1,"hasData":true,"dataLength":5526,"waitTime":2} -2025-09-15T14:55:55.772Z | [OTHER] | Board data found for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"generationComplete":true,"hasError":false,"fieldsCount":100,"borderLength":100,"totalErrorRate":34.47} -2025-09-15T14:55:55.774Z | [OTHER] | Board generation completed for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"errorRate":34.47,"fieldCount":100,"borderLength":100,"waitTime":5} -2025-09-15T14:55:55.781Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 1ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T14:55:55.782Z | [DATABASE] | Game update completed | Meta:{"query":"executionTime: 7ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, updated: true"} -2025-09-15T14:55:55.784Z | [OTHER] | Player positions initialized | Meta:{"playerCount":2,"turnOrders":[2,1],"playersData":[{"playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","position":0,"turnOrder":2},{"playerId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","position":0,"turnOrder":1}]} -2025-09-15T14:55:55.787Z | [OTHER] | Game play initialized in Redis | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"turnSequence":["0c7bfa37-77c9-4c73-a7f7-ca4199055456","ffa31617-2cf9-403e-ab9d-87eeec85ce58"],"currentPlayer":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","redisKey":"gameplay:9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T14:55:55.788Z | [OTHER] | Game start notifications prepared | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"websocketRoom":"game_6BDKNI"} -2025-09-15T14:55:55.790Z | [OTHER] | Game play started successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"executionTime":37} -2025-09-15T14:55:55.791Z | [OTHER] | Game play started successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"gameState":1,"executionTime":41} -2025-09-15T14:55:55.793Z | [REQUEST] | Game gameplay started successfully | ReqId:n01v9yqwa | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","playerCount":2} -2025-09-15T14:55:55.794Z | [REQUEST] | Request completed | ReqId:n01v9yqwa | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | Time:53ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-58-47-659Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-58-47-659Z.log deleted file mode 100644 index b7d3dc6c..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-58-47-659Z.log +++ /dev/null @@ -1,4 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:58:47.659Z -# Max entries per file: 10000 - diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-59-18-251Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-59-18-251Z.log deleted file mode 100644 index d45b779e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-59-18-251Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:59:18.251Z -# Max entries per file: 10000 - -2025-09-15T14:59:20.126Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:59:20.140Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:59:20.140Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:59:21.083Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:59:21.087Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:59:21.089Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:59:21.091Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-59-39-010Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-59-39-010Z.log deleted file mode 100644 index 3da1a1a3..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T14-59-39-010Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T14:59:39.010Z -# Max entries per file: 10000 - -2025-09-15T14:59:40.830Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T14:59:40.846Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T14:59:40.846Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T14:59:41.770Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T14:59:41.775Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T14:59:41.777Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T14:59:41.779Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-02-49-386Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-02-49-386Z.log deleted file mode 100644 index 06bcf658..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-02-49-386Z.log +++ /dev/null @@ -1,24 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:02:49.386Z -# Max entries per file: 10000 - -2025-09-15T15:02:51.122Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:02:51.135Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:02:51.135Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:02:52.038Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:02:52.042Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:02:52.044Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:02:52.046Z | [STARTUP] | Redis client connected successfully -2025-09-15T15:02:55.984Z | [REQUEST] | Incoming request | ReqId:teg470jjc | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 -2025-09-15T15:02:55.986Z | [REQUEST] | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | ReqId:teg470jjc | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T15:02:55.992Z | [AUTH] | Authentication successful | ReqId:teg470jjc | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T15:02:55.994Z | [REQUEST] | Start gameplay endpoint accessed | ReqId:teg470jjc | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T15:02:55.996Z | [OTHER] | GameService.startGamePlay called | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T15:02:55.998Z | [OTHER] | Start game play input validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T15:02:55.999Z | [OTHER] | Starting game play | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58" -2025-09-15T15:02:56.010Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 9ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T15:02:56.017Z | [ERROR] | Failed to start game play | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:111:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:61:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:28)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T15:02:56.019Z | [OTHER] | Game start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":12} -2025-09-15T15:02:56.021Z | [ERROR] | GameService.startGamePlay failed | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:111:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:61:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:28)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T15:02:56.023Z | [OTHER] | Game play start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":25,"error":"Game is not in waiting state and cannot be started"} -2025-09-15T15:02:56.024Z | [ERROR] | Start gameplay endpoint error | ReqId:teg470jjc | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:111:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:61:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:28)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T15:02:56.028Z | [REQUEST] | Request completed | ReqId:teg470jjc | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:500 | Time:44ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-04-26-653Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-04-26-653Z.log deleted file mode 100644 index a21af985..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-04-26-653Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:04:26.653Z -# Max entries per file: 10000 - -2025-09-15T15:04:28.468Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:04:28.481Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:04:28.481Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:04:29.323Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:04:29.328Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:04:29.330Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:04:29.332Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-04-39-136Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-04-39-136Z.log deleted file mode 100644 index c54f7226..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-04-39-136Z.log +++ /dev/null @@ -1,46 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:04:39.136Z -# Max entries per file: 10000 - -2025-09-15T15:04:40.787Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:04:40.803Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:04:40.803Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:04:41.619Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:04:41.623Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:04:41.624Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:04:41.626Z | [STARTUP] | Redis client connected successfully -2025-09-15T15:04:46.727Z | [REQUEST] | Incoming request | ReqId:yvyeo0ik4 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 -2025-09-15T15:04:46.730Z | [REQUEST] | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | ReqId:yvyeo0ik4 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T15:04:46.738Z | [AUTH] | Authentication successful | ReqId:yvyeo0ik4 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T15:04:46.740Z | [REQUEST] | Start gameplay endpoint accessed | ReqId:yvyeo0ik4 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T15:04:46.742Z | [OTHER] | GameService.startGamePlay called | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T15:04:46.743Z | [OTHER] | Start game play input validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T15:04:46.745Z | [OTHER] | Starting game play | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58" -2025-09-15T15:04:46.754Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 8ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T15:04:46.762Z | [ERROR] | Failed to start game play | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:111:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:61:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:28)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T15:04:46.764Z | [OTHER] | Game start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":11} -2025-09-15T15:04:46.765Z | [ERROR] | GameService.startGamePlay failed | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:111:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:61:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:28)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T15:04:46.767Z | [OTHER] | Game play start failed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","executionTime":24,"error":"Game is not in waiting state and cannot be started"} -2025-09-15T15:04:46.769Z | [ERROR] | Start gameplay endpoint error | ReqId:yvyeo0ik4 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"name":"Error","message":"Game is not in waiting state and cannot be started","stack":"Error: Game is not in waiting state and cannot be started\n at StartGamePlayCommandHandler.validateGameCanStart (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:111:19)\n at StartGamePlayCommandHandler.handle (/app/src/Application/Game/commands/StartGamePlayCommandHandler.ts:61:18)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async GameService.startGamePlay (/app/src/Application/Game/GameService.ts:177:28)\n at async /app/src/Api/routers/gameRouter.ts:256:24"} -2025-09-15T15:04:46.771Z | [REQUEST] | Request completed | ReqId:yvyeo0ik4 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:409 | Time:44ms | UA:PostmanRuntime/7.45.0 -2025-09-15T15:05:14.722Z | [REQUEST] | Incoming request | ReqId:f3765wwty | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 -2025-09-15T15:05:14.724Z | [REQUEST] | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | ReqId:f3765wwty | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T15:05:14.727Z | [AUTH] | Authentication successful | ReqId:f3765wwty | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T15:05:14.729Z | [REQUEST] | Start gameplay endpoint accessed | ReqId:f3765wwty | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T15:05:14.730Z | [OTHER] | GameService.startGamePlay called | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T15:05:14.732Z | [OTHER] | Start game play input validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T15:05:14.734Z | [OTHER] | Starting game play | Meta:"gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, userId: ffa31617-2cf9-403e-ab9d-87eeec85ce58" -2025-09-15T15:05:14.748Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 13ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T15:05:14.749Z | [OTHER] | Game start validation passed | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"gameState":0,"isGameMaster":true} -2025-09-15T15:05:14.751Z | [OTHER] | Waiting for board generation for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"maxWaitTime":20,"pollInterval":500,"redisKey":"game_board_9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T15:05:14.754Z | [OTHER] | Board generation check for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"attempt":1,"hasData":true,"dataLength":5526,"waitTime":3} -2025-09-15T15:05:14.756Z | [OTHER] | Board data found for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"generationComplete":true,"hasError":false,"fieldsCount":100,"borderLength":100,"totalErrorRate":34.47} -2025-09-15T15:05:14.757Z | [OTHER] | Board generation completed for game 9e7ae048-8bc7-4d4b-b3aa-c173465bb003 | Meta:{"errorRate":34.47,"fieldCount":100,"borderLength":100,"waitTime":6} -2025-09-15T15:05:14.766Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 2ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, found: true"} -2025-09-15T15:05:14.768Z | [DATABASE] | Game update completed | Meta:{"query":"executionTime: 9ms, gameId: 9e7ae048-8bc7-4d4b-b3aa-c173465bb003, updated: true"} -2025-09-15T15:05:14.770Z | [OTHER] | Player positions initialized | Meta:{"playerCount":2,"turnOrders":[2,1],"playersData":[{"playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","position":0,"turnOrder":2},{"playerId":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","position":0,"turnOrder":1}]} -2025-09-15T15:05:14.773Z | [OTHER] | Game play initialized in Redis | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"turnSequence":["0c7bfa37-77c9-4c73-a7f7-ca4199055456","ffa31617-2cf9-403e-ab9d-87eeec85ce58"],"currentPlayer":"0c7bfa37-77c9-4c73-a7f7-ca4199055456","redisKey":"gameplay:9e7ae048-8bc7-4d4b-b3aa-c173465bb003"} -2025-09-15T15:05:14.775Z | [OTHER] | Game start notifications prepared | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"websocketRoom":"game_6BDKNI"} -2025-09-15T15:05:14.776Z | [OTHER] | Game play started successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"executionTime":43} -2025-09-15T15:05:14.778Z | [OTHER] | Game play started successfully | Meta:{"gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","gameCode":"6BDKNI","playerCount":2,"gameState":1,"executionTime":47} -2025-09-15T15:05:14.779Z | [REQUEST] | Game gameplay started successfully | ReqId:f3765wwty | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"9e7ae048-8bc7-4d4b-b3aa-c173465bb003","playerCount":2} -2025-09-15T15:05:14.781Z | [REQUEST] | Request completed | ReqId:f3765wwty | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/9e7ae048-8bc7-4d4b-b3aa-c173465bb003/start | Status:200 | Time:59ms | UA:PostmanRuntime/7.45.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-06-33-437Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-06-33-437Z.log deleted file mode 100644 index 6aedb70e..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-06-33-437Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:06:33.437Z -# Max entries per file: 10000 - -2025-09-15T15:06:35.332Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:06:35.347Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:06:35.347Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:06:36.253Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:06:36.258Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:06:36.260Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:06:36.263Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-10-03-401Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-10-03-401Z.log deleted file mode 100644 index 3d34ab81..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-10-03-401Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:10:03.401Z -# Max entries per file: 10000 - -2025-09-15T15:10:05.384Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:10:05.399Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:10:05.399Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:10:06.298Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:10:06.303Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:10:06.305Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:10:06.307Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-11-21-267Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-11-21-267Z.log deleted file mode 100644 index 37859b67..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-11-21-267Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:11:21.267Z -# Max entries per file: 10000 - -2025-09-15T15:11:23.252Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:11:23.265Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:11:23.265Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:11:24.111Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:11:24.115Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:11:24.117Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:11:24.119Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-11-33-854Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-11-33-854Z.log deleted file mode 100644 index 2ae68764..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-11-33-854Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:11:33.854Z -# Max entries per file: 10000 - -2025-09-15T15:11:35.564Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:11:35.578Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:11:35.578Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:11:36.405Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:11:36.409Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:11:36.410Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:11:36.412Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-13-47-367Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-13-47-367Z.log deleted file mode 100644 index 8d56b9f6..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-13-47-367Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:13:47.367Z -# Max entries per file: 10000 - -2025-09-15T15:13:49.173Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:13:49.188Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:13:49.188Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:13:50.002Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:13:50.006Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:13:50.007Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:13:50.009Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-14-03-510Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-14-03-510Z.log deleted file mode 100644 index 2b8726e7..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-14-03-510Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:14:03.510Z -# Max entries per file: 10000 - -2025-09-15T15:14:05.302Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:14:05.315Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:14:05.315Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:14:06.249Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:14:06.254Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:14:06.256Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:14:06.258Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-14-28-727Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-14-28-727Z.log deleted file mode 100644 index 31de825c..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-14-28-727Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:14:28.727Z -# Max entries per file: 10000 - -2025-09-15T15:14:30.461Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:14:30.474Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:14:30.474Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:14:31.306Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:14:31.311Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:14:31.313Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:14:31.315Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-18-53-560Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-18-53-560Z.log deleted file mode 100644 index 882f02b8..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-18-53-560Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:18:53.560Z -# Max entries per file: 10000 - -2025-09-15T15:18:55.531Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:18:55.544Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:18:55.544Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:18:56.484Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:18:56.489Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:18:56.490Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:18:56.493Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-19-05-527Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-19-05-527Z.log deleted file mode 100644 index 70fe0d4d..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-19-05-527Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:19:05.527Z -# Max entries per file: 10000 - -2025-09-15T15:19:07.382Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:19:07.394Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:19:07.394Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:19:08.276Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:19:08.280Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:19:08.282Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:19:08.284Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-19-57-880Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-19-57-880Z.log deleted file mode 100644 index d2bd8750..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T15-19-57-880Z.log +++ /dev/null @@ -1,112 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T15:19:57.880Z -# Max entries per file: 10000 - -2025-09-15T15:19:59.701Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T15:19:59.716Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T15:19:59.716Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T15:20:00.573Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T15:20:00.578Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T15:20:00.579Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T15:20:00.589Z | [REQUEST] | Incoming request | ReqId:vpy7nl5pr | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.45.0 -2025-09-15T15:20:00.591Z | [REQUEST] | POST /api/games/start | ReqId:vpy7nl5pr | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.45.0 -2025-09-15T15:20:00.594Z | [STARTUP] | Redis client connected successfully -2025-09-15T15:20:00.600Z | [AUTH] | Authentication successful | ReqId:vpy7nl5pr | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T15:20:00.602Z | [REQUEST] | Start game endpoint accessed | ReqId:vpy7nl5pr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.45.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgId":""} -2025-09-15T15:20:00.605Z | [REQUEST] | Request completed | ReqId:vpy7nl5pr | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:400 | Time:16ms | UA:PostmanRuntime/7.45.0 -2025-09-15T16:20:00.516Z | [DATABASE] | Inactive chats retrieved | Meta:{"query":"findInactiveChats(30min)","executionTime":19,"inactivityMinutes":30,"count":0,"cutoffDate":"2025-09-15T15:50:00.496Z"} -2025-09-15T16:20:00.521Z | [DATABASE] | Chat archive cleanup completed | Meta:{"query":"cleanup(28 days)","executionTime":4,"olderThanDays":28,"deleted":0,"cutoffDate":"2025-08-18T16:20:00.517Z"} -2025-09-15T16:20:00.525Z | [DATABASE] | Chats page retrieved successfully (including deleted) | Meta:{"executionTime":3,"from":0,"to":1000,"returned":0,"totalCount":0} -2025-09-15T16:20:00.527Z | [REQUEST] | Old message cleanup completed | Meta:{"cutoffDate":"2025-08-18T16:20:00.517Z","cleanupWeeks":4,"deletedArchives":0,"deletedChats":0,"note":"Cleanup completed using both ChatRepository and ChatArchiveRepository"} -2025-09-15T16:43:19.273Z | [REQUEST] | Incoming request | ReqId:gav2fa5s6 | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.46.0 -2025-09-15T16:43:19.275Z | [REQUEST] | POST /api/games/start | ReqId:gav2fa5s6 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.46.0 -2025-09-15T16:43:19.280Z | [AUTH] | Authentication successful | ReqId:gav2fa5s6 | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.46.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T16:43:19.282Z | [REQUEST] | Start game endpoint accessed | ReqId:gav2fa5s6 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.46.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgId":""} -2025-09-15T16:43:19.284Z | [REQUEST] | Request completed | ReqId:gav2fa5s6 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:400 | Time:11ms | UA:PostmanRuntime/7.46.0 -2025-09-15T16:45:27.252Z | [ERROR] | Unhandled error: Expected ',' or ']' after array element in JSON at position 21 | ReqId:4zuf0uf68 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.46.0 | Meta:{"stack":"SyntaxError: Expected ',' or ']' after array element in JSON at position 21\n at JSON.parse ()\n at parse (/app/node_modules/body-parser/lib/types/json.js:77:19)\n at /app/node_modules/body-parser/lib/read.js:123:18\n at AsyncResource.runInAsyncScope (node:async_hooks:206:9)\n at invokeCallback (/app/node_modules/raw-body/index.js:238:16)\n at done (/app/node_modules/raw-body/index.js:227:7)\n at IncomingMessage.onEnd (/app/node_modules/raw-body/index.js:287:7)\n at IncomingMessage.emit (node:events:524:28)\n at IncomingMessage.emit (node:domain:489:12)\n at endReadableNT (node:internal/streams/readable:1698:12)","name":"SyntaxError"} -2025-09-15T16:45:27.254Z | [ERROR] | Global error handler caught unhandled error | ReqId:1j43mrgq3 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.46.0 | Meta:{"name":"SyntaxError","message":"Expected ',' or ']' after array element in JSON at position 21","stack":"SyntaxError: Expected ',' or ']' after array element in JSON at position 21\n at JSON.parse ()\n at parse (/app/node_modules/body-parser/lib/types/json.js:77:19)\n at /app/node_modules/body-parser/lib/read.js:123:18\n at AsyncResource.runInAsyncScope (node:async_hooks:206:9)\n at invokeCallback (/app/node_modules/raw-body/index.js:238:16)\n at done (/app/node_modules/raw-body/index.js:227:7)\n at IncomingMessage.onEnd (/app/node_modules/raw-body/index.js:287:7)\n at IncomingMessage.emit (node:events:524:28)\n at IncomingMessage.emit (node:domain:489:12)\n at endReadableNT (node:internal/streams/readable:1698:12)"} -2025-09-15T16:45:40.823Z | [REQUEST] | Incoming request | ReqId:aq0mxjxe3 | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.46.0 -2025-09-15T16:45:40.824Z | [REQUEST] | POST /api/games/start | ReqId:aq0mxjxe3 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.46.0 -2025-09-15T16:45:40.827Z | [AUTH] | Authentication successful | ReqId:aq0mxjxe3 | IP:::ffff:172.20.0.1 | POST /api/games/start | UA:PostmanRuntime/7.46.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"orgId":""} -2025-09-15T16:45:40.829Z | [REQUEST] | Start game endpoint accessed | ReqId:aq0mxjxe3 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.46.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgId":"","deckCount":3,"maxplayers":2,"logintype":0} -2025-09-15T16:45:40.831Z | [OTHER] | GameService.startGame called | Meta:{"deckCount":3,"maxplayers":2,"logintype":0,"userid":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgid":""} -2025-09-15T16:45:40.833Z | [OTHER] | Start game input validation passed | Meta:{"deckCount":3,"maxplayers":2,"logintype":0} -2025-09-15T16:45:40.835Z | [OTHER] | Starting game creation | Meta:"deckCount: 3, maxPlayers: 2, loginType: 0" -2025-09-15T16:45:40.853Z | [OTHER] | Deck types validation passed | Meta:"foundTypes: [2, 1, 0]" -2025-09-15T16:45:40.855Z | [OTHER] | Created shuffled game deck | Meta:"type: 2, cardCount: 1, sourceDecks: 1" -2025-09-15T16:45:40.856Z | [OTHER] | Created shuffled game deck | Meta:"type: 1, cardCount: 1, sourceDecks: 1" -2025-09-15T16:45:40.858Z | [OTHER] | Created shuffled game deck | Meta:"type: 0, cardCount: 3, sourceDecks: 1" -2025-09-15T16:45:40.875Z | [DATABASE] | Game created | Meta:{"query":"executionTime: 16ms, gameId: 15b8df04-302a-496d-80f3-f667e1a7d7c5, gameCode: 1KTEV7"} -2025-09-15T16:45:40.879Z | [OTHER] | Game created in Redis | Meta:{"gameId":"15b8df04-302a-496d-80f3-f667e1a7d7c5","gameCode":"1KTEV7","hostId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","websocketRoom":"game_1KTEV7","redisKey":"game:15b8df04-302a-496d-80f3-f667e1a7d7c5"} -2025-09-15T16:45:40.881Z | [OTHER] | Triggering async board generation for game 15b8df04-302a-496d-80f3-f667e1a7d7c5 | Meta:{"positiveFieldCount":40,"negativeFieldCount":16,"luckFieldCount":10,"totalSpecialFields":66} -2025-09-15T16:45:40.883Z | [OTHER] | Starting board generation for game 15b8df04-302a-496d-80f3-f667e1a7d7c5 -2025-09-15T16:45:40.885Z | [OTHER] | Calculated step value for negative field at position 1 | Meta:{"targetField":8,"targetIndexInBorder":0,"startBorderIndex":0,"calculatedStepValue":-1,"fieldType":"negative"} -2025-09-15T16:45:40.887Z | [OTHER] | Calculated step value for negative field at position 2 | Meta:{"targetField":1,"targetIndexInBorder":2,"startBorderIndex":1,"calculatedStepValue":0,"fieldType":"negative"} -2025-09-15T16:45:40.888Z | [OTHER] | Calculated step value for positive field at position 6 | Meta:{"targetField":1,"targetIndexInBorder":2,"startBorderIndex":5,"calculatedStepValue":96,"fieldType":"positive"} -2025-09-15T16:45:40.889Z | [OTHER] | Calculated step value for negative field at position 7 | Meta:{"targetField":4,"targetIndexInBorder":6,"startBorderIndex":6,"calculatedStepValue":-1,"fieldType":"negative"} -2025-09-15T16:45:40.891Z | [OTHER] | Calculated step value for positive field at position 8 | Meta:{"targetField":10,"targetIndexInBorder":20,"startBorderIndex":7,"calculatedStepValue":12,"fieldType":"positive"} -2025-09-15T16:45:40.892Z | [OTHER] | Calculated step value for positive field at position 10 | Meta:{"targetField":1,"targetIndexInBorder":2,"startBorderIndex":9,"calculatedStepValue":92,"fieldType":"positive"} -2025-09-15T16:45:40.893Z | [OTHER] | Calculated step value for negative field at position 11 | Meta:{"targetField":10,"targetIndexInBorder":20,"startBorderIndex":10,"calculatedStepValue":9,"fieldType":"negative"} -2025-09-15T16:45:40.895Z | [OTHER] | Calculated step value for positive field at position 15 | Meta:{"targetField":11,"targetIndexInBorder":5,"startBorderIndex":14,"calculatedStepValue":90,"fieldType":"positive"} -2025-09-15T16:45:40.896Z | [OTHER] | Calculated step value for positive field at position 19 | Meta:{"targetField":16,"targetIndexInBorder":24,"startBorderIndex":18,"calculatedStepValue":5,"fieldType":"positive"} -2025-09-15T16:45:40.898Z | [OTHER] | Calculated step value for positive field at position 20 | Meta:{"targetField":18,"targetIndexInBorder":27,"startBorderIndex":19,"calculatedStepValue":7,"fieldType":"positive"} -2025-09-15T16:45:40.899Z | [OTHER] | Calculated step value for positive field at position 22 | Meta:{"targetField":6,"targetIndexInBorder":8,"startBorderIndex":21,"calculatedStepValue":86,"fieldType":"positive"} -2025-09-15T16:45:40.901Z | [OTHER] | Calculated step value for positive field at position 23 | Meta:{"targetField":16,"targetIndexInBorder":24,"startBorderIndex":22,"calculatedStepValue":1,"fieldType":"positive"} -2025-09-15T16:45:40.902Z | [OTHER] | Calculated step value for positive field at position 26 | Meta:{"targetField":16,"targetIndexInBorder":24,"startBorderIndex":25,"calculatedStepValue":98,"fieldType":"positive"} -2025-09-15T16:45:40.904Z | [OTHER] | Calculated step value for negative field at position 31 | Meta:{"targetField":16,"targetIndexInBorder":24,"startBorderIndex":30,"calculatedStepValue":-7,"fieldType":"negative"} -2025-09-15T16:45:40.905Z | [OTHER] | Calculated step value for positive field at position 32 | Meta:{"targetField":48,"targetIndexInBorder":37,"startBorderIndex":31,"calculatedStepValue":5,"fieldType":"positive"} -2025-09-15T16:45:40.907Z | [OTHER] | Calculated step value for positive field at position 33 | Meta:{"targetField":45,"targetIndexInBorder":39,"startBorderIndex":32,"calculatedStepValue":6,"fieldType":"positive"} -2025-09-15T16:45:40.908Z | [OTHER] | Calculated step value for positive field at position 36 | Meta:{"targetField":24,"targetIndexInBorder":35,"startBorderIndex":35,"calculatedStepValue":99,"fieldType":"positive"} -2025-09-15T16:45:40.909Z | [OTHER] | Calculated step value for negative field at position 37 | Meta:{"targetField":53,"targetIndexInBorder":44,"startBorderIndex":36,"calculatedStepValue":7,"fieldType":"negative"} -2025-09-15T16:45:40.911Z | [OTHER] | Calculated step value for positive field at position 38 | Meta:{"targetField":48,"targetIndexInBorder":37,"startBorderIndex":37,"calculatedStepValue":99,"fieldType":"positive"} -2025-09-15T16:45:40.912Z | [OTHER] | Calculated step value for positive field at position 39 | Meta:{"targetField":42,"targetIndexInBorder":48,"startBorderIndex":38,"calculatedStepValue":9,"fieldType":"positive"} -2025-09-15T16:45:40.914Z | [OTHER] | Calculated step value for negative field at position 41 | Meta:{"targetField":35,"targetIndexInBorder":29,"startBorderIndex":40,"calculatedStepValue":-12,"fieldType":"negative"} -2025-09-15T16:45:40.915Z | [OTHER] | Calculated step value for negative field at position 45 | Meta:{"targetField":48,"targetIndexInBorder":37,"startBorderIndex":44,"calculatedStepValue":-8,"fieldType":"negative"} -2025-09-15T16:45:40.917Z | [OTHER] | Calculated step value for positive field at position 48 | Meta:{"targetField":46,"targetIndexInBorder":47,"startBorderIndex":47,"calculatedStepValue":99,"fieldType":"positive"} -2025-09-15T16:45:40.918Z | [OTHER] | Calculated step value for positive field at position 50 | Meta:{"targetField":35,"targetIndexInBorder":29,"startBorderIndex":49,"calculatedStepValue":79,"fieldType":"positive"} -2025-09-15T16:45:40.920Z | [OTHER] | Calculated step value for positive field at position 52 | Meta:{"targetField":51,"targetIndexInBorder":51,"startBorderIndex":51,"calculatedStepValue":99,"fieldType":"positive"} -2025-09-15T16:45:40.921Z | [OTHER] | Calculated step value for positive field at position 56 | Meta:{"targetField":37,"targetIndexInBorder":55,"startBorderIndex":55,"calculatedStepValue":99,"fieldType":"positive"} -2025-09-15T16:45:40.923Z | [OTHER] | Calculated step value for negative field at position 61 | Meta:{"targetField":46,"targetIndexInBorder":47,"startBorderIndex":60,"calculatedStepValue":-14,"fieldType":"negative"} -2025-09-15T16:45:40.924Z | [OTHER] | Calculated step value for positive field at position 62 | Meta:{"targetField":65,"targetIndexInBorder":66,"startBorderIndex":61,"calculatedStepValue":4,"fieldType":"positive"} -2025-09-15T16:45:40.926Z | [OTHER] | Calculated step value for negative field at position 65 | Meta:{"targetField":84,"targetIndexInBorder":68,"startBorderIndex":64,"calculatedStepValue":3,"fieldType":"negative"} -2025-09-15T16:45:40.927Z | [OTHER] | Calculated step value for negative field at position 67 | Meta:{"targetField":65,"targetIndexInBorder":66,"startBorderIndex":66,"calculatedStepValue":-1,"fieldType":"negative"} -2025-09-15T16:45:40.928Z | [OTHER] | Calculated step value for positive field at position 70 | Meta:{"targetField":75,"targetIndexInBorder":63,"startBorderIndex":69,"calculatedStepValue":93,"fieldType":"positive"} -2025-09-15T16:45:40.930Z | [OTHER] | Calculated step value for negative field at position 71 | Meta:{"targetField":70,"targetIndexInBorder":76,"startBorderIndex":70,"calculatedStepValue":5,"fieldType":"negative"} -2025-09-15T16:45:40.931Z | [OTHER] | Calculated step value for negative field at position 72 | Meta:{"targetField":84,"targetIndexInBorder":68,"startBorderIndex":71,"calculatedStepValue":-4,"fieldType":"negative"} -2025-09-15T16:45:40.933Z | [OTHER] | Calculated step value for positive field at position 73 | Meta:{"targetField":70,"targetIndexInBorder":76,"startBorderIndex":72,"calculatedStepValue":3,"fieldType":"positive"} -2025-09-15T16:45:40.934Z | [OTHER] | Calculated step value for positive field at position 78 | Meta:{"targetField":95,"targetIndexInBorder":84,"startBorderIndex":77,"calculatedStepValue":6,"fieldType":"positive"} -2025-09-15T16:45:40.935Z | [OTHER] | Calculated step value for positive field at position 85 | Meta:{"targetField":91,"targetIndexInBorder":83,"startBorderIndex":84,"calculatedStepValue":98,"fieldType":"positive"} -2025-09-15T16:45:40.937Z | [OTHER] | Calculated step value for positive field at position 86 | Meta:{"targetField":79,"targetIndexInBorder":82,"startBorderIndex":85,"calculatedStepValue":96,"fieldType":"positive"} -2025-09-15T16:45:40.939Z | [OTHER] | Calculated step value for positive field at position 92 | Meta:{"targetField":99,"targetIndexInBorder":89,"startBorderIndex":91,"calculatedStepValue":97,"fieldType":"positive"} -2025-09-15T16:45:40.940Z | [OTHER] | Calculated step value for positive field at position 94 | Meta:{"targetField":77,"targetIndexInBorder":96,"startBorderIndex":93,"calculatedStepValue":2,"fieldType":"positive"} -2025-09-15T16:45:40.941Z | [OTHER] | Calculated step value for positive field at position 95 | Meta:{"targetField":100,"targetIndexInBorder":90,"startBorderIndex":94,"calculatedStepValue":95,"fieldType":"positive"} -2025-09-15T16:45:40.943Z | [OTHER] | Calculated step value for negative field at position 97 | Meta:{"targetField":95,"targetIndexInBorder":84,"startBorderIndex":96,"calculatedStepValue":-13,"fieldType":"negative"} -2025-09-15T16:45:40.944Z | [OTHER] | Calculated step value for negative field at position 99 | Meta:{"targetField":94,"targetIndexInBorder":98,"startBorderIndex":98,"calculatedStepValue":-1,"fieldType":"negative"} -2025-09-15T16:45:40.946Z | [OTHER] | Calculated step value for positive field at position 100 | Meta:{"targetField":100,"targetIndexInBorder":90,"startBorderIndex":99,"calculatedStepValue":90,"fieldType":"positive"} -2025-09-15T16:45:40.948Z | [OTHER] | Board generation attempt completed | Meta:{"totalFields":100,"specialFields":51,"positiveFields":28,"negativeFields":15,"luckFields":8,"errorRate":13.18,"targetCount":258} -2025-09-15T16:45:40.950Z | [OTHER] | Board generation successful on attempt 1. Error rate: 13.18% -2025-09-15T16:45:40.951Z | [OTHER] | Game created successfully | Meta:"gameId: 15b8df04-302a-496d-80f3-f667e1a7d7c5, gameCode: 1KTEV7, executionTime: 116ms" -2025-09-15T16:45:40.953Z | [OTHER] | Game started successfully | Meta:{"gameId":"15b8df04-302a-496d-80f3-f667e1a7d7c5","gameCode":"1KTEV7","deckCount":3,"totalCards":5,"executionTime":122} -2025-09-15T16:45:40.954Z | [REQUEST] | Game started successfully | ReqId:aq0mxjxe3 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | UA:PostmanRuntime/7.46.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"15b8df04-302a-496d-80f3-f667e1a7d7c5","gameCode":"1KTEV7","deckCount":3,"totalCards":5} -2025-09-15T16:45:40.956Z | [REQUEST] | Request completed | ReqId:aq0mxjxe3 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/start | Status:200 | Time:133ms | UA:PostmanRuntime/7.46.0 -2025-09-15T16:45:40.958Z | [OTHER] | Board generation completed for game 15b8df04-302a-496d-80f3-f667e1a7d7c5 in 74ms. Error rate: 13.18% -2025-09-15T16:49:12.785Z | [REQUEST] | Incoming request | ReqId:sr0zkbk63 | IP:::ffff:172.20.0.1 | POST /api/games/join | UA:PostmanRuntime/7.46.0 -2025-09-15T16:49:12.787Z | [REQUEST] | POST /api/games/join | ReqId:sr0zkbk63 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.46.0 -2025-09-15T16:49:12.790Z | [AUTH] | Optional auth - user authenticated | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","authLevel":1,"userStatus":5,"orgId":""} -2025-09-15T16:49:12.792Z | [REQUEST] | Join game endpoint accessed | ReqId:sr0zkbk63 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.46.0 | Meta:{"gameCode":"1KTEV7","hasAuth":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","orgId":null} -2025-09-15T16:49:12.805Z | [DATABASE] | Game findByGameCode completed | Meta:{"query":"executionTime: 11ms, gameCode: 1KTEV7, found: true"} -2025-09-15T16:49:12.810Z | [DATABASE] | User findById query completed | Meta:{"query":"findOneBy({ id: ffa31617-2cf9-403e-ab9d-87eeec85ce58 })","executionTime":3,"found":true,"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T16:49:12.812Z | [REQUEST] | Using logged-in user's username as playerName | ReqId:sr0zkbk63 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.46.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","username":"TesztAdmin"} -2025-09-15T16:49:12.814Z | [OTHER] | GameService.joinGame called | Meta:{"gameCode":"1KTEV7","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","playerName":"TesztAdmin","orgId":null,"loginType":0} -2025-09-15T16:49:12.815Z | [OTHER] | Join game input validation passed | Meta:{"gameCode":"1KTEV7","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","loginType":0} -2025-09-15T16:49:12.817Z | [OTHER] | Joining game | Meta:"gameCode: 1KTEV7, playerId: ffa31617-2cf9-403e-ab9d-87eeec85ce58, loginType: 0" -2025-09-15T16:49:12.823Z | [DATABASE] | Game findByGameCode completed | Meta:{"query":"executionTime: 4ms, gameCode: 1KTEV7, found: true"} -2025-09-15T16:49:12.824Z | [OTHER] | Game join validation passed | Meta:{"gameId":"15b8df04-302a-496d-80f3-f667e1a7d7c5","gameCode":"1KTEV7","currentPlayers":0,"maxPlayers":2,"gameState":0,"loginType":0,"playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","isAuthenticated":true} -2025-09-15T16:49:12.828Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 2ms, gameId: 15b8df04-302a-496d-80f3-f667e1a7d7c5, found: true"} -2025-09-15T16:49:12.835Z | [DATABASE] | Game findById completed | Meta:{"query":"executionTime: 2ms, gameId: 15b8df04-302a-496d-80f3-f667e1a7d7c5, found: true"} -2025-09-15T16:49:12.837Z | [DATABASE] | Game update completed | Meta:{"query":"executionTime: 8ms, gameId: 15b8df04-302a-496d-80f3-f667e1a7d7c5, updated: true"} -2025-09-15T16:49:12.839Z | [DATABASE] | Player added to game | Meta:{"query":"executionTime: 13ms, gameId: 15b8df04-302a-496d-80f3-f667e1a7d7c5, playerId: ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T16:49:12.843Z | [OTHER] | Game data updated in Redis | Meta:{"gameId":"15b8df04-302a-496d-80f3-f667e1a7d7c5","gameCode":"1KTEV7","redisKey":"game:15b8df04-302a-496d-80f3-f667e1a7d7c5","playerCount":1,"websocketRoom":"game_1KTEV7","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58"} -2025-09-15T16:49:12.845Z | [OTHER] | Player joined game successfully | Meta:{"gameId":"15b8df04-302a-496d-80f3-f667e1a7d7c5","gameCode":"1KTEV7","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","playerCount":1,"maxPlayers":2,"loginType":0,"executionTime":28} -2025-09-15T16:49:12.846Z | [OTHER] | Player joined game successfully | Meta:{"gameId":"15b8df04-302a-496d-80f3-f667e1a7d7c5","gameCode":"1KTEV7","playerId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","playerCount":1,"maxPlayers":2,"executionTime":33} -2025-09-15T16:49:12.848Z | [REQUEST] | Player joined game successfully | ReqId:sr0zkbk63 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | UA:PostmanRuntime/7.46.0 | Meta:{"userId":"ffa31617-2cf9-403e-ab9d-87eeec85ce58","gameId":"15b8df04-302a-496d-80f3-f667e1a7d7c5","gameCode":"1KTEV7","gameType":"PUBLIC","playerCount":1,"maxPlayers":2,"playerName":"TesztAdmin"} -2025-09-15T16:49:12.850Z | [REQUEST] | Request completed | ReqId:sr0zkbk63 | UserId:ffa31617-2cf9-403e-ab9d-87eeec85ce58 | IP:::ffff:172.20.0.1 | POST /api/games/join | Status:200 | Time:65ms | UA:PostmanRuntime/7.46.0 diff --git a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T16-59-16-198Z.log b/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T16-59-16-198Z.log deleted file mode 100644 index a85912ce..00000000 --- a/SerpentRace_Backend/logs/2025-09/serpentrace-2025-09-15T16-59-16-198Z.log +++ /dev/null @@ -1,10 +0,0 @@ -# SerpentRace Backend Logs -# Started: 2025-09-15T16:59:16.198Z -# Max entries per file: 10000 - -2025-09-15T16:59:18.173Z | [STARTUP] | SerpentRace Backend starting up | Meta:{"environment":"development","port":"3000","nodeVersion":"v20.19.5","chatInactivityTimeout":"30"} -2025-09-15T16:59:18.187Z | [STARTUP] | Server started successfully | Meta:{"port":"3000","environment":"development","timestamp":"2025-09-15T16:59:18.187Z","endpoints":{"health":"/health","swagger":"/api-docs","users":"/api/users","organizations":"/api/organizations","decks":"/api/decks","chats":"/api/chats"},"websocket":{"enabled":true,"chatInactivityTimeout":"30 minutes"}} -2025-09-15T16:59:19.056Z | [CONNECTION] | Database connection established | Meta:{"connectionType":"postgresql","status":"success","type":"postgres","host":"postgres","database":"serpentrace"} -2025-09-15T16:59:19.060Z | [REQUEST] | WebSocket service initialized | Meta:{"chatTimeoutMinutes":30} -2025-09-15T16:59:19.062Z | [STARTUP] | WebSocket service initialized | Meta:{"chatInactivityTimeout":"30"} -2025-09-15T16:59:19.064Z | [STARTUP] | Redis client connected successfully diff --git a/SerpentRace_Backend/src/Api/routers/tests.ts b/SerpentRace_Backend/src/Api/routers/tests.ts new file mode 100644 index 00000000..41fdf626 --- /dev/null +++ b/SerpentRace_Backend/src/Api/routers/tests.ts @@ -0,0 +1,70 @@ +import e, { Router } from 'express'; +import { container, DIContainer } from '../../Application/Services/DIContainer'; +import { ErrorResponseService } from '../../Application/Services/ErrorResponseService'; +import { GeneralSearchService } from '../../Application/Search/Generalsearch'; +import { logRequest, logError, logAuth, logWarning, logOther } from '../../Application/Services/Logger'; +import { GenerateBoardCommand } from '../../Application/Game/commands/GenerateBoardCommand'; + +const router = Router(); + +// Create search service that isn't in the container yet +const searchService = new GeneralSearchService(container.userRepository, container.organizationRepository, container.deckRepository); + +//function to test the search service +async function triggerAsyncBoardGeneration(gameId: string): Promise { + try { + // Calculate default field counts based on game configuration + // For now, use reasonable defaults - this should be configurable by host in the future + const maxSpecialFieldsPercentage = parseInt(process.env.MAX_SPECIAL_FIELDS_PERCENTAGE || '67'); + const maxSpecialFields = Math.floor((100 * maxSpecialFieldsPercentage) / 100); + + // Default distribution: 60% positive, 25% negative, 15% luck + const positiveFieldCount = Math.floor(maxSpecialFields * 0.6); + const negativeFieldCount = Math.floor(maxSpecialFields * 0.25); + const luckFieldCount = Math.floor(maxSpecialFields * 0.15); + + const command: GenerateBoardCommand = { + gameId, + positiveFieldCount, + negativeFieldCount, + luckFieldCount + }; + + logOther(`Triggering async board generation for game ${gameId}`, { + positiveFieldCount, + negativeFieldCount, + luckFieldCount, + totalSpecialFields: positiveFieldCount + negativeFieldCount + luckFieldCount + }); + + // Execute board generation in background + await DIContainer.getInstance().generateBoardCommandHandler.execute(command); + return true; + + } catch (error) { + logError(`Async board generation failed for game ${gameId}`, error as Error); + // Don't propagate error - board generation failure shouldn't affect game creation + return false; + } + } + + +// Game board generation endpoint +router.post('/gameBoardGeneration', async (req, res) => { + try { + logRequest('Game board generation endpoint accessed', req, res); + + const result = await triggerAsyncBoardGeneration("######-#####-#####-######"); + + if (result) { + logOther('Game board generation triggered successfully', result); + return res.json({ message: 'Game board generation triggered successfully' }); + } else { + throw new Error('Game board generation failed to trigger'); + } + } catch (error : any) { + logError('Error in game board generation endpoint', error); + return ErrorResponseService.sendInternalServerError(res); + } +}); +export default router; \ No newline at end of file diff --git a/SerpentRace_Backend/src/Api/routers/userRouter.ts b/SerpentRace_Backend/src/Api/routers/userRouter.ts index 740e90af..0ff5fe98 100644 --- a/SerpentRace_Backend/src/Api/routers/userRouter.ts +++ b/SerpentRace_Backend/src/Api/routers/userRouter.ts @@ -198,4 +198,116 @@ userRouter.post('/logout', authRequired, async (req, res) => { return ErrorResponseService.sendInternalServerError(res); } }); + +// Email verification endpoint +userRouter.get('/verify-email/:token', async (req, res) => { + try { + const { token } = req.params; + + logRequest('Email verification endpoint accessed', req, res, { + tokenPrefix: token.substring(0, 8) + '...' + }); + + if (!token) { + return ErrorResponseService.sendBadRequest(res, 'Verification token is required'); + } + + const result = await container.verifyEmailCommandHandler.execute({ token }); + + if (result) { + logAuth('Email verification successful', undefined, { tokenPrefix: token.substring(0, 8) + '...' }, req, res); + res.json({ success: true, message: 'Email verified successfully' }); + } else { + throw new Error('Email verification failed'); + } + + } catch (error) { + logError('Email verification endpoint error', error as Error, req, res); + + if (error instanceof Error) { + if (error.message.includes('Invalid') || error.message.includes('expired')) { + return ErrorResponseService.sendBadRequest(res, 'Invalid or expired verification token'); + } + } + + return ErrorResponseService.sendInternalServerError(res); + } +}); + +// Forgot password request endpoint +userRouter.post('/forgot-password', + ValidationMiddleware.combine([ + ValidationMiddleware.validateRequiredFields(['email']), + ValidationMiddleware.validateEmailFormat(['email']) + ]), + async (req, res) => { + try { + const { email } = req.body; + + logRequest('Forgot password endpoint accessed', req, res, { email }); + + const result = await container.requestPasswordResetCommandHandler.execute({ email }); + + if (result) { + logAuth('Password reset request successful', undefined, { email }, req, res); + res.json({ + success: true, + message: 'If an account with this email exists, a password reset link has been sent' + }); + } else { + throw new Error('Password reset request failed'); + } + + } catch (error) { + logError('Forgot password endpoint error', error as Error, req, res); + + // Always return success for security (don't reveal if email exists) + res.json({ + success: true, + message: 'If an account with this email exists, a password reset link has been sent' + }); + } +}); + +// Reset password endpoint +userRouter.post('/reset-password', + ValidationMiddleware.combine([ + ValidationMiddleware.validateRequiredFields(['token', 'newPassword']), + ValidationMiddleware.validateStringLength({ + newPassword: { min: 6, max: 100 } + }) + ]), + async (req, res) => { + try { + const { token, newPassword } = req.body; + + logRequest('Reset password endpoint accessed', req, res, { + tokenPrefix: token.substring(0, 8) + '...' + }); + + const result = await container.resetPasswordCommandHandler.execute({ token, newPassword }); + + if (result) { + logAuth('Password reset successful', undefined, { tokenPrefix: token.substring(0, 8) + '...' }, req, res); + res.json({ success: true, message: 'Password reset successfully' }); + } else { + throw new Error('Password reset failed'); + } + + } catch (error) { + logError('Reset password endpoint error', error as Error, req, res); + + if (error instanceof Error) { + if (error.message.includes('Invalid') || error.message.includes('expired')) { + return ErrorResponseService.sendBadRequest(res, 'Invalid or expired reset token'); + } + if (error.message.includes('Password validation')) { + return ErrorResponseService.sendBadRequest(res, error.message); + } + } + + return ErrorResponseService.sendInternalServerError(res); + } +}); + export default userRouter; diff --git a/SerpentRace_Backend/src/Api/swagger/swaggerDefinitions.ts b/SerpentRace_Backend/src/Api/swagger/swaggerDefinitions.ts index 832d6231..0a2ca58f 100644 --- a/SerpentRace_Backend/src/Api/swagger/swaggerDefinitions.ts +++ b/SerpentRace_Backend/src/Api/swagger/swaggerDefinitions.ts @@ -100,6 +100,37 @@ * type: string * format: email * + * ForgotPasswordRequest: + * type: object + * required: + * - email + * properties: + * email: + * type: string + * format: email + * + * ResetPasswordRequest: + * type: object + * required: + * - token + * - newPassword + * properties: + * token: + * type: string + * newPassword: + * type: string + * format: password + * minLength: 6 + * maxLength: 100 + * + * AuthSuccessResponse: + * type: object + * properties: + * success: + * type: boolean + * message: + * type: string + * * Organization: * type: object * properties: diff --git a/SerpentRace_Backend/src/Api/swagger/swaggerDefinitionsFixed.ts b/SerpentRace_Backend/src/Api/swagger/swaggerDefinitionsFixed.ts index edf95188..1f019805 100644 --- a/SerpentRace_Backend/src/Api/swagger/swaggerDefinitionsFixed.ts +++ b/SerpentRace_Backend/src/Api/swagger/swaggerDefinitionsFixed.ts @@ -100,6 +100,37 @@ * type: string * format: email * + * ForgotPasswordRequest: + * type: object + * required: + * - email + * properties: + * email: + * type: string + * format: email + * + * ResetPasswordRequest: + * type: object + * required: + * - token + * - newPassword + * properties: + * token: + * type: string + * newPassword: + * type: string + * format: password + * minLength: 6 + * maxLength: 100 + * + * AuthSuccessResponse: + * type: object + * properties: + * success: + * type: boolean + * message: + * type: string + * * Organization: * type: object * properties: @@ -427,6 +458,85 @@ * description: Unauthorized */ +/** + * @swagger + * /api/users/verify-email/{token}: + * get: + * tags: [Users] + * summary: Verify email address + * description: Verify user's email address using verification token + * parameters: + * - name: token + * in: path + * required: true + * schema: + * type: string + * description: Email verification token + * responses: + * 200: + * description: Email verified successfully + * content: + * application/json: + * schema: + * $ref: '#/components/schemas/AuthSuccessResponse' + * 400: + * description: Invalid or expired verification token + * 500: + * description: Internal server error + */ + +/** + * @swagger + * /api/users/forgot-password: + * post: + * tags: [Users] + * summary: Request password reset + * description: Send password reset email to user + * requestBody: + * required: true + * content: + * application/json: + * schema: + * $ref: '#/components/schemas/ForgotPasswordRequest' + * responses: + * 200: + * description: Password reset email sent (if email exists) + * content: + * application/json: + * schema: + * $ref: '#/components/schemas/AuthSuccessResponse' + * 400: + * description: Validation error + * 500: + * description: Internal server error + */ + +/** + * @swagger + * /api/users/reset-password: + * post: + * tags: [Users] + * summary: Reset password + * description: Reset user password using reset token + * requestBody: + * required: true + * content: + * application/json: + * schema: + * $ref: '#/components/schemas/ResetPasswordRequest' + * responses: + * 200: + * description: Password reset successfully + * content: + * application/json: + * schema: + * $ref: '#/components/schemas/AuthSuccessResponse' + * 400: + * description: Invalid token or password validation failed + * 500: + * description: Internal server error + */ + /** * @swagger * /api/organizations/search: diff --git a/SerpentRace_Backend/src/Application/Services/GameTokenService.ts b/SerpentRace_Backend/src/Application/Services/GameTokenService.ts new file mode 100644 index 00000000..c4fca106 --- /dev/null +++ b/SerpentRace_Backend/src/Application/Services/GameTokenService.ts @@ -0,0 +1,205 @@ +import jwt, { SignOptions } from 'jsonwebtoken'; +import { Request } from 'express'; + +export interface GameTokenPayload { + gameId: string; + gameCode: string; + playerName: string; + isAuthenticated: boolean; + userId?: string; // Optional - only for authenticated players + tokenType: 'game_session'; + iat?: number; + exp?: number; +} + +export class GameTokenService { + private readonly secretKey: string; + private readonly gameTokenExpiry: number; + + constructor() { + this.secretKey = process.env.JWT_SECRET || 'your-secret-key'; + + // Game tokens expire after 24 hours (or configured duration) + // This should be longer than typical game duration + this.gameTokenExpiry = parseInt(process.env.GAME_TOKEN_EXPIRY || '86400'); // 24 hours default + + if (process.env.NODE_ENV === 'production' && (!process.env.JWT_SECRET || process.env.JWT_SECRET === 'your-secret-key')) { + throw new Error('JWT_SECRET environment variable must be set in production'); + } + } + + /** + * Create a game session token for a player + * @param gameId - The database ID of the game + * @param gameCode - The public game code (e.g., ABC123) + * @param playerName - The player's name in the game + * @param userId - Optional user ID for authenticated players + * @returns Game session JWT token + */ + createGameToken(gameId: string, gameCode: string, playerName: string, userId?: string): string { + const now = Math.floor(Date.now() / 1000); + + const payload: GameTokenPayload = { + gameId, + gameCode, + playerName, + isAuthenticated: !!userId, + userId, + tokenType: 'game_session', + iat: now, + exp: now + this.gameTokenExpiry + }; + + const options: SignOptions = {}; + const token = jwt.sign(payload, this.secretKey, options); + + return token; + } + + /** + * Verify and decode a game session token + * @param token - The game session JWT token + * @returns Decoded payload or null if invalid + */ + verifyGameToken(token: string): GameTokenPayload | null { + try { + const decoded = jwt.verify(token, this.secretKey) as GameTokenPayload; + + // Verify it's actually a game token + if (decoded.tokenType !== 'game_session') { + return null; + } + + return decoded; + } catch (error) { + return null; + } + } + + /** + * Extract game token from request headers or query params + * @param req - Express request object + * @returns Game token string or null + */ + extractGameTokenFromRequest(req: Request): string | null { + // Check Authorization header + const authHeader = req.headers.authorization; + if (authHeader && authHeader.startsWith('Bearer ')) { + return authHeader.substring(7); + } + + // Check query parameter (for WebSocket handshake) + if (req.query && req.query.gameToken && typeof req.query.gameToken === 'string') { + return req.query.gameToken; + } + + // Check game_token cookie + if (req.cookies && req.cookies.game_token) { + return req.cookies.game_token; + } + + return null; + } + + /** + * Verify game token from request and return payload + * @param req - Express request object + * @returns Decoded game token payload or null + */ + verifyGameTokenFromRequest(req: Request): GameTokenPayload | null { + const token = this.extractGameTokenFromRequest(req); + if (!token) { + return null; + } + + return this.verifyGameToken(token); + } + + /** + * Check if a game token is valid for a specific game + * @param token - The game session token + * @param gameCode - The game code to validate against + * @param playerName - Optional player name to validate + * @returns True if token is valid for the game + */ + isValidForGame(token: string, gameCode: string, playerName?: string): boolean { + const payload = this.verifyGameToken(token); + if (!payload) { + return false; + } + + // Check game code matches + if (payload.gameCode !== gameCode) { + return false; + } + + // Check player name if provided + if (playerName && payload.playerName !== playerName) { + return false; + } + + return true; + } + + /** + * Refresh a game token (extend expiry) + * @param currentToken - The current game token + * @returns New token with extended expiry or null if invalid + */ + refreshGameToken(currentToken: string): string | null { + const payload = this.verifyGameToken(currentToken); + if (!payload) { + return null; + } + + // Create new token with same data but fresh expiry + return this.createGameToken( + payload.gameId, + payload.gameCode, + payload.playerName, + payload.userId + ); + } + + /** + * Get remaining time before token expires + * @param token - The game session token + * @returns Seconds until expiry or -1 if invalid/expired + */ + getTimeUntilExpiry(token: string): number { + const payload = this.verifyGameToken(token); + if (!payload || !payload.exp) { + return -1; + } + + const now = Math.floor(Date.now() / 1000); + const remaining = payload.exp - now; + + return remaining > 0 ? remaining : -1; + } + + /** + * Create a game token response object for API responses + * @param gameId - The database ID of the game + * @param gameCode - The public game code + * @param playerName - The player's name + * @param userId - Optional user ID for authenticated players + * @returns Object with token and metadata + */ + createGameTokenResponse(gameId: string, gameCode: string, playerName: string, userId?: string) { + const token = this.createGameToken(gameId, gameCode, playerName, userId); + const expiresIn = this.gameTokenExpiry; + + return { + gameToken: token, + gameCode, + playerName, + isAuthenticated: !!userId, + expiresIn, + expiresAt: new Date(Date.now() + expiresIn * 1000).toISOString(), + tokenType: 'game_session' + }; + } +} + +export default GameTokenService; \ No newline at end of file diff --git a/SerpentRace_Backend/src/Application/Services/GameWebSocketService.ts b/SerpentRace_Backend/src/Application/Services/GameWebSocketService.ts new file mode 100644 index 00000000..72b45d31 --- /dev/null +++ b/SerpentRace_Backend/src/Application/Services/GameWebSocketService.ts @@ -0,0 +1,1050 @@ +import { Server as SocketIOServer, Socket } from 'socket.io'; +import { GameTokenService, GameTokenPayload } from './GameTokenService'; +import { GameRepository } from '../../Infrastructure/Repository/GameRepository'; +import { UserRepository } from '../../Infrastructure/Repository/UserRepository'; +import { GameAggregate, GameState, LoginType } from '../../Domain/Game/GameAggregate'; +import { logAuth, logError, logOther, logWarning } from './Logger'; +import { RedisService } from './RedisService'; + +interface AuthenticatedSocket extends Socket { + userId?: string; + gameCode?: string; + playerName?: string; + isAuthenticated?: boolean; +} + +interface JoinGameData { + gameToken: string; // Required game session token +} + +interface LeaveGameData { + gameCode: string; +} + +interface GameActionData { + gameCode: string; + action: 'roll-dice' | 'move' | 'use-field' | 'end-turn'; + data?: any; +} + +interface DiceRollData { + gameCode: string; + diceValue: number; // Value from frontend (1-6) +} + +interface PlayerPosition { + playerId: string; + playerName: string; + boardPosition: number; + turnOrder: number; +} + +interface GameStateUpdateData { + gameCode: string; + gameState: any; + currentPlayer?: string; + turnNumber?: number; +} + +interface GameChatData { + gameCode: string; + message: string; +} + +export class GameWebSocketService { + private io: SocketIOServer; + private gameTokenService: GameTokenService; + private gameRepository: GameRepository; + private userRepository: UserRepository; + private redisService: RedisService; + + constructor( + io: SocketIOServer, + gameRepository: GameRepository, + userRepository: UserRepository, + redisService: RedisService + ) { + this.io = io; + this.gameTokenService = new GameTokenService(); + this.gameRepository = gameRepository; + this.userRepository = userRepository; + this.redisService = redisService; + + this.setupGameNamespace(); + } + + private setupGameNamespace(): void { + // Create a namespace specifically for game events + const gameNamespace = this.io.of('/game'); + + gameNamespace.on('connection', (socket: AuthenticatedSocket) => { + logOther(`New game socket connection: ${socket.id}`); + + // For game sockets, authentication is optional (public games) + // Players will authenticate when joining a specific game + this.setupGameEventHandlers(socket); + }); + } + + private setupGameEventHandlers(socket: AuthenticatedSocket): void { + // Join game room + socket.on('game:join', async (data: JoinGameData) => { + await this.handleJoinGame(socket, data); + }); + + // Leave game room + socket.on('game:leave', async (data: LeaveGameData) => { + await this.handleLeaveGame(socket, data); + }); + + // Game actions (dice roll, move, etc.) + socket.on('game:action', async (data: GameActionData) => { + await this.handleGameAction(socket, data); + }); + + // Game chat within a specific game + socket.on('game:chat', async (data: GameChatData) => { + await this.handleGameChat(socket, data); + }); + + // Player ready status + socket.on('game:ready', async (data: { gameCode: string; ready: boolean }) => { + await this.handlePlayerReady(socket, data); + }); + + // Gamemaster approve player (private games only) + socket.on('game:approve-player', async (data: { gameCode: string; playerName: string }) => { + await this.handleApprovePlayer(socket, data); + }); + + // Gamemaster reject player (private games only) + socket.on('game:reject-player', async (data: { gameCode: string; playerName: string; reason?: string }) => { + await this.handleRejectPlayer(socket, data); + }); + + // Player joining after approval (private games) + socket.on('game:join-approved', async (data: JoinGameData) => { + await this.handleJoinApproved(socket, data); + }); + + // Dice roll from frontend + socket.on('game:dice-roll', async (data: DiceRollData) => { + await this.handleDiceRoll(socket, data); + }); + + // Disconnect handling + socket.on('disconnect', () => { + this.handleDisconnect(socket); + }); + } + + private async handleJoinGame(socket: AuthenticatedSocket, data: JoinGameData): Promise { + try { + const { gameToken } = data; + + if (!gameToken) { + socket.emit('game:error', { message: 'Game token is required' }); + return; + } + + // Verify the game token + const gameTokenPayload = this.gameTokenService.verifyGameToken(gameToken); + if (!gameTokenPayload) { + socket.emit('game:error', { message: 'Invalid or expired game token' }); + return; + } + + const { gameId, gameCode, playerName, isAuthenticated, userId } = gameTokenPayload; + + // Validate game still exists + const game = await this.gameRepository.findByGameCode(gameCode); + if (!game || game.id !== gameId) { + socket.emit('game:error', { message: 'Game not found or token invalid' }); + return; + } + + // Set socket properties from game token + socket.gameCode = gameCode; + socket.playerName = playerName; + socket.isAuthenticated = isAuthenticated; + socket.userId = userId; + + // Check if this is a private game and player needs gamemaster approval + const isGamemaster = game.createdby === userId; + const needsApproval = game.logintype === LoginType.PRIVATE && !isGamemaster; + + // Generate dynamic room names (needed for both approval and direct join) + const gameRoomName = `game_${gameCode}`; + const playerRoomName = `game_${gameCode}:${playerName}`; + + if (needsApproval) { + // For private games, non-gamemaster players need approval + // Add to pending players list and notify gamemaster + await this.addToPendingPlayers(gameCode, playerName); + + logOther(`Player ${playerName} requesting approval to join private game: ${gameRoomName}`); + + // Send pending status to the requesting player + socket.emit('game:pending-approval', { + gameCode, + playerName, + message: 'Waiting for gamemaster approval to join the game', + timestamp: new Date().toISOString() + }); + + // Notify gamemaster about the pending player + socket.to(gameRoomName).emit('game:player-requesting-join', { + playerName: playerName, + isAuthenticated, + message: `${playerName} is requesting to join the game`, + timestamp: new Date().toISOString() + }); + + return; // Don't join rooms yet - wait for approval + } + + // Join both the general game room and player-specific room + await socket.join(gameRoomName); + await socket.join(playerRoomName); + + logOther(`Player ${playerName} joined game room: ${gameRoomName} (${isAuthenticated ? 'authenticated' : 'public'}) ${isGamemaster ? '[GAMEMASTER]' : ''}`); + + // Send success response to the joining player + socket.emit('game:joined', { + gameCode, + playerName, + isAuthenticated, + gameId, + isGamemaster, + timestamp: new Date().toISOString() + }); + + // Notify other players in the game (broadcast) + socket.to(gameRoomName).emit('game:player-joined', { + playerName: playerName, + isAuthenticated, + isGamemaster, + timestamp: new Date().toISOString() + }); + + // Send current game state to the joining player + const gameState = await this.getGameState(gameCode); + socket.emit('game:state', gameState); + + // Update Redis with active player connection + await this.updatePlayerConnection(gameCode, playerName, true); + + } catch (error) { + logError('Error joining game', error as Error); + socket.emit('game:error', { message: 'Failed to join game' }); + } + } + + private async handleLeaveGame(socket: AuthenticatedSocket, data: LeaveGameData): Promise { + try { + const { gameCode } = data; + const gameRoomName = `game_${gameCode}`; + const playerRoomName = `game_${gameCode}:${socket.playerName}`; + + // Leave both rooms + await socket.leave(gameRoomName); + await socket.leave(playerRoomName); + + logOther(`Player ${socket.playerName} left game room: ${gameRoomName}`); + + // Notify other players + socket.to(gameRoomName).emit('game:player-left', { + playerName: socket.playerName, + timestamp: new Date().toISOString() + }); + + // Update Redis + await this.updatePlayerConnection(gameCode, socket.playerName!, false); + + socket.gameCode = undefined; + socket.playerName = undefined; + + } catch (error) { + logError('Error leaving game', error as Error); + socket.emit('game:error', { message: 'Failed to leave game' }); + } + } + + private async handleGameAction(socket: AuthenticatedSocket, data: GameActionData): Promise { + try { + const { gameCode, action, data: actionData } = data; + + if (!socket.gameCode || socket.gameCode !== gameCode) { + socket.emit('game:error', { message: 'You must be in the game to perform actions' }); + return; + } + + // Validate it's the player's turn (this would need game state logic) + const game = await this.gameRepository.findByGameCode(gameCode); + if (!game) { + socket.emit('game:error', { message: 'Game not found' }); + return; + } + + // Process the game action based on type + const result = await this.processGameAction(game, socket.userId!, action, actionData); + + if (result.success) { + // Broadcast action to all players in the game + const gameRoomName = `game_${gameCode}`; + this.io.of('/game').to(gameRoomName).emit('game:action-result', { + action, + playerName: socket.playerName, + result: result.data, + timestamp: new Date().toISOString() + }); // If the action resulted in a game state change, broadcast the new state + if (result.stateChanged) { + const updatedGameState = await this.getGameState(gameCode); + this.io.of('/game').to(gameRoomName).emit('game:state-update', updatedGameState); + } + } else { + socket.emit('game:error', { message: result.error }); + } + + } catch (error) { + logError('Error processing game action', error as Error); + socket.emit('game:error', { message: 'Failed to process action' }); + } + } + + private async handleGameChat(socket: AuthenticatedSocket, data: GameChatData): Promise { + try { + const { gameCode, message } = data; + + if (!socket.gameCode || socket.gameCode !== gameCode) { + socket.emit('game:error', { message: 'You must be in the game to chat' }); + return; + } + + const gameRoomName = `game_${gameCode}`; + + // Broadcast chat message to all players in the game + this.io.of('/game').to(gameRoomName).emit('game:chat-message', { + playerName: socket.playerName, + message, + timestamp: new Date().toISOString() + }); + + logOther(`Game chat in ${gameCode}: ${socket.playerName || socket.userId}: ${message}`); + + } catch (error) { + logError('Error handling game chat', error as Error); + socket.emit('game:error', { message: 'Failed to send chat message' }); + } + } + + private async handlePlayerReady(socket: AuthenticatedSocket, data: { gameCode: string; ready: boolean }): Promise { + try { + const { gameCode, ready } = data; + const gameRoomName = `game_${gameCode}`; + + // Update player ready status in Redis + await this.updatePlayerReadyStatus(gameCode, socket.playerName!, ready); + + // Broadcast ready status to all players + this.io.of('/game').to(gameRoomName).emit('game:player-ready', { + playerName: socket.playerName, + ready, + timestamp: new Date().toISOString() + }); + + // Check if all players are ready and start game if so + const allReady = await this.checkAllPlayersReady(gameCode); + if (allReady) { + this.io.of('/game').to(gameRoomName).emit('game:all-ready', { + message: 'All players are ready! Game can start.', + timestamp: new Date().toISOString() + }); + } + + } catch (error) { + logError('Error handling player ready status', error as Error); + socket.emit('game:error', { message: 'Failed to update ready status' }); + } + } + + private async handleApprovePlayer(socket: AuthenticatedSocket, data: { gameCode: string; playerName: string }): Promise { + try { + const { gameCode, playerName } = data; + + // Verify that the requesting socket is the gamemaster + const game = await this.gameRepository.findByGameCode(gameCode); + if (!game) { + socket.emit('game:error', { message: 'Game not found' }); + return; + } + + const isGamemaster = game.createdby === socket.userId; + if (!isGamemaster) { + socket.emit('game:error', { message: 'Only the gamemaster can approve players' }); + return; + } + + if (game.logintype !== LoginType.PRIVATE) { + socket.emit('game:error', { message: 'Player approval is only for private games' }); + return; + } + + // Check if player is in pending list + const pendingPlayers = await this.getPendingPlayers(gameCode); + if (!pendingPlayers.includes(playerName)) { + socket.emit('game:error', { message: 'Player not found in pending list' }); + return; + } + + // Remove from pending players + await this.removeFromPendingPlayers(gameCode, playerName); + + // Notify the approved player to join the game rooms + const gameRoomName = `game_${gameCode}`; + const playerRoomName = `game_${gameCode}:${playerName}`; + + // Find the pending player's socket and move them to the game + this.io.of('/game').emit('game:approval-granted', { + gameCode, + playerName, + gameRoomName, + playerRoomName, + message: 'You have been approved to join the game!', + timestamp: new Date().toISOString() + }); + + // Notify all players about the approval + this.io.of('/game').to(gameRoomName).emit('game:player-approved', { + playerName, + approvedBy: socket.playerName, + timestamp: new Date().toISOString() + }); + + logOther(`Player ${playerName} approved by gamemaster in game ${gameCode}`); + + } catch (error) { + logError('Error approving player', error as Error); + socket.emit('game:error', { message: 'Failed to approve player' }); + } + } + + private async handleRejectPlayer(socket: AuthenticatedSocket, data: { gameCode: string; playerName: string; reason?: string }): Promise { + try { + const { gameCode, playerName, reason } = data; + + // Verify that the requesting socket is the gamemaster + const game = await this.gameRepository.findByGameCode(gameCode); + if (!game) { + socket.emit('game:error', { message: 'Game not found' }); + return; + } + + const isGamemaster = game.createdby === socket.userId; + if (!isGamemaster) { + socket.emit('game:error', { message: 'Only the gamemaster can reject players' }); + return; + } + + if (game.logintype !== LoginType.PRIVATE) { + socket.emit('game:error', { message: 'Player rejection is only for private games' }); + return; + } + + // Check if player is in pending list + const pendingPlayers = await this.getPendingPlayers(gameCode); + if (!pendingPlayers.includes(playerName)) { + socket.emit('game:error', { message: 'Player not found in pending list' }); + return; + } + + // Remove from pending players + await this.removeFromPendingPlayers(gameCode, playerName); + + // Notify the rejected player + this.io.of('/game').emit('game:approval-denied', { + gameCode, + playerName, + reason: reason || 'Your request to join the game was denied', + timestamp: new Date().toISOString() + }); + + logOther(`Player ${playerName} rejected by gamemaster in game ${gameCode}${reason ? ': ' + reason : ''}`); + + } catch (error) { + logError('Error rejecting player', error as Error); + socket.emit('game:error', { message: 'Failed to reject player' }); + } + } + + private async handleJoinApproved(socket: AuthenticatedSocket, data: JoinGameData): Promise { + try { + const { gameToken } = data; + + if (!gameToken) { + socket.emit('game:error', { message: 'Game token is required' }); + return; + } + + // Verify the game token + const gameTokenPayload = this.gameTokenService.verifyGameToken(gameToken); + if (!gameTokenPayload) { + socket.emit('game:error', { message: 'Invalid or expired game token' }); + return; + } + + const { gameId, gameCode, playerName, isAuthenticated, userId } = gameTokenPayload; + + // Validate game still exists + const game = await this.gameRepository.findByGameCode(gameCode); + if (!game || game.id !== gameId) { + socket.emit('game:error', { message: 'Game not found or token invalid' }); + return; + } + + // Check if player was actually approved (not in pending list anymore) + const pendingPlayers = await this.getPendingPlayers(gameCode); + if (pendingPlayers.includes(playerName)) { + socket.emit('game:error', { message: 'Player still pending approval' }); + return; + } + + // Set socket properties from game token + socket.gameCode = gameCode; + socket.playerName = playerName; + socket.isAuthenticated = isAuthenticated; + socket.userId = userId; + + // Generate dynamic room names and join + const gameRoomName = `game_${gameCode}`; + const playerRoomName = `game_${gameCode}:${playerName}`; + + await socket.join(gameRoomName); + await socket.join(playerRoomName); + + logOther(`Approved player ${playerName} joined game room: ${gameRoomName}`); + + // Send success response to the joining player + socket.emit('game:joined', { + gameCode, + playerName, + isAuthenticated, + gameId, + isGamemaster: false, + timestamp: new Date().toISOString() + }); + + // Notify other players in the game (broadcast) + socket.to(gameRoomName).emit('game:player-joined', { + playerName: playerName, + isAuthenticated, + isGamemaster: false, + timestamp: new Date().toISOString() + }); + + // Send current game state to the joining player + const gameState = await this.getGameState(gameCode); + socket.emit('game:state', gameState); + + // Update Redis with active player connection + await this.updatePlayerConnection(gameCode, playerName, true); + + } catch (error) { + logError('Error handling approved join', error as Error); + socket.emit('game:error', { message: 'Failed to join after approval' }); + } + } + + private async handleDiceRoll(socket: AuthenticatedSocket, data: DiceRollData): Promise { + try { + const { gameCode, diceValue } = data; + + // Validate input + if (!gameCode || !socket.gameCode || socket.gameCode !== gameCode) { + socket.emit('game:error', { message: 'You must be in the game to roll dice' }); + return; + } + + if (!diceValue || diceValue < 1 || diceValue > 6) { + socket.emit('game:error', { message: 'Invalid dice value. Must be between 1 and 6' }); + return; + } + + // Get current game state + const gameState = await this.getCurrentGameState(gameCode); + if (!gameState) { + socket.emit('game:error', { message: 'Game not found' }); + return; + } + + // Check if it's the player's turn + if (gameState.currentPlayer !== socket.userId) { + socket.emit('game:error', { message: 'It is not your turn' }); + return; + } + + // Get player's current position + const playerPositions = await this.getPlayerPositions(gameCode); + const currentPlayer = playerPositions.find(p => p.playerId === socket.userId); + + if (!currentPlayer) { + socket.emit('game:error', { message: 'Player not found in game' }); + return; + } + + // Calculate new position + const newPosition = Math.min(currentPlayer.boardPosition + diceValue, 101); // Win at 101 + + // Update player position + await this.updatePlayerPosition(gameCode, socket.userId!, newPosition); + + // Check if player won (reached position 101) + const hasWon = newPosition >= 101; + + // Prepare move data + const moveData = { + playerId: socket.userId, + playerName: socket.playerName, + diceValue, + oldPosition: currentPlayer.boardPosition, + newPosition, + hasWon, + timestamp: new Date().toISOString() + }; + + // Broadcast move to all players + const gameRoomName = `game_${gameCode}`; + this.io.of('/game').to(gameRoomName).emit('game:player-moved', moveData); + + if (hasWon) { + // Player won - end game + await this.endGame(gameCode, socket.userId!, socket.playerName!); + } else { + // Advance to next player's turn + await this.advanceTurn(gameCode); + } + + logOther(`Player ${socket.playerName} rolled ${diceValue}, moved from ${currentPlayer.boardPosition} to ${newPosition}`, { + gameCode, + playerId: socket.userId, + hasWon + }); + + } catch (error) { + logError('Error handling dice roll', error as Error); + socket.emit('game:error', { message: 'Failed to process dice roll' }); + } + } + + private handleDisconnect(socket: AuthenticatedSocket): void { + logOther(`Game socket disconnected: ${socket.id} (player: ${socket.playerName})`); + + // If the socket was in a game, handle cleanup + if (socket.gameCode && socket.playerName) { + this.updatePlayerConnection(socket.gameCode, socket.playerName, false) + .catch(error => logError('Error updating player connection on disconnect', error as Error)); + + // Notify other players about disconnection + const gameRoomName = `game_${socket.gameCode}`; + socket.to(gameRoomName).emit('game:player-disconnected', { + playerName: socket.playerName, + timestamp: new Date().toISOString() + }); + } + } + + // Helper methods for game state management + + private async getGameState(gameCode: string): Promise { + try { + // Get game state from Redis or database + const gameStateKey = `game_state:${gameCode}`; + const gameState = await this.redisService.get(gameStateKey); + + if (gameState) { + const parsed = JSON.parse(gameState); + // Add pending players info for private games + if (parsed.logintype === LoginType.PRIVATE) { + parsed.pendingPlayers = await this.getPendingPlayers(gameCode); + } + return parsed; + } + + // If no state in Redis, get from database + const game = await this.gameRepository.findByGameCode(gameCode); + const connectedPlayers = await this.getConnectedPlayers(gameCode); + const readyPlayers = await this.getReadyPlayers(gameCode); + + const baseState: any = { + gameId: game?.id, + gameCode, + state: game?.state || GameState.WAITING, + logintype: game?.logintype || LoginType.PUBLIC, + players: game?.players || [], + connectedPlayers, + readyPlayers, + currentTurn: 0, + boardData: null // Will be populated when game starts + }; + + // Add pending players for private games + if (game?.logintype === LoginType.PRIVATE) { + baseState.pendingPlayers = await this.getPendingPlayers(gameCode); + } + + return baseState; + + } catch (error) { + logError('Error getting game state', error as Error); + return null; + } + } + + private async processGameAction(game: GameAggregate, playerId: string, action: string, actionData: any): Promise<{ success: boolean; data?: any; error?: string; stateChanged?: boolean }> { + // This would contain the actual game logic + // For now, returning a placeholder + + switch (action) { + case 'roll-dice': + // Handle dice rolling logic + const diceResult = Math.floor(Math.random() * 6) + 1; + return { + success: true, + data: { dice: diceResult }, + stateChanged: true + }; + + case 'move': + // Handle player movement logic + return { + success: true, + data: { newPosition: actionData.position }, + stateChanged: true + }; + + case 'use-field': + // Handle special field usage + return { + success: true, + data: { fieldUsed: actionData.fieldType }, + stateChanged: true + }; + + case 'end-turn': + // Handle turn ending logic + return { + success: true, + data: { nextPlayer: 'next-player-id' }, + stateChanged: true + }; + + default: + return { + success: false, + error: 'Unknown action type' + }; + } + } + + private async updatePlayerConnection(gameCode: string, playerName: string, connected: boolean): Promise { + const key = `game_connections:${gameCode}`; + if (connected) { + await this.redisService.setAdd(key, playerName); + } else { + await this.redisService.setRemove(key, playerName); + } + // Note: RedisService doesn't have expire method, we'll handle expiration differently + } + + private async updatePlayerReadyStatus(gameCode: string, playerName: string, ready: boolean): Promise { + const key = `game_ready:${gameCode}`; + if (ready) { + await this.redisService.setAdd(key, playerName); + } else { + await this.redisService.setRemove(key, playerName); + } + // Note: RedisService doesn't have expire method, we'll handle expiration differently + } + + private async addToPendingPlayers(gameCode: string, playerName: string): Promise { + const key = `game_pending:${gameCode}`; + await this.redisService.setAdd(key, playerName); + } + + private async removeFromPendingPlayers(gameCode: string, playerName: string): Promise { + const key = `game_pending:${gameCode}`; + await this.redisService.setRemove(key, playerName); + } + + private async getPendingPlayers(gameCode: string): Promise { + const key = `game_pending:${gameCode}`; + return await this.redisService.setMembers(key); + } + + private async getCurrentGameState(gameCode: string): Promise { + try { + const gamePlayKey = `gameplay:${gameCode}`; + const gameStateStr = await this.redisService.get(gamePlayKey); + + if (gameStateStr) { + return JSON.parse(gameStateStr); + } + return null; + } catch (error) { + logError('Error getting current game state', error as Error); + return null; + } + } + + private async getPlayerPositions(gameCode: string): Promise { + try { + const positionsKey = `game_positions:${gameCode}`; + const positionsStr = await this.redisService.get(positionsKey); + + if (positionsStr) { + return JSON.parse(positionsStr); + } + + // Initialize positions if not found + const gameState = await this.getCurrentGameState(gameCode); + if (gameState && gameState.players) { + const initialPositions: PlayerPosition[] = gameState.players.map((player: any) => ({ + playerId: player.playerId, + playerName: player.playerName || player.playerId, + boardPosition: 0, // Everyone starts at position 0 + turnOrder: player.turnOrder + })); + + await this.redisService.set(positionsKey, JSON.stringify(initialPositions)); + return initialPositions; + } + + return []; + } catch (error) { + logError('Error getting player positions', error as Error); + return []; + } + } + + private async updatePlayerPosition(gameCode: string, playerId: string, newPosition: number): Promise { + try { + const positions = await this.getPlayerPositions(gameCode); + const playerIndex = positions.findIndex(p => p.playerId === playerId); + + if (playerIndex !== -1) { + positions[playerIndex].boardPosition = newPosition; + + const positionsKey = `game_positions:${gameCode}`; + await this.redisService.set(positionsKey, JSON.stringify(positions)); + } + } catch (error) { + logError('Error updating player position', error as Error); + } + } + + private async advanceTurn(gameCode: string): Promise { + try { + const gameState = await this.getCurrentGameState(gameCode); + if (!gameState) return; + + // Get next player in turn sequence + const currentTurnIndex = gameState.currentTurn || 0; + const nextTurnIndex = (currentTurnIndex + 1) % gameState.turnSequence.length; + const nextPlayerId = gameState.turnSequence[nextTurnIndex]; + + // Update game state + gameState.currentTurn = nextTurnIndex; + gameState.currentPlayer = nextPlayerId; + + // Save updated state + const gamePlayKey = `gameplay:${gameCode}`; + await this.redisService.set(gamePlayKey, JSON.stringify(gameState)); + + // Find next player name + const playerPositions = await this.getPlayerPositions(gameCode); + const nextPlayer = playerPositions.find(p => p.playerId === nextPlayerId); + const nextPlayerName = nextPlayer?.playerName || nextPlayerId; + + // Notify all players about turn change + const gameRoomName = `game_${gameCode}`; + this.io.of('/game').to(gameRoomName).emit('game:turn-changed', { + currentPlayer: nextPlayerId, + currentPlayerName: nextPlayerName, + turnNumber: nextTurnIndex + 1, + message: `It's ${nextPlayerName}'s turn!`, + timestamp: new Date().toISOString() + }); + + // Send special notification to the current player + const playerRoomName = `game_${gameCode}:${nextPlayerName}`; + this.io.of('/game').to(playerRoomName).emit('game:your-turn', { + message: 'It\'s your turn! Roll the dice!', + canRoll: true, + timestamp: new Date().toISOString() + }); + + logOther(`Turn advanced in game ${gameCode}`, { + previousTurn: currentTurnIndex, + newTurn: nextTurnIndex, + nextPlayer: nextPlayerName + }); + + } catch (error) { + logError('Error advancing turn', error as Error); + } + } + + private async endGame(gameCode: string, winnerId: string, winnerName: string): Promise { + try { + // Update game state to finished + const gameState = await this.getCurrentGameState(gameCode); + if (gameState) { + gameState.gamePhase = 'finished'; + gameState.winner = winnerId; + gameState.winnerName = winnerName; + gameState.endedAt = new Date().toISOString(); + + const gamePlayKey = `gameplay:${gameCode}`; + await this.redisService.set(gamePlayKey, JSON.stringify(gameState)); + } + + // Update database game record + const game = await this.gameRepository.findByGameCode(gameCode); + if (game) { + await this.gameRepository.update(game.id, { + finished: true, + winner: winnerId, + enddate: new Date() + }); + } + + // Broadcast game end to all players + const gameRoomName = `game_${gameCode}`; + this.io.of('/game').to(gameRoomName).emit('game:ended', { + winner: winnerId, + winnerName: winnerName, + message: `๐ŸŽ‰ ${winnerName} won the game! Congratulations!`, + finalPositions: await this.getPlayerPositions(gameCode), + timestamp: new Date().toISOString() + }); + + logOther(`Game ${gameCode} ended`, { + winner: winnerName, + winnerId + }); + + } catch (error) { + logError('Error ending game', error as Error); + } + } + + private async checkAllPlayersReady(gameCode: string): Promise { + try { + // Get connected players from Redis + const connectedPlayers = await this.getConnectedPlayers(gameCode); + const readyPlayers = await this.getReadyPlayers(gameCode); + + // All connected players must be ready for the game to start + return readyPlayers.length === connectedPlayers.length && connectedPlayers.length > 1; + } catch (error) { + logError('Error checking if all players are ready', error as Error); + return false; + } + } + + // Public method to broadcast game state updates from external services + public async broadcastGameStateUpdate(gameCode: string, gameState: any): Promise { + const roomName = `game_${gameCode}`; + this.io.of('/game').to(roomName).emit('game:state-update', gameState); + } + + // Public method to broadcast game events from external services + public async broadcastGameEvent(gameCode: string, event: string, data: any): Promise { + const roomName = `game_${gameCode}`; + this.io.of('/game').to(roomName).emit(event, data); + } + + // Public method to send events to a specific player + public async sendToPlayer(gameCode: string, playerName: string, event: string, data: any): Promise { + const playerRoomName = `game_${gameCode}:${playerName}`; + this.io.of('/game').to(playerRoomName).emit(event, data); + logOther(`Sent event '${event}' to player ${playerName} in game ${gameCode}`); + } + + // Public method to send events to multiple specific players + public async sendToPlayers(gameCode: string, playerNames: string[], event: string, data: any): Promise { + for (const playerName of playerNames) { + await this.sendToPlayer(gameCode, playerName, event, data); + } + } + + // Public method to get connected players in a game + public async getConnectedPlayers(gameCode: string): Promise { + const key = `game_connections:${gameCode}`; + return await this.redisService.setMembers(key); + } + + // Public method to get ready players in a game + public async getReadyPlayers(gameCode: string): Promise { + const key = `game_ready:${gameCode}`; + return await this.redisService.setMembers(key); + } + + // Public method to broadcast game start with board data and player order + public async broadcastGameStart(gameCode: string, boardData: any, playerOrder: string[], gameData: any): Promise { + try { + const roomName = `game_${gameCode}`; + + // Create comprehensive game start data + const gameStartData = { + gameCode, + gameId: gameData.id, + status: 'started', + boardData, + playerOrder, + currentPlayer: playerOrder[0], // First player starts + currentTurn: 0, + maxPlayers: gameData.maxplayers, + players: gameData.players, + startedAt: new Date().toISOString(), + message: 'Game has started! Good luck to all players!' + }; + + // Broadcast to all players in the game + this.io.of('/game').to(roomName).emit('game:start', gameStartData); + + // Update game state in Redis with the new started state + const gameStateKey = `game_state:${gameCode}`; + await this.redisService.set(gameStateKey, JSON.stringify({ + ...gameStartData, + lastUpdated: new Date().toISOString() + })); + + // Initialize player positions (all start at 0) + const playerPositions = await this.getPlayerPositions(gameCode); + + // Notify the first player that it's their turn + const firstPlayerName = playerPositions.find(p => p.playerId === playerOrder[0])?.playerName || playerOrder[0]; + const firstPlayerRoomName = `game_${gameCode}:${firstPlayerName}`; + + this.io.of('/game').to(firstPlayerRoomName).emit('game:your-turn', { + message: 'You go first! Roll the dice to start the game!', + canRoll: true, + timestamp: new Date().toISOString() + }); + + logOther(`Game start broadcasted to all players in room: ${roomName}`, { + gameCode, + gameId: gameData.id, + playerCount: gameData.players.length, + boardFields: boardData?.fields?.length || 0, + firstPlayer: playerOrder[0], + firstPlayerName + }); + + } catch (error) { + logError('Error broadcasting game start', error as Error); + throw error; // Re-throw so the caller knows the broadcast failed + } + } +} \ No newline at end of file diff --git a/SerpentRace_Backend/test-board-generation.js b/SerpentRace_Backend/test-board-generation.js new file mode 100644 index 00000000..ec4ec783 --- /dev/null +++ b/SerpentRace_Backend/test-board-generation.js @@ -0,0 +1,131 @@ +// Simple test for the new pattern-based board generation +console.log('='.repeat(60)); +console.log('TESTING NEW PATTERN-BASED BOARD GENERATION'); +console.log('='.repeat(60)); + +// Since the full service test has dependency issues, let's just verify the algorithm logic +console.log('Testing pattern-based movement calculation...'); + +function calculateMovement(currentPosition, stepValue, diceValue, isPositive) { + // Calculate base movement (multiplication for larger distances) + let baseMovement = Math.abs(stepValue) * diceValue; + if (!isPositive) { + baseMovement = -baseMovement; + } + + // Apply position-based pattern modifier for strategic thinking + let patternModifier = 0; + + // Pattern rules: Players must consider their current position + if (currentPosition % 10 === 0) { + // Positions ending in 0 (10, 20, 30, etc.) get no modifier + patternModifier = 0; + } else if (currentPosition % 5 === 0) { + // Positions ending in 5 (15, 25, 35, etc.) get ยฑ3 modifier + patternModifier = isPositive ? 3 : -3; + } else if (currentPosition % 3 === 0) { + // Positions divisible by 3 get ยฑ2 modifier + patternModifier = isPositive ? 2 : -2; + } else if (currentPosition % 2 === 1) { + // Odd positions get ยฑ1 modifier + patternModifier = isPositive ? 1 : -1; + } else { + // Even positions (not divisible by other patterns) get no modifier + patternModifier = 0; + } + + // Calculate final position + let finalPosition = currentPosition + baseMovement + patternModifier; + + // Handle bounds (no wrapping - clamp to 1-100) + if (finalPosition > 100) finalPosition = 100; + if (finalPosition < 1) finalPosition = 1; + + return finalPosition; +} + +function isValidDistance(currentPosition, targetPosition, distance) { + // Fields 1-85: 20-30 distance rule + if (currentPosition <= 85) { + return distance >= 20 && distance <= 30; + } + // Fields 86-100: same rule for now + return distance >= 20 && distance <= 30; +} + +function testStepValue(position, stepValue, isPositive) { + console.log(`\nTesting position ${position} with step value ${stepValue} (${isPositive ? 'positive' : 'negative'}):`); + + let validMoves = 0; + const results = []; + + for (let dice = 1; dice <= 6; dice++) { + const targetField = calculateMovement(position, stepValue, dice, isPositive); + const distance = Math.abs(targetField - position); + const valid = isValidDistance(position, targetField, distance); + + results.push({ + dice, + target: targetField, + distance, + valid + }); + + if (valid) validMoves++; + } + + results.forEach(r => { + console.log(` Dice ${r.dice}: ${position} -> ${r.target} (distance: ${r.distance}) ${r.valid ? 'โœ“' : 'โœ—'}`); + }); + + console.log(` Valid moves: ${validMoves}/6 (${(validMoves/6*100).toFixed(1)}%)`); + return validMoves >= 2; // At least 2 valid moves out of 6 +} + +// Test various positions and step values +const testCases = [ + { pos: 10, step: 4, positive: true }, + { pos: 15, step: 4, positive: true }, + { pos: 25, step: 5, positive: true }, + { pos: 33, step: 4, positive: true }, + { pos: 50, step: 4, positive: true }, + { pos: 65, step: 4, positive: true }, + { pos: 75, step: 4, positive: true }, + { pos: 30, step: -4, positive: false }, + { pos: 45, step: -5, positive: false }, + { pos: 60, step: -4, positive: false }, + { pos: 85, step: -4, positive: false }, +]; + +console.log('\nTesting step values across different positions...'); +console.log('='.repeat(60)); + +let successfulTests = 0; +testCases.forEach(test => { + const success = testStepValue(test.pos, test.step, test.positive); + if (success) successfulTests++; +}); + +console.log('\n' + '='.repeat(60)); +console.log('SUMMARY'); +console.log('='.repeat(60)); +console.log(`Successful tests: ${successfulTests}/${testCases.length} (${(successfulTests/testCases.length*100).toFixed(1)}%)`); + +if (successfulTests >= testCases.length * 0.8) { + console.log('โœ… PATTERN-BASED SYSTEM IS WORKING WELL!'); + console.log('The new approach provides:'); + console.log('- Strategic complexity (players must consider position patterns)'); + console.log('- Reliable movement generation (multiplicative step values)'); + console.log('- Varied gameplay (different modifiers based on position)'); + console.log('- Balanced difficulty (most positions have 2-4 valid moves)'); +} else { + console.log('โŒ System needs more tuning'); +} + +console.log('\nPattern Rules Summary:'); +console.log('- Positions ending in 0: No modifier (pure calculation)'); +console.log('- Positions ending in 5: ยฑ3 modifier (strategic bonus)'); +console.log('- Positions divisible by 3: ยฑ2 modifier (tactical advantage)'); +console.log('- Odd positions: ยฑ1 modifier (small bonus)'); +console.log('- Other even positions: No modifier'); +console.log('\nThis creates strategic depth while maintaining predictable, reliable movement!'); \ No newline at end of file diff --git a/SerpentRace_Backend/test-border-memory.js b/SerpentRace_Backend/test-border-memory.js new file mode 100644 index 00000000..8c77bec4 --- /dev/null +++ b/SerpentRace_Backend/test-border-memory.js @@ -0,0 +1,82 @@ +// Test the border as memory mapping logic +function testBorderMemoryMapping() { + console.log('=== Testing Border as Memory Mapping Logic ===\n'); + + // Use your actual border from the test data + const border = [37,48,45,50,39,5,1,55,54,46,23,89,53,94,56,18,14,92,64,61,43,99,27,36,58,40,41,75,57,49,3,65,77,31,72,2,34,19,78,35,69,68,98,20,22,86,63,76,38,85,8,67,95,21,88,51,82,42,79,73,62,97,44,13,28,33,9,11,32,52,96,100,24,70,91,71,15,93,16,80,74,66,59,26,84,83,47,87,7,17,25,90,4,12,30,10,81,6,60,29]; + + // Test function that mimics the new calculateMovement logic + function calculateMovement(currentPosition, stepValue, diceValue, isPositive) { + console.log(`\n--- Movement Calculation ---`); + console.log(`Current position: ${currentPosition}`); + console.log(`Step value: ${stepValue}, Dice: ${diceValue}, Positive: ${isPositive}`); + + // Start at current position as index + let currentIndex = currentPosition - 1; + console.log(`Current index in memory: ${currentIndex}`); + console.log(`Data at current index: border[${currentIndex}] = ${border[currentIndex]}`); + + // Calculate total movement through the chain + let totalMovement; + if (isPositive) { + totalMovement = stepValue + diceValue; + } else { + totalMovement = stepValue - diceValue; + } + console.log(`Total movement through chain: ${totalMovement}`); + + // Move through the memory chain + let finalIndex = (currentIndex + totalMovement + 1000) % 100; + console.log(`Final index in memory: ${finalIndex}`); + console.log(`Data at final index: border[${finalIndex}] = ${border[finalIndex]}`); + + return border[finalIndex]; + } + + // Test Case 1: Position 12 with step value 1 (from your data) + // Expected results: [10,-1,6,-1,29,-1] + console.log('=== Test Case 1: Position 12, Step 1 (Positive) ==='); + console.log('Expected results: [10,-1,6,-1,29,-1]'); + + const results12 = []; + for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(12, 1, dice, true); + results12.push(result); + console.log(`Dice ${dice}: Result = ${result}`); + } + console.log(`Actual results: [${results12.join(', ')}]`); + + // Test Case 2: Position 15 with step value 11 (from your data) + // Expected results: [7,17,25,-1,4,12] + console.log('\n=== Test Case 2: Position 15, Step 11 (Positive) ==='); + console.log('Expected results: [7,17,25,-1,4,12]'); + + const results15 = []; + for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(15, 11, dice, true); + results15.push(result); + console.log(`Dice ${dice}: Result = ${result}`); + } + console.log(`Actual results: [${results15.join(', ')}]`); + + // Test Case 3: Position 18 with step value -46 (negative field) + // Expected results: [32,11,9,33,28,13] + console.log('\n=== Test Case 3: Position 18, Step -46 (Negative) ==='); + console.log('Expected results: [32,11,9,33,28,13]'); + + const results18 = []; + for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(18, -46, dice, false); + results18.push(result); + console.log(`Dice ${dice}: Result = ${result}`); + } + console.log(`Actual results: [${results18.join(', ')}]`); + + console.log('\n=== Analysis ==='); + console.log('This tests the border as a memory mapping where:'); + console.log('- Position = Index in the memory array'); + console.log('- Movement = Traversing through the memory chain'); + console.log('- Result = Data stored at the final memory location'); +} + +testBorderMemoryMapping(); \ No newline at end of file diff --git a/SerpentRace_Backend/test-clean-generation.ts b/SerpentRace_Backend/test-clean-generation.ts new file mode 100644 index 00000000..d52b9cf3 --- /dev/null +++ b/SerpentRace_Backend/test-clean-generation.ts @@ -0,0 +1,38 @@ +import { BoardGenerationService } from './src/Application/Game/BoardGenerationService'; + +async function testPatternBasedGeneration() { + const service = new BoardGenerationService(); + + console.log('Testing pattern-based board generation...'); + const startTime = Date.now(); + + try { + const board = await service.generateBoard(3, 2, 1); // 3 positive, 2 negative, 1 luck + const endTime = Date.now(); + + console.log(`โœ… Board generated successfully in ${endTime - startTime}ms`); + + // Count special fields + const specialFields = board.fields.filter(f => f.type !== 'regular'); + console.log(`Special fields: ${specialFields.length}`); + console.log(`- Positive: ${board.fields.filter(f => f.type === 'positive').length}`); + console.log(`- Negative: ${board.fields.filter(f => f.type === 'negative').length}`); + console.log(`- Luck: ${board.fields.filter(f => f.type === 'luck').length}`); + + // Check validation results for a few fields + const validationEntries = Object.entries(board.validationResults); + console.log(`\nValidation results for ${validationEntries.length} special fields:`); + + validationEntries.slice(0, 3).forEach(([position, outcomes]) => { + const field = board.fields.find(f => f.position === parseInt(position)); + console.log(`Position ${position} (${field?.type}, step ${field?.stepValue}): [${outcomes.join(', ')}]`); + }); + + console.log('\nโœ… Pattern-based generation test completed successfully!'); + + } catch (error) { + console.error('โŒ Test failed:', error); + } +} + +testPatternBasedGeneration(); \ No newline at end of file diff --git a/SerpentRace_Backend/test-fixed-generation.js b/SerpentRace_Backend/test-fixed-generation.js new file mode 100644 index 00000000..6e71d047 --- /dev/null +++ b/SerpentRace_Backend/test-fixed-generation.js @@ -0,0 +1,66 @@ +import { BoardGenerationService } from '../src/Application/Game/BoardGenerationService'; + +// Test the fixed board generation +async function testFixedBoardGeneration() { + console.log('Testing fixed board generation (max 1 minute, no -1 values)...'); + + const service = new BoardGenerationService(); + const startTime = Date.now(); + + try { + const result = await service.generateBoard(16, 4, 2); // Similar to your test case + const endTime = Date.now(); + + console.log(`\n=== GENERATION RESULTS ===`); + console.log(`Generation time: ${((endTime - startTime) / 1000).toFixed(2)} seconds`); + console.log(`Error rate: ${result.totalErrorRate}%`); + + // Count field types + const positiveFields = result.fields.filter(f => f.type === 'positive'); + const negativeFields = result.fields.filter(f => f.type === 'negative'); + const luckFields = result.fields.filter(f => f.type === 'luck'); + + console.log(`\n=== FIELD COUNTS ===`); + console.log(`Positive fields: ${positiveFields.length}`); + console.log(`Negative fields: ${negativeFields.length}`); + console.log(`Luck fields: ${luckFields.length}`); + + // Check for -1 values in validation results + let totalValidations = 0; + let invalidValidations = 0; + + Object.values(result.validationResults).forEach(outcomes => { + outcomes.forEach(outcome => { + totalValidations++; + if (outcome === -1) { + invalidValidations++; + } + }); + }); + + console.log(`\n=== VALIDATION CHECK ===`); + console.log(`Total validations: ${totalValidations}`); + console.log(`Invalid validations (-1): ${invalidValidations}`); + console.log(`SUCCESS: ${invalidValidations === 0 ? 'NO -1 VALUES FOUND! โœ…' : 'STILL HAS -1 VALUES โŒ'}`); + + // Show step value variety + const stepValues = positiveFields.map(f => f.stepValue).filter(v => v !== undefined); + const uniqueStepValues = [...new Set(stepValues)]; + console.log(`\n=== STEP VALUE VARIETY ===`); + console.log(`Unique positive step values: [${uniqueStepValues.sort((a, b) => a - b).join(', ')}]`); + + // Show sample validation results + console.log(`\n=== SAMPLE VALIDATION RESULTS ===`); + Object.entries(result.validationResults).slice(0, 5).forEach(([position, outcomes]) => { + const field = result.fields.find(f => f.position === parseInt(position)); + console.log(`Position ${position} (${field?.type}, step: ${field?.stepValue || 'N/A'}): [${outcomes.join(', ')}]`); + }); + + console.log(`\nโœ… Board generation test completed successfully!`); + + } catch (error) { + console.error('โŒ Error during board generation:', error); + } +} + +testFixedBoardGeneration(); \ No newline at end of file diff --git a/SerpentRace_Backend/test-game-websocket.ts b/SerpentRace_Backend/test-game-websocket.ts new file mode 100644 index 00000000..4b4e93f5 --- /dev/null +++ b/SerpentRace_Backend/test-game-websocket.ts @@ -0,0 +1,68 @@ +import { GameWebSocketService } from './src/Application/Services/GameWebSocketService'; +import { GameRepository } from './src/Infrastructure/Repository/GameRepository'; +import { UserRepository } from './src/Infrastructure/Repository/UserRepository'; +import { RedisService } from './src/Application/Services/RedisService'; +import { Server as SocketIOServer } from 'socket.io'; +import { createServer } from 'http'; + +async function testGameWebSocketService() { + console.log('Testing Game WebSocket Service initialization...'); + + try { + // Create a test HTTP server + const httpServer = createServer(); + + // Create Socket.IO server + const io = new SocketIOServer(httpServer, { + cors: { + origin: ['http://localhost:3000'], + credentials: true + } + }); + + // Initialize dependencies + const gameRepository = new GameRepository(); + const userRepository = new UserRepository(); + const redisService = RedisService.getInstance(); + + // Create GameWebSocketService + const gameWebSocketService = new GameWebSocketService( + io, + gameRepository, + userRepository, + redisService + ); + + console.log('โœ… Game WebSocket Service initialized successfully!'); + console.log('๐Ÿ“ก Namespace: /game'); + console.log('๐ŸŽฎ Dynamic rooms: game_{gameCode}'); + console.log('๐Ÿ”ง Available events:'); + console.log(' - game:join'); + console.log(' - game:leave'); + console.log(' - game:action'); + console.log(' - game:chat'); + console.log(' - game:ready'); + console.log(' - game:state-update'); + console.log(' - game:player-joined'); + console.log(' - game:player-left'); + + // Test public methods + console.log('\n๐Ÿงช Testing public methods...'); + + // Test broadcast methods (these won't do anything without connected clients) + await gameWebSocketService.broadcastGameStateUpdate('TEST123', { message: 'test' }); + await gameWebSocketService.broadcastGameEvent('TEST123', 'test:event', { data: 'test' }); + + console.log('โœ… Public methods work correctly!'); + console.log('\n๐ŸŽ‰ Game WebSocket Service test completed successfully!'); + + // Clean up + httpServer.close(); + + } catch (error) { + console.error('โŒ Test failed:', error); + process.exit(1); + } +} + +testGameWebSocketService(); \ No newline at end of file diff --git a/SerpentRace_Backend/test-pattern-generation.js b/SerpentRace_Backend/test-pattern-generation.js new file mode 100644 index 00000000..95eb1ff2 --- /dev/null +++ b/SerpentRace_Backend/test-pattern-generation.js @@ -0,0 +1,102 @@ +const { exec } = require('child_process'); + +// Test the pattern-based approach movement calculation +function calculateMovement(currentPosition, stepValue, diceRoll, border, isPositive) { + // Calculate base movement (multiplication for larger distances) + let baseMovement = Math.abs(stepValue) * diceRoll; + if (!isPositive) { + baseMovement = -baseMovement; + } + + // Get position modifier based on current position pattern for strategic thinking + let patternModifier = 0; + + // Pattern rules: Players must consider their current position + if (currentPosition % 10 === 0) { + // Positions ending in 0 (10, 20, 30, etc.) get no modifier + patternModifier = 0; + } else if (currentPosition % 5 === 0) { + // Positions ending in 5 (15, 25, 35, etc.) get ยฑ3 modifier + patternModifier = isPositive ? 3 : -3; + } else if (currentPosition % 3 === 0) { + // Positions divisible by 3 get ยฑ2 modifier + patternModifier = isPositive ? 2 : -2; + } else if (currentPosition % 2 === 1) { + // Odd positions get ยฑ1 modifier + patternModifier = isPositive ? 1 : -1; + } else { + // Even positions (not divisible by other patterns) get no modifier + patternModifier = 0; + } + + // Calculate final position + let finalPosition = currentPosition + baseMovement + patternModifier; + + // Handle bounds (no wrapping - clamp to 1-100) + if (finalPosition > 100) finalPosition = 100; + if (finalPosition < 1) finalPosition = 1; + + return finalPosition; +} + +// Test function for various positions +function testPatternLogic() { + console.log('Testing Pattern-Based Movement Calculation'); + console.log('========================================='); + + const testPositions = [3, 5, 10, 15, 18, 20, 25, 30, 33, 40, 45, 50, 60, 65, 75, 80, 85, 90, 95, 100]; + const border = Array.from({length: 100}, (_, i) => i + 1); // Simple 1-100 border for testing + + for (const pos of testPositions) { + console.log(`\nPosition ${pos}:`); + + // Check pattern + const lastDigit = pos % 10; + let patternType = 'even (no modifier)'; + if (pos % 10 === 0) patternType = 'ends in 0 (no modifier)'; + else if (pos % 5 === 0) patternType = 'ends in 5 (ยฑ3 modifier)'; + else if (pos % 3 === 0) patternType = 'divisible by 3 (ยฑ2 modifier)'; + else if (pos % 2 === 1) patternType = 'odd (ยฑ1 modifier)'; + + console.log(` Pattern: ${patternType}`); + + // Test positive movement with dice 1-6 and step value 4 + console.log(' Positive moves (step=4):'); + for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(pos, 4, dice, border, true); + const distance = Math.abs(result - pos); + const valid = (pos <= 85 && distance >= 20 && distance <= 30) || + (pos > 85 && distance >= 20 && distance <= 30); + console.log(` Dice ${dice}: ${pos} -> ${result} (distance: ${distance}) ${valid ? 'โœ“' : 'โœ—'}`); + } + + // Test negative movement with dice 1-6 and step value -4 + console.log(' Negative moves (step=-4):'); + for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(pos, -4, dice, border, false); + const distance = Math.abs(result - pos); + const valid = (pos <= 85 && distance >= 20 && distance <= 30) || + (pos > 85 && distance >= 20 && distance <= 30); + console.log(` Dice ${dice}: ${pos} -> ${result} (distance: ${distance}) ${valid ? 'โœ“' : 'โœ—'}`); + } + } +} + +testPatternLogic(); + +// Test board generation +console.log('\n\nTesting Board Generation...'); +console.log('============================'); + +exec('cd d:\\munka\\SzeSnake\\SerpentRace_Backend && npm run test -- --testNamePattern="BoardGenerationService"', + (error, stdout, stderr) => { + if (error) { + console.error(`Error: ${error}`); + return; + } + console.log(stdout); + if (stderr) { + console.error(`Stderr: ${stderr}`); + } + } +); \ No newline at end of file diff --git a/SerpentRace_Backend/test-simplified-logic.js b/SerpentRace_Backend/test-simplified-logic.js new file mode 100644 index 00000000..eb5c0f17 --- /dev/null +++ b/SerpentRace_Backend/test-simplified-logic.js @@ -0,0 +1,109 @@ +// Test the new simplified movement logic +function testSimplifiedMovement() { + console.log('=== Testing New Simplified Movement Logic ===\n'); + + // Test function that mimics the new calculateMovement logic + function calculateMovement(currentPosition, stepValue, diceValue, isPositive) { + let finalPosition; + + if (isPositive) { + // Positive: current + step + dice + finalPosition = currentPosition + stepValue + diceValue; + } else { + // Negative: current + step - dice (step is negative) + finalPosition = currentPosition + stepValue - diceValue; + } + + // Wrap around the 1-100 board + while (finalPosition > 100) { + finalPosition -= 100; + } + while (finalPosition < 1) { + finalPosition += 100; + } + + return finalPosition; + } + + function isValidDistance(currentPosition, targetPosition) { + const distance = Math.abs(targetPosition - currentPosition); + + // Fields 1-85: max 20 fields in any direction + if (currentPosition <= 85) { + return distance <= 20; + } + + // Fields 86-100: max 30 fields backward, max 20 fields forward + if (targetPosition > currentPosition) { + return distance <= 20; // Moving forward + } else { + return distance <= 30; // Moving backward + } + } + + // Test case 1: Position 20 with various step values + console.log('Test Case 1: Position 20 (should be within 20 field limit)'); + for (let step = 1; step <= 10; step++) { + const results = []; + let validCount = 0; + + for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(20, step, dice, true); + const distance = Math.abs(result - 20); + const valid = isValidDistance(20, result); + results.push(`${result}${valid ? '' : '*'}`); + if (valid) validCount++; + } + + console.log(` Step ${step}: [${results.join(', ')}] (${validCount}/6 valid)`); + if (validCount === 6) { + console.log(` โœ… PERFECT step value found: ${step}`); + break; + } + } + + console.log('\nTest Case 2: Position 90 (should respect 86-100 rules)'); + for (let step = -1; step >= -10; step--) { + const results = []; + let validCount = 0; + + for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(90, step, dice, false); + const distance = Math.abs(result - 90); + const valid = isValidDistance(90, result); + results.push(`${result}${valid ? '' : '*'}`); + if (valid) validCount++; + } + + console.log(` Step ${step}: [${results.join(', ')}] (${validCount}/6 valid)`); + if (validCount === 6) { + console.log(` โœ… PERFECT step value found: ${step}`); + break; + } + } + + console.log('\nTest Case 3: Position 50 (middle position)'); + for (let step = 1; step <= 10; step++) { + const results = []; + let validCount = 0; + + for (let dice = 1; dice <= 6; dice++) { + const result = calculateMovement(50, step, dice, true); + const distance = Math.abs(result - 50); + const valid = isValidDistance(50, result); + results.push(`${result}${valid ? '' : '*'}`); + if (valid) validCount++; + } + + console.log(` Step ${step}: [${results.join(', ')}] (${validCount}/6 valid)`); + if (validCount === 6) { + console.log(` โœ… PERFECT step value found: ${step}`); + break; + } + } + + console.log('\n* = Invalid due to 20-30 rule violation'); + console.log('\n=== Test Complete ==='); +} + +testSimplifiedMovement(); \ No newline at end of file diff --git a/SerpentRace_Backend/tests/Application/Game/BoardGenerationService.test.ts b/SerpentRace_Backend/tests/Application/Game/BoardGenerationService.test.ts new file mode 100644 index 00000000..c3f10169 --- /dev/null +++ b/SerpentRace_Backend/tests/Application/Game/BoardGenerationService.test.ts @@ -0,0 +1,133 @@ +import { BoardGenerationService } from '../../../src/Application/Game/BoardGenerationService'; + +// Mock dependencies +jest.mock('../../../src/Application/Services/LoggingService'); + +describe('BoardGenerationService', () => { + let boardGenerationService: BoardGenerationService; + + beforeEach(() => { + boardGenerationService = new BoardGenerationService(); + }); + + describe('generateBoard', () => { + it('should generate a board with the correct number of special fields', async () => { + const positiveFields = 10; + const negativeFields = 8; + const luckFields = 5; + + const result = await boardGenerationService.generateBoard( + positiveFields, + negativeFields, + luckFields + ); + + expect(result).toBeDefined(); + expect(result.fields).toHaveLength(100); + + // Count special fields + const actualPositive = result.fields.filter(f => f.type === 'positive').length; + const actualNegative = result.fields.filter(f => f.type === 'negative').length; + const actualLuck = result.fields.filter(f => f.type === 'luck').length; + + expect(actualPositive).toBe(positiveFields); + expect(actualNegative).toBe(negativeFields); + expect(actualLuck).toBe(luckFields); + }); + + it('should ensure positive fields have positive step values', async () => { + const result = await boardGenerationService.generateBoard(5, 5, 2); + + const positiveFields = result.fields.filter(f => f.type === 'positive'); + positiveFields.forEach(field => { + expect(field.stepValue).toBeGreaterThan(0); + }); + }); + + it('should ensure negative fields have negative step values', async () => { + const result = await boardGenerationService.generateBoard(5, 5, 2); + + const negativeFields = result.fields.filter(f => f.type === 'negative'); + negativeFields.forEach(field => { + expect(field.stepValue).toBeLessThan(0); + }); + }); + + it('should ensure luck fields do not have step values', async () => { + const result = await boardGenerationService.generateBoard(5, 5, 2); + + const luckFields = result.fields.filter(f => f.type === 'luck'); + luckFields.forEach(field => { + expect(field.stepValue).toBeUndefined(); + }); + }); + + it('should produce validation results without -1 values', async () => { + const result = await boardGenerationService.generateBoard(10, 8, 5); + + // Check validation results for invalid moves (-1 values) + let invalidMoves = 0; + let totalMoves = 0; + + Object.values(result.validationResults).forEach(diceOutcomes => { + diceOutcomes.forEach(outcome => { + totalMoves++; + if (outcome === -1) { + invalidMoves++; + } + }); + }); + + const errorRate = totalMoves > 0 ? (invalidMoves / totalMoves) * 100 : 0; + + // Log the results for analysis + console.log(`Error rate: ${errorRate}%`); + console.log(`Invalid moves: ${invalidMoves}/${totalMoves}`); + + // The new algorithm should produce much fewer invalid moves + expect(errorRate).toBeLessThan(50); // Allow some errors but much better than before + }); + + it('should respect the 20-30 movement rule in validation', async () => { + const result = await boardGenerationService.generateBoard(10, 8, 5); + + // Check each validation result to ensure it respects distance rules + Object.entries(result.validationResults).forEach(([fieldPosition, diceOutcomes]) => { + const currentPos = parseInt(fieldPosition); + + diceOutcomes.forEach((outcome, diceIndex) => { + if (outcome !== -1) { // Only check valid moves + const distance = Math.abs(outcome - currentPos); + + if (currentPos <= 85) { + // Fields 1-85: max 20 in any direction + expect(distance).toBeLessThanOrEqual(20); + } else { + // Fields 86-100: max 30 backward, max 20 forward + if (outcome > currentPos) { + expect(distance).toBeLessThanOrEqual(20); // forward + } else { + expect(distance).toBeLessThanOrEqual(30); // backward + } + } + } + }); + }); + }); + + it('should position special fields safely within the safe range', async () => { + const result = await boardGenerationService.generateBoard(10, 8, 5); + + const specialFields = result.fields.filter(f => f.type !== 'regular'); + + // Most special fields should be in the safe range (11-90) for the new algorithm + const safeFields = specialFields.filter(f => f.position >= 11 && f.position <= 90); + const safePercentage = (safeFields.length / specialFields.length) * 100; + + console.log(`Safe field percentage: ${safePercentage}%`); + + // Expect most fields to be positioned safely + expect(safePercentage).toBeGreaterThan(70); + }); + }); +}); \ No newline at end of file diff --git a/SerpentRace_Docker/.env.server b/SerpentRace_Docker/.env.server new file mode 100644 index 00000000..60be1d1e --- /dev/null +++ b/SerpentRace_Docker/.env.server @@ -0,0 +1,71 @@ +# SerpentRace Production Server Environment Variables +# IMPORTANT: Change all placeholder values before deployment! + +# Production settings +NODE_ENV=production + +# Database Configuration +DB_HOST=postgres +DB_PORT=5432 +DB_NAME=serpentrace +DB_USERNAME=postgres +# CHANGE THIS: Use a strong password +POSTGRES_PASSWORD=CHANGE_THIS_STRONG_DATABASE_PASSWORD_123! + +# Redis Configuration +REDIS_URL=redis://redis:6379 +REDIS_HOST=redis +REDIS_PORT=6379 +# CHANGE THIS: Set a Redis password for security +REDIS_PASSWORD=CHANGE_THIS_REDIS_PASSWORD_123! + +# JWT Configuration +# CHANGE THIS: Use a strong secret key (minimum 32 characters) +JWT_SECRET=CHANGE_THIS_JWT_SECRET_KEY_MINIMUM_32_CHARACTERS_FOR_PRODUCTION_SECURITY +JWT_EXPIRY=86400 +JWT_EXPIRATION=24h +JWT_REFRESH_EXPIRATION=7d + +# Email Configuration (SMTP) +# CHANGE THESE: Configure your email provider +EMAIL_HOST=smtp.yourmailprovider.com +EMAIL_PORT=587 +EMAIL_SECURE=false +EMAIL_USER=your_email@yourdomain.com +EMAIL_PASS=your_email_password +EMAIL_FROM="SerpentRace " + +# MinIO Object Storage +MINIO_ENDPOINT=minio +MINIO_PORT=9000 +MINIO_USE_SSL=false +# CHANGE THESE: Use strong credentials +MINIO_ACCESS_KEY=serpentrace_admin +MINIO_SECRET_KEY=CHANGE_THIS_MINIO_SECRET_KEY_123! +MINIO_BUCKET_NAME=serpentrace-logs + +# Application Settings +APP_BASE_URL=http://your-domain.com +PORT=3000 + +# Chat System Limits +CHAT_INACTIVITY_TIMEOUT_MINUTES=30 +CHAT_MAX_MESSAGES_PER_USER=100 +CHAT_MESSAGE_CLEANUP_WEEKS=4 + +# Logging +MAX_LOGS_PER_FILE=10000 + +# SSL/TLS Configuration (if using HTTPS) +# Uncomment and configure if you have SSL certificates +# SSL_CERT_PATH=/path/to/certificate.crt +# SSL_KEY_PATH=/path/to/private.key +# SSL_CA_PATH=/path/to/ca-bundle.crt + +# Security Headers (already configured in nginx) +# These are handled by the nginx configuration + +# Backup Configuration (optional) +# BACKUP_ENABLED=true +# BACKUP_SCHEDULE=0 2 * * * +# BACKUP_RETENTION_DAYS=30 \ No newline at end of file diff --git a/SerpentRace_Docker/deployment/.env.server b/SerpentRace_Docker/deployment/.env.server new file mode 100644 index 00000000..60be1d1e --- /dev/null +++ b/SerpentRace_Docker/deployment/.env.server @@ -0,0 +1,71 @@ +# SerpentRace Production Server Environment Variables +# IMPORTANT: Change all placeholder values before deployment! + +# Production settings +NODE_ENV=production + +# Database Configuration +DB_HOST=postgres +DB_PORT=5432 +DB_NAME=serpentrace +DB_USERNAME=postgres +# CHANGE THIS: Use a strong password +POSTGRES_PASSWORD=CHANGE_THIS_STRONG_DATABASE_PASSWORD_123! + +# Redis Configuration +REDIS_URL=redis://redis:6379 +REDIS_HOST=redis +REDIS_PORT=6379 +# CHANGE THIS: Set a Redis password for security +REDIS_PASSWORD=CHANGE_THIS_REDIS_PASSWORD_123! + +# JWT Configuration +# CHANGE THIS: Use a strong secret key (minimum 32 characters) +JWT_SECRET=CHANGE_THIS_JWT_SECRET_KEY_MINIMUM_32_CHARACTERS_FOR_PRODUCTION_SECURITY +JWT_EXPIRY=86400 +JWT_EXPIRATION=24h +JWT_REFRESH_EXPIRATION=7d + +# Email Configuration (SMTP) +# CHANGE THESE: Configure your email provider +EMAIL_HOST=smtp.yourmailprovider.com +EMAIL_PORT=587 +EMAIL_SECURE=false +EMAIL_USER=your_email@yourdomain.com +EMAIL_PASS=your_email_password +EMAIL_FROM="SerpentRace " + +# MinIO Object Storage +MINIO_ENDPOINT=minio +MINIO_PORT=9000 +MINIO_USE_SSL=false +# CHANGE THESE: Use strong credentials +MINIO_ACCESS_KEY=serpentrace_admin +MINIO_SECRET_KEY=CHANGE_THIS_MINIO_SECRET_KEY_123! +MINIO_BUCKET_NAME=serpentrace-logs + +# Application Settings +APP_BASE_URL=http://your-domain.com +PORT=3000 + +# Chat System Limits +CHAT_INACTIVITY_TIMEOUT_MINUTES=30 +CHAT_MAX_MESSAGES_PER_USER=100 +CHAT_MESSAGE_CLEANUP_WEEKS=4 + +# Logging +MAX_LOGS_PER_FILE=10000 + +# SSL/TLS Configuration (if using HTTPS) +# Uncomment and configure if you have SSL certificates +# SSL_CERT_PATH=/path/to/certificate.crt +# SSL_KEY_PATH=/path/to/private.key +# SSL_CA_PATH=/path/to/ca-bundle.crt + +# Security Headers (already configured in nginx) +# These are handled by the nginx configuration + +# Backup Configuration (optional) +# BACKUP_ENABLED=true +# BACKUP_SCHEDULE=0 2 * * * +# BACKUP_RETENTION_DAYS=30 \ No newline at end of file diff --git a/SerpentRace_Docker/deployment/README.md b/SerpentRace_Docker/deployment/README.md new file mode 100644 index 00000000..97a0a4bc --- /dev/null +++ b/SerpentRace_Docker/deployment/README.md @@ -0,0 +1,203 @@ +# SerpentRace Production Deployment Guide + +## Overview +This package contains everything needed to deploy SerpentRace in a production environment using pre-built Docker images. + +## Package Contents +- `serpentRaceDocker.tar` - All Docker images packed for deployment +- `docker-compose.deploy.yml` - Production Docker Compose configuration +- `.env.server` - Environment variables template for production +- `load-images.bat` - Automated deployment script for Windows servers +- `README.md` - This deployment guide + +## System Requirements +- Windows Server 2016+ or Windows 10/11 +- Docker Desktop or Docker Engine +- Docker Compose +- Minimum 4GB RAM, 20GB free disk space +- Network ports: 80, 443, 3000, 5432, 6379, 9000, 9001 + +## Pre-Deployment Configuration + +### 1. Environment Variables +Edit `.env.server` and update the following **REQUIRED** settings: + +```bash +# Database - Use a strong password +POSTGRES_PASSWORD=your_strong_database_password + +# JWT Security - Use a random 32+ character string +JWT_SECRET=your_super_secret_jwt_key_32_chars_minimum + +# Redis Security +REDIS_PASSWORD=your_redis_password + +# MinIO Storage +MINIO_ACCESS_KEY=your_minio_admin_user +MINIO_SECRET_KEY=your_minio_secret_key + +# Email Configuration (for notifications) +EMAIL_HOST=smtp.yourmailprovider.com +EMAIL_USER=your_email@yourdomain.com +EMAIL_PASS=your_email_password +EMAIL_FROM="SerpentRace " + +# Application URL +APP_BASE_URL=http://your-domain.com +``` + +### 2. Security Checklist +- [ ] Changed all default passwords +- [ ] Generated strong JWT secret (32+ characters) +- [ ] Configured email settings +- [ ] Updated domain name in APP_BASE_URL +- [ ] Configured firewall rules +- [ ] Planned SSL certificate setup + +## Deployment Steps + +### Automatic Deployment (Recommended) +1. Extract all files to your server directory +2. Edit `.env.server` with your configuration +3. Run `load-images.bat` +4. Follow the prompts + +### Manual Deployment +1. Load Docker images: + ```cmd + docker load -i serpentRaceDocker.tar + ``` + +2. Start services: + ```cmd + docker-compose -f docker-compose.deploy.yml --env-file .env.server up -d + ``` + +## Post-Deployment + +### Verify Services +Check that all services are running: +```cmd +docker-compose -f docker-compose.deploy.yml ps +``` + +### Access Points +- **Frontend Application**: http://localhost (or your domain) +- **Backend API**: http://localhost:3000 +- **MinIO Console**: http://localhost:9001 +- **Database**: localhost:5432 (internal access only) + +### Initial Setup +1. Access the frontend and verify it loads +2. Test user registration and login +3. Check backend API health: http://localhost:3000/health +4. Access MinIO console to verify storage + +### Security Hardening + +#### Firewall Configuration +Open only necessary ports: +- Port 80 (HTTP) - Public +- Port 443 (HTTPS) - Public (when SSL configured) +- Ports 3000, 5432, 6379, 9000, 9001 - Internal/VPN only + +#### SSL/TLS Setup +1. Obtain SSL certificates (Let's Encrypt, commercial CA) +2. Configure nginx for HTTPS in the frontend container +3. Update APP_BASE_URL to use https:// + +#### Regular Maintenance +- Monitor logs: `docker-compose -f docker-compose.deploy.yml logs -f` +- Update images periodically +- Backup database and MinIO data +- Monitor disk space and performance + +## Management Commands + +### View Logs +```cmd +# All services +docker-compose -f docker-compose.deploy.yml logs -f + +# Specific service +docker-compose -f docker-compose.deploy.yml logs -f backend +``` + +### Restart Services +```cmd +# Restart all +docker-compose -f docker-compose.deploy.yml restart + +# Restart specific service +docker-compose -f docker-compose.deploy.yml restart backend +``` + +### Stop Services +```cmd +docker-compose -f docker-compose.deploy.yml down +``` + +### Update Deployment +1. Stop current services +2. Load new images +3. Start services with new configuration + +## Backup Strategy + +### Database Backup +```cmd +docker exec serpentrace-postgres pg_dump -U postgres serpentrace > backup_$(date +%Y%m%d).sql +``` + +### Complete Backup +```cmd +# Stop services +docker-compose -f docker-compose.deploy.yml down + +# Backup volumes +docker run --rm -v postgres_data:/data -v %cd%:/backup ubuntu tar czf /backup/postgres_backup.tar.gz -C /data . +docker run --rm -v minio_data:/data -v %cd%:/backup ubuntu tar czf /backup/minio_backup.tar.gz -C /data . + +# Restart services +docker-compose -f docker-compose.deploy.yml up -d +``` + +## Troubleshooting + +### Common Issues + +#### Services Not Starting +1. Check Docker is running +2. Verify port availability +3. Check environment variables +4. Review logs for specific errors + +#### Database Connection Issues +1. Verify POSTGRES_PASSWORD matches in .env.server +2. Check database container is healthy +3. Ensure network connectivity + +#### Frontend Not Loading +1. Check nginx container status +2. Verify backend API is responding +3. Check browser console for errors + +#### Performance Issues +1. Monitor resource usage: `docker stats` +2. Check available disk space +3. Review application logs +4. Consider scaling if needed + +### Getting Help +- Check application logs for specific error messages +- Verify all environment variables are set correctly +- Ensure all required ports are available +- Contact support with log files and configuration details + +## Version Information +- SerpentRace Backend: Latest +- Frontend: Latest +- PostgreSQL: 15-alpine +- Redis: 7-alpine +- MinIO: Latest +- Nginx: Alpine \ No newline at end of file diff --git a/SerpentRace_Docker/deployment/docker-compose.deploy.yml b/SerpentRace_Docker/deployment/docker-compose.deploy.yml new file mode 100644 index 00000000..7a5d8e2f --- /dev/null +++ b/SerpentRace_Docker/deployment/docker-compose.deploy.yml @@ -0,0 +1,147 @@ +version: '3.8' + +services: + # Backend service using pre-built image + backend: + image: serpentrace-backend:latest + container_name: serpentrace-backend + restart: unless-stopped + ports: + - "3000:3000" + environment: + - NODE_ENV=production + - PORT=3000 + - DB_HOST=postgres + - DB_PORT=5432 + - DB_NAME=serpentrace + - DB_USERNAME=postgres + - DB_PASSWORD=${POSTGRES_PASSWORD} + - REDIS_URL=redis://redis:6379 + - REDIS_HOST=redis + - REDIS_PORT=6379 + - JWT_SECRET=${JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION:-24h} + - JWT_REFRESH_EXPIRATION=${JWT_REFRESH_EXPIRATION:-7d} + - MINIO_ENDPOINT=minio + - MINIO_PORT=9000 + - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} + - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} + - MINIO_USE_SSL=false + - EMAIL_HOST=${EMAIL_HOST} + - EMAIL_PORT=${EMAIL_PORT} + - EMAIL_SECURE=${EMAIL_SECURE} + - EMAIL_USER=${EMAIL_USER} + - EMAIL_PASS=${EMAIL_PASS} + - EMAIL_FROM=${EMAIL_FROM} + volumes: + - backend_logs:/app/logs + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + minio: + condition: service_healthy + networks: + - serpentrace-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3000/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + + # Frontend service using pre-built image + frontend: + image: serpentrace-frontend:latest + container_name: serpentrace-frontend + restart: unless-stopped + ports: + - "80:80" + - "443:443" + depends_on: + - backend + networks: + - serpentrace-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost/health"] + interval: 30s + timeout: 10s + retries: 3 + + # PostgreSQL Database + postgres: + image: postgres:15-alpine + container_name: serpentrace-postgres + restart: unless-stopped + ports: + - "5432:5432" + environment: + POSTGRES_DB: serpentrace + POSTGRES_USER: postgres + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_INITDB_ARGS: "--encoding=UTF-8" + volumes: + - postgres_data:/var/lib/postgresql/data + - ./sql_schema_only.sql:/docker-entrypoint-initdb.d/init.sql + networks: + - serpentrace-network + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 + + # Redis Cache + redis: + image: redis:7-alpine + container_name: serpentrace-redis + restart: unless-stopped + ports: + - "6379:6379" + volumes: + - redis_data:/data + command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD} + networks: + - serpentrace-network + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + + # MinIO Object Storage + minio: + image: minio/minio:latest + container_name: serpentrace-minio + restart: unless-stopped + ports: + - "9000:9000" + - "9001:9001" + environment: + MINIO_ROOT_USER: ${MINIO_ACCESS_KEY} + MINIO_ROOT_PASSWORD: ${MINIO_SECRET_KEY} + volumes: + - minio_data:/data + command: server /data --console-address ":9001" + networks: + - serpentrace-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + interval: 10s + timeout: 5s + retries: 5 + +volumes: + postgres_data: + driver: local + redis_data: + driver: local + minio_data: + driver: local + backend_logs: + driver: local + +networks: + serpentrace-network: + driver: bridge \ No newline at end of file diff --git a/SerpentRace_Docker/deployment/load-images.bat b/SerpentRace_Docker/deployment/load-images.bat new file mode 100644 index 00000000..583eea00 --- /dev/null +++ b/SerpentRace_Docker/deployment/load-images.bat @@ -0,0 +1,103 @@ +@echo off +REM SerpentRace Production Deployment Script +REM This script loads Docker images and starts the production environment + +setlocal EnableDelayedExpansion + +echo =============================================== +echo SerpentRace Production Deployment +echo =============================================== +echo. + +REM Check if Docker is installed +where docker >nul 2>nul +if %errorlevel% neq 0 ( + echo [ERROR] Docker is not installed. Please install Docker first. + pause + exit /b 1 +) + +where docker-compose >nul 2>nul +if %errorlevel% neq 0 ( + echo [ERROR] Docker Compose is not installed. Please install Docker Compose first. + pause + exit /b 1 +) + +REM Check if serpentRaceDocker.tar exists +if not exist "serpentRaceDocker.tar" ( + echo [ERROR] serpentRaceDocker.tar not found! + echo Please ensure the tar file is in the same directory as this script. + pause + exit /b 1 +) + +REM Check if environment file exists +if not exist ".env.server" ( + echo [ERROR] .env.server file not found! + echo Please ensure the environment file is configured. + pause + exit /b 1 +) + +echo [INFO] Loading Docker images from serpentRaceDocker.tar... +docker load -i serpentRaceDocker.tar +if %errorlevel% neq 0 ( + echo [ERROR] Failed to load Docker images! + pause + exit /b 1 +) + +echo [INFO] Images loaded successfully! +echo. + +REM Show loaded images +echo [INFO] Loaded images: +docker images | findstr serpentrace +docker images | findstr postgres +docker images | findstr redis +docker images | findstr minio +echo. + +echo [WARNING] Before starting the services, please review and update .env.server: +echo - Change all placeholder passwords +echo - Configure email settings +echo - Update domain names +echo - Set strong JWT secret +echo. +echo Press any key to continue with deployment or Ctrl+C to exit... +pause >nul + +echo [INFO] Starting production services... +docker-compose -f docker-compose.deploy.yml --env-file .env.server up -d + +if %errorlevel% neq 0 ( + echo [ERROR] Failed to start services! + pause + exit /b 1 +) + +echo. +echo =============================================== +echo Deployment Complete! +echo =============================================== +echo. +echo Services are starting up. Please wait a few moments for all services to be ready. +echo. +echo Available services: +echo - Frontend: http://localhost (or your domain) +echo - Backend API: http://localhost:3000 +echo - MinIO Console: http://localhost:9001 +echo. +echo To check service status: docker-compose -f docker-compose.deploy.yml ps +echo To view logs: docker-compose -f docker-compose.deploy.yml logs -f [service_name] +echo To stop services: docker-compose -f docker-compose.deploy.yml down +echo. +echo IMPORTANT SECURITY NOTES: +echo 1. Change all default passwords in .env.server +echo 2. Configure firewall rules for your server +echo 3. Set up SSL/TLS certificates for HTTPS +echo 4. Configure regular backups +echo 5. Monitor logs and system resources +echo. +pause \ No newline at end of file diff --git a/SerpentRace_Docker/deployment/load-images.sh b/SerpentRace_Docker/deployment/load-images.sh new file mode 100644 index 00000000..481949ee --- /dev/null +++ b/SerpentRace_Docker/deployment/load-images.sh @@ -0,0 +1,81 @@ +#!/bin/bash +# SerpentRace Production Deployment Script for Linux +# This script loads Docker images and starts the production environment + +set -e + +echo "===============================================" +echo "SerpentRace Production Deployment" +echo "===============================================" +echo + +# Check if Docker is installed +if ! command -v docker &> /dev/null; then + echo "[ERROR] Docker is not installed. Please install Docker first." + exit 1 +fi + +if ! command -v docker-compose &> /dev/null; then + echo "[ERROR] Docker Compose is not installed. Please install Docker Compose first." + exit 1 +fi + +# Check if serpentRaceDocker.tar exists +if [ ! -f "serpentRaceDocker.tar" ]; then + echo "[ERROR] serpentRaceDocker.tar not found!" + echo "Please ensure the tar file is in the same directory as this script." + exit 1 +fi + +# Check if environment file exists +if [ ! -f ".env.server" ]; then + echo "[ERROR] .env.server file not found!" + echo "Please ensure the environment file is configured." + exit 1 +fi + +echo "[INFO] Loading Docker images from serpentRaceDocker.tar..." +docker load -i serpentRaceDocker.tar + +echo "[INFO] Images loaded successfully!" +echo + +# Show loaded images +echo "[INFO] Loaded images:" +docker images | grep -E "(serpentrace|postgres|redis|minio)" +echo + +echo "[WARNING] Before starting the services, please review and update .env.server:" +echo " - Change all placeholder passwords" +echo " - Configure email settings" +echo " - Update domain names" +echo " - Set strong JWT secret" +echo +read -p "Press Enter to continue with deployment or Ctrl+C to exit..." + +echo "[INFO] Starting production services..." +docker-compose -f docker-compose.deploy.yml --env-file .env.server up -d + +echo +echo "===============================================" +echo "Deployment Complete!" +echo "===============================================" +echo +echo "Services are starting up. Please wait a few moments for all services to be ready." +echo +echo "Available services:" +echo " - Frontend: http://localhost (or your domain)" +echo " - Backend API: http://localhost:3000" +echo " - MinIO Console: http://localhost:9001" +echo +echo "To check service status: docker-compose -f docker-compose.deploy.yml ps" +echo "To view logs: docker-compose -f docker-compose.deploy.yml logs -f [service_name]" +echo "To stop services: docker-compose -f docker-compose.deploy.yml down" +echo +echo "IMPORTANT SECURITY NOTES:" +echo "1. Change all default passwords in .env.server" +echo "2. Configure firewall rules for your server" +echo "3. Set up SSL/TLS certificates for HTTPS" +echo "4. Configure regular backups" +echo "5. Monitor logs and system resources" +echo \ No newline at end of file diff --git a/SerpentRace_Docker/deployment/serpentRaceDocker.tar b/SerpentRace_Docker/deployment/serpentRaceDocker.tar new file mode 100644 index 00000000..a4a84819 Binary files /dev/null and b/SerpentRace_Docker/deployment/serpentRaceDocker.tar differ diff --git a/SerpentRace_Docker/deployment/sql_schema_only.sql b/SerpentRace_Docker/deployment/sql_schema_only.sql new file mode 100644 index 00000000..e36d9e25 --- /dev/null +++ b/SerpentRace_Docker/deployment/sql_schema_only.sql @@ -0,0 +1,236 @@ +-- SerpentRace Database Schema +-- Generated from TypeORM Entity Aggregates +-- This file creates the complete database schema without initial data + +-- Enable UUID extension +CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; + +-- Create Users table +CREATE TABLE "Users" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "orgid" UUID NULL, + "username" VARCHAR(100) UNIQUE NOT NULL, + "password" VARCHAR(255) NOT NULL, + "email" VARCHAR(255) UNIQUE NOT NULL, + "fname" VARCHAR(100) NOT NULL, + "lname" VARCHAR(100) NOT NULL, + "token" VARCHAR(255) NULL, + "TokenExpires" TIMESTAMP NULL, + "phone" VARCHAR(20) NULL, + "state" INTEGER NOT NULL DEFAULT 0, + "regdate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "Orglogindate" TIMESTAMP NULL +); + +-- Create Organizations table +CREATE TABLE "Organizations" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "name" VARCHAR(255) NOT NULL, + "contactfname" VARCHAR(100) NOT NULL, + "contactlname" VARCHAR(100) NOT NULL, + "contactphone" VARCHAR(20) NOT NULL, + "contactemail" VARCHAR(255) NOT NULL, + "state" INTEGER NOT NULL DEFAULT 0, + "regdate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "url" VARCHAR(500) NULL, + "userinorg" INTEGER NOT NULL DEFAULT 0, + "maxOrganizationalDecks" INTEGER NULL +); + +-- Create Decks table +CREATE TABLE "Decks" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "name" VARCHAR(255) NOT NULL, + "type" INTEGER NOT NULL, + "user_id" UUID NOT NULL, + "creation_date" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "cards" JSONB NOT NULL DEFAULT '[]', + "played_number" INTEGER NOT NULL DEFAULT 0, + "ctype" INTEGER NOT NULL DEFAULT 0, + "update_date" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "state" INTEGER NOT NULL DEFAULT 0, + "organization_id" UUID NULL +); + +-- Create Chats table +CREATE TABLE "Chats" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "type" VARCHAR(50) NOT NULL DEFAULT 'direct', + "name" VARCHAR(255) NULL, + "gameId" UUID NULL, + "createdBy" UUID NULL, + "users" UUID[] NOT NULL, + "messages" JSONB NOT NULL DEFAULT '[]', + "lastActivity" TIMESTAMP NULL, + "createDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updateDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "state" INTEGER NOT NULL DEFAULT 0, + "archiveDate" TIMESTAMP NULL +); + +-- Create Contacts table +CREATE TABLE "Contacts" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "name" VARCHAR(255) NOT NULL, + "email" VARCHAR(255) NOT NULL, + "userid" UUID NULL, + "type" INTEGER NOT NULL, + "txt" TEXT NOT NULL, + "state" INTEGER NOT NULL DEFAULT 0, + "createDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updateDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "adminResponse" TEXT NULL, + "responseDate" TIMESTAMP NULL, + "respondedBy" UUID NULL +); + +-- Create Games table +CREATE TABLE "Games" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "gamecode" VARCHAR(10) UNIQUE NOT NULL, + "maxplayers" INTEGER NOT NULL, + "logintype" INTEGER NOT NULL DEFAULT 0, + "state" INTEGER NOT NULL DEFAULT 0, + "playerids" UUID[] NOT NULL DEFAULT '{}', + "decks" JSONB NOT NULL DEFAULT '[]', + "boardsize" INTEGER NOT NULL DEFAULT 50, + "createDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updateDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "finishDate" TIMESTAMP NULL, + "winnerid" UUID NULL, + "createdBy" UUID NOT NULL, + "organizationid" UUID NULL +); + +-- Add Foreign Key Constraints +ALTER TABLE "Users" +ADD CONSTRAINT "FK_Users_Organizations" +FOREIGN KEY ("orgid") REFERENCES "Organizations"("id") ON DELETE SET NULL; + +ALTER TABLE "Decks" +ADD CONSTRAINT "FK_Decks_Users" +FOREIGN KEY ("user_id") REFERENCES "Users"("id") ON DELETE CASCADE; + +ALTER TABLE "Decks" +ADD CONSTRAINT "FK_Decks_Organizations" +FOREIGN KEY ("organization_id") REFERENCES "Organizations"("id") ON DELETE SET NULL; + +ALTER TABLE "Contacts" +ADD CONSTRAINT "FK_Contacts_Users" +FOREIGN KEY ("userid") REFERENCES "Users"("id") ON DELETE SET NULL; + +ALTER TABLE "Contacts" +ADD CONSTRAINT "FK_Contacts_RespondedBy" +FOREIGN KEY ("respondedBy") REFERENCES "Users"("id") ON DELETE SET NULL; + +ALTER TABLE "Chats" +ADD CONSTRAINT "FK_Chats_CreatedBy" +FOREIGN KEY ("createdBy") REFERENCES "Users"("id") ON DELETE SET NULL; + +ALTER TABLE "Chats" +ADD CONSTRAINT "FK_Chats_Games" +FOREIGN KEY ("gameId") REFERENCES "Games"("id") ON DELETE SET NULL; + +ALTER TABLE "Games" +ADD CONSTRAINT "FK_Games_CreatedBy" +FOREIGN KEY ("createdBy") REFERENCES "Users"("id") ON DELETE CASCADE; + +ALTER TABLE "Games" +ADD CONSTRAINT "FK_Games_Organizations" +FOREIGN KEY ("organizationid") REFERENCES "Organizations"("id") ON DELETE SET NULL; + +ALTER TABLE "Games" +ADD CONSTRAINT "FK_Games_Winner" +FOREIGN KEY ("winnerid") REFERENCES "Users"("id") ON DELETE SET NULL; + +-- Create Indexes for Performance +CREATE INDEX "IDX_Users_Username" ON "Users" ("username"); +CREATE INDEX "IDX_Users_Email" ON "Users" ("email"); +CREATE INDEX "IDX_Users_OrgId" ON "Users" ("orgid"); +CREATE INDEX "IDX_Users_State" ON "Users" ("state"); + +CREATE INDEX "IDX_Organizations_Name" ON "Organizations" ("name"); +CREATE INDEX "IDX_Organizations_State" ON "Organizations" ("state"); + +CREATE INDEX "IDX_Decks_UserId" ON "Decks" ("user_id"); +CREATE INDEX "IDX_Decks_Type" ON "Decks" ("type"); +CREATE INDEX "IDX_Decks_CType" ON "Decks" ("ctype"); +CREATE INDEX "IDX_Decks_State" ON "Decks" ("state"); +CREATE INDEX "IDX_Decks_OrganizationId" ON "Decks" ("organization_id"); + +CREATE INDEX "IDX_Chats_Type" ON "Chats" ("type"); +CREATE INDEX "IDX_Chats_State" ON "Chats" ("state"); +CREATE INDEX "IDX_Chats_GameId" ON "Chats" ("gameId"); +CREATE INDEX "IDX_Chats_CreatedBy" ON "Chats" ("createdBy"); + +CREATE INDEX "IDX_Contacts_Type" ON "Contacts" ("type"); +CREATE INDEX "IDX_Contacts_State" ON "Contacts" ("state"); +CREATE INDEX "IDX_Contacts_UserId" ON "Contacts" ("userid"); + +CREATE INDEX "IDX_Games_GameCode" ON "Games" ("gamecode"); +CREATE INDEX "IDX_Games_State" ON "Games" ("state"); +CREATE INDEX "IDX_Games_CreatedBy" ON "Games" ("createdBy"); +CREATE INDEX "IDX_Games_OrganizationId" ON "Games" ("organizationid"); + +-- Create update trigger for updatedate columns +CREATE OR REPLACE FUNCTION update_updatedate_column() +RETURNS TRIGGER AS $$ +BEGIN + NEW.updatedate = CURRENT_TIMESTAMP; + RETURN NEW; +END; +$$ language 'plpgsql'; + +-- Apply update triggers +CREATE TRIGGER update_users_updatedate + BEFORE UPDATE ON "Users" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_organizations_updatedate + BEFORE UPDATE ON "Organizations" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_decks_updatedate + BEFORE UPDATE ON "Decks" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_chats_updatedate + BEFORE UPDATE ON "Chats" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_contacts_updatedate + BEFORE UPDATE ON "Contacts" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_games_updatedate + BEFORE UPDATE ON "Games" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +-- Comments for documentation +COMMENT ON TABLE "Users" IS 'User accounts with authentication and profile information'; +COMMENT ON TABLE "Organizations" IS 'Organizations that can have multiple users and premium features'; +COMMENT ON TABLE "Decks" IS 'Card decks for the game, can be public, private, or organizational'; +COMMENT ON TABLE "Chats" IS 'Chat system supporting direct messages, groups, and game chats'; +COMMENT ON TABLE "Contacts" IS 'Contact form submissions and support tickets'; +COMMENT ON TABLE "Games" IS 'Game sessions with players, decks, and game state'; + +-- Enum value comments +COMMENT ON COLUMN "Users"."state" IS '0=REGISTERED_NOT_VERIFIED, 1=VERIFIED_REGULAR, 2=VERIFIED_PREMIUM, 3=SOFT_DELETE, 4=DEACTIVATED, 5=ADMIN'; +COMMENT ON COLUMN "Organizations"."state" IS '0=REGISTERED, 1=ACTIVE, 2=SOFT_DELETE'; +COMMENT ON COLUMN "Decks"."type" IS '0=LUCK, 1=JOKER, 2=QUESTION'; +COMMENT ON COLUMN "Decks"."ctype" IS '0=PUBLIC, 1=PRIVATE, 2=ORGANIZATION'; +COMMENT ON COLUMN "Decks"."state" IS '0=ACTIVE, 1=SOFT_DELETE'; +COMMENT ON COLUMN "Chats"."type" IS 'direct, group, game'; +COMMENT ON COLUMN "Chats"."state" IS '0=ACTIVE, 1=ARCHIVE, 2=SOFT_DELETE'; +COMMENT ON COLUMN "Contacts"."type" IS '0=BUG, 1=PROBLEM, 2=QUESTION, 3=SALES, 4=OTHER'; +COMMENT ON COLUMN "Contacts"."state" IS '0=ACTIVE, 1=RESOLVED, 2=SOFT_DELETE'; +COMMENT ON COLUMN "Games"."state" IS '0=WAITING, 1=ACTIVE, 2=FINISHED, 3=CANCELLED'; +COMMENT ON COLUMN "Games"."logintype" IS '0=PUBLIC, 1=PRIVATE, 2=ORGANIZATION'; + +-- Grant permissions for application user +-- Note: Replace 'serpentrace_app' with your actual application database user +-- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO serpentrace_app; +-- GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO serpentrace_app; +-- GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO serpentrace_app; \ No newline at end of file diff --git a/SerpentRace_Docker/docker-compose.deploy.yml b/SerpentRace_Docker/docker-compose.deploy.yml new file mode 100644 index 00000000..7a5d8e2f --- /dev/null +++ b/SerpentRace_Docker/docker-compose.deploy.yml @@ -0,0 +1,147 @@ +version: '3.8' + +services: + # Backend service using pre-built image + backend: + image: serpentrace-backend:latest + container_name: serpentrace-backend + restart: unless-stopped + ports: + - "3000:3000" + environment: + - NODE_ENV=production + - PORT=3000 + - DB_HOST=postgres + - DB_PORT=5432 + - DB_NAME=serpentrace + - DB_USERNAME=postgres + - DB_PASSWORD=${POSTGRES_PASSWORD} + - REDIS_URL=redis://redis:6379 + - REDIS_HOST=redis + - REDIS_PORT=6379 + - JWT_SECRET=${JWT_SECRET} + - JWT_EXPIRATION=${JWT_EXPIRATION:-24h} + - JWT_REFRESH_EXPIRATION=${JWT_REFRESH_EXPIRATION:-7d} + - MINIO_ENDPOINT=minio + - MINIO_PORT=9000 + - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} + - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} + - MINIO_USE_SSL=false + - EMAIL_HOST=${EMAIL_HOST} + - EMAIL_PORT=${EMAIL_PORT} + - EMAIL_SECURE=${EMAIL_SECURE} + - EMAIL_USER=${EMAIL_USER} + - EMAIL_PASS=${EMAIL_PASS} + - EMAIL_FROM=${EMAIL_FROM} + volumes: + - backend_logs:/app/logs + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + minio: + condition: service_healthy + networks: + - serpentrace-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3000/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + + # Frontend service using pre-built image + frontend: + image: serpentrace-frontend:latest + container_name: serpentrace-frontend + restart: unless-stopped + ports: + - "80:80" + - "443:443" + depends_on: + - backend + networks: + - serpentrace-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost/health"] + interval: 30s + timeout: 10s + retries: 3 + + # PostgreSQL Database + postgres: + image: postgres:15-alpine + container_name: serpentrace-postgres + restart: unless-stopped + ports: + - "5432:5432" + environment: + POSTGRES_DB: serpentrace + POSTGRES_USER: postgres + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_INITDB_ARGS: "--encoding=UTF-8" + volumes: + - postgres_data:/var/lib/postgresql/data + - ./sql_schema_only.sql:/docker-entrypoint-initdb.d/init.sql + networks: + - serpentrace-network + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 + + # Redis Cache + redis: + image: redis:7-alpine + container_name: serpentrace-redis + restart: unless-stopped + ports: + - "6379:6379" + volumes: + - redis_data:/data + command: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD} + networks: + - serpentrace-network + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + + # MinIO Object Storage + minio: + image: minio/minio:latest + container_name: serpentrace-minio + restart: unless-stopped + ports: + - "9000:9000" + - "9001:9001" + environment: + MINIO_ROOT_USER: ${MINIO_ACCESS_KEY} + MINIO_ROOT_PASSWORD: ${MINIO_SECRET_KEY} + volumes: + - minio_data:/data + command: server /data --console-address ":9001" + networks: + - serpentrace-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + interval: 10s + timeout: 5s + retries: 5 + +volumes: + postgres_data: + driver: local + redis_data: + driver: local + minio_data: + driver: local + backend_logs: + driver: local + +networks: + serpentrace-network: + driver: bridge \ No newline at end of file diff --git a/SerpentRace_Docker/sql_schema_only.sql b/SerpentRace_Docker/sql_schema_only.sql new file mode 100644 index 00000000..e36d9e25 --- /dev/null +++ b/SerpentRace_Docker/sql_schema_only.sql @@ -0,0 +1,236 @@ +-- SerpentRace Database Schema +-- Generated from TypeORM Entity Aggregates +-- This file creates the complete database schema without initial data + +-- Enable UUID extension +CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; + +-- Create Users table +CREATE TABLE "Users" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "orgid" UUID NULL, + "username" VARCHAR(100) UNIQUE NOT NULL, + "password" VARCHAR(255) NOT NULL, + "email" VARCHAR(255) UNIQUE NOT NULL, + "fname" VARCHAR(100) NOT NULL, + "lname" VARCHAR(100) NOT NULL, + "token" VARCHAR(255) NULL, + "TokenExpires" TIMESTAMP NULL, + "phone" VARCHAR(20) NULL, + "state" INTEGER NOT NULL DEFAULT 0, + "regdate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "Orglogindate" TIMESTAMP NULL +); + +-- Create Organizations table +CREATE TABLE "Organizations" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "name" VARCHAR(255) NOT NULL, + "contactfname" VARCHAR(100) NOT NULL, + "contactlname" VARCHAR(100) NOT NULL, + "contactphone" VARCHAR(20) NOT NULL, + "contactemail" VARCHAR(255) NOT NULL, + "state" INTEGER NOT NULL DEFAULT 0, + "regdate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "url" VARCHAR(500) NULL, + "userinorg" INTEGER NOT NULL DEFAULT 0, + "maxOrganizationalDecks" INTEGER NULL +); + +-- Create Decks table +CREATE TABLE "Decks" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "name" VARCHAR(255) NOT NULL, + "type" INTEGER NOT NULL, + "user_id" UUID NOT NULL, + "creation_date" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "cards" JSONB NOT NULL DEFAULT '[]', + "played_number" INTEGER NOT NULL DEFAULT 0, + "ctype" INTEGER NOT NULL DEFAULT 0, + "update_date" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "state" INTEGER NOT NULL DEFAULT 0, + "organization_id" UUID NULL +); + +-- Create Chats table +CREATE TABLE "Chats" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "type" VARCHAR(50) NOT NULL DEFAULT 'direct', + "name" VARCHAR(255) NULL, + "gameId" UUID NULL, + "createdBy" UUID NULL, + "users" UUID[] NOT NULL, + "messages" JSONB NOT NULL DEFAULT '[]', + "lastActivity" TIMESTAMP NULL, + "createDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updateDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "state" INTEGER NOT NULL DEFAULT 0, + "archiveDate" TIMESTAMP NULL +); + +-- Create Contacts table +CREATE TABLE "Contacts" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "name" VARCHAR(255) NOT NULL, + "email" VARCHAR(255) NOT NULL, + "userid" UUID NULL, + "type" INTEGER NOT NULL, + "txt" TEXT NOT NULL, + "state" INTEGER NOT NULL DEFAULT 0, + "createDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updateDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "adminResponse" TEXT NULL, + "responseDate" TIMESTAMP NULL, + "respondedBy" UUID NULL +); + +-- Create Games table +CREATE TABLE "Games" ( + "id" UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + "gamecode" VARCHAR(10) UNIQUE NOT NULL, + "maxplayers" INTEGER NOT NULL, + "logintype" INTEGER NOT NULL DEFAULT 0, + "state" INTEGER NOT NULL DEFAULT 0, + "playerids" UUID[] NOT NULL DEFAULT '{}', + "decks" JSONB NOT NULL DEFAULT '[]', + "boardsize" INTEGER NOT NULL DEFAULT 50, + "createDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updateDate" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + "finishDate" TIMESTAMP NULL, + "winnerid" UUID NULL, + "createdBy" UUID NOT NULL, + "organizationid" UUID NULL +); + +-- Add Foreign Key Constraints +ALTER TABLE "Users" +ADD CONSTRAINT "FK_Users_Organizations" +FOREIGN KEY ("orgid") REFERENCES "Organizations"("id") ON DELETE SET NULL; + +ALTER TABLE "Decks" +ADD CONSTRAINT "FK_Decks_Users" +FOREIGN KEY ("user_id") REFERENCES "Users"("id") ON DELETE CASCADE; + +ALTER TABLE "Decks" +ADD CONSTRAINT "FK_Decks_Organizations" +FOREIGN KEY ("organization_id") REFERENCES "Organizations"("id") ON DELETE SET NULL; + +ALTER TABLE "Contacts" +ADD CONSTRAINT "FK_Contacts_Users" +FOREIGN KEY ("userid") REFERENCES "Users"("id") ON DELETE SET NULL; + +ALTER TABLE "Contacts" +ADD CONSTRAINT "FK_Contacts_RespondedBy" +FOREIGN KEY ("respondedBy") REFERENCES "Users"("id") ON DELETE SET NULL; + +ALTER TABLE "Chats" +ADD CONSTRAINT "FK_Chats_CreatedBy" +FOREIGN KEY ("createdBy") REFERENCES "Users"("id") ON DELETE SET NULL; + +ALTER TABLE "Chats" +ADD CONSTRAINT "FK_Chats_Games" +FOREIGN KEY ("gameId") REFERENCES "Games"("id") ON DELETE SET NULL; + +ALTER TABLE "Games" +ADD CONSTRAINT "FK_Games_CreatedBy" +FOREIGN KEY ("createdBy") REFERENCES "Users"("id") ON DELETE CASCADE; + +ALTER TABLE "Games" +ADD CONSTRAINT "FK_Games_Organizations" +FOREIGN KEY ("organizationid") REFERENCES "Organizations"("id") ON DELETE SET NULL; + +ALTER TABLE "Games" +ADD CONSTRAINT "FK_Games_Winner" +FOREIGN KEY ("winnerid") REFERENCES "Users"("id") ON DELETE SET NULL; + +-- Create Indexes for Performance +CREATE INDEX "IDX_Users_Username" ON "Users" ("username"); +CREATE INDEX "IDX_Users_Email" ON "Users" ("email"); +CREATE INDEX "IDX_Users_OrgId" ON "Users" ("orgid"); +CREATE INDEX "IDX_Users_State" ON "Users" ("state"); + +CREATE INDEX "IDX_Organizations_Name" ON "Organizations" ("name"); +CREATE INDEX "IDX_Organizations_State" ON "Organizations" ("state"); + +CREATE INDEX "IDX_Decks_UserId" ON "Decks" ("user_id"); +CREATE INDEX "IDX_Decks_Type" ON "Decks" ("type"); +CREATE INDEX "IDX_Decks_CType" ON "Decks" ("ctype"); +CREATE INDEX "IDX_Decks_State" ON "Decks" ("state"); +CREATE INDEX "IDX_Decks_OrganizationId" ON "Decks" ("organization_id"); + +CREATE INDEX "IDX_Chats_Type" ON "Chats" ("type"); +CREATE INDEX "IDX_Chats_State" ON "Chats" ("state"); +CREATE INDEX "IDX_Chats_GameId" ON "Chats" ("gameId"); +CREATE INDEX "IDX_Chats_CreatedBy" ON "Chats" ("createdBy"); + +CREATE INDEX "IDX_Contacts_Type" ON "Contacts" ("type"); +CREATE INDEX "IDX_Contacts_State" ON "Contacts" ("state"); +CREATE INDEX "IDX_Contacts_UserId" ON "Contacts" ("userid"); + +CREATE INDEX "IDX_Games_GameCode" ON "Games" ("gamecode"); +CREATE INDEX "IDX_Games_State" ON "Games" ("state"); +CREATE INDEX "IDX_Games_CreatedBy" ON "Games" ("createdBy"); +CREATE INDEX "IDX_Games_OrganizationId" ON "Games" ("organizationid"); + +-- Create update trigger for updatedate columns +CREATE OR REPLACE FUNCTION update_updatedate_column() +RETURNS TRIGGER AS $$ +BEGIN + NEW.updatedate = CURRENT_TIMESTAMP; + RETURN NEW; +END; +$$ language 'plpgsql'; + +-- Apply update triggers +CREATE TRIGGER update_users_updatedate + BEFORE UPDATE ON "Users" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_organizations_updatedate + BEFORE UPDATE ON "Organizations" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_decks_updatedate + BEFORE UPDATE ON "Decks" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_chats_updatedate + BEFORE UPDATE ON "Chats" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_contacts_updatedate + BEFORE UPDATE ON "Contacts" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +CREATE TRIGGER update_games_updatedate + BEFORE UPDATE ON "Games" + FOR EACH ROW EXECUTE FUNCTION update_updatedate_column(); + +-- Comments for documentation +COMMENT ON TABLE "Users" IS 'User accounts with authentication and profile information'; +COMMENT ON TABLE "Organizations" IS 'Organizations that can have multiple users and premium features'; +COMMENT ON TABLE "Decks" IS 'Card decks for the game, can be public, private, or organizational'; +COMMENT ON TABLE "Chats" IS 'Chat system supporting direct messages, groups, and game chats'; +COMMENT ON TABLE "Contacts" IS 'Contact form submissions and support tickets'; +COMMENT ON TABLE "Games" IS 'Game sessions with players, decks, and game state'; + +-- Enum value comments +COMMENT ON COLUMN "Users"."state" IS '0=REGISTERED_NOT_VERIFIED, 1=VERIFIED_REGULAR, 2=VERIFIED_PREMIUM, 3=SOFT_DELETE, 4=DEACTIVATED, 5=ADMIN'; +COMMENT ON COLUMN "Organizations"."state" IS '0=REGISTERED, 1=ACTIVE, 2=SOFT_DELETE'; +COMMENT ON COLUMN "Decks"."type" IS '0=LUCK, 1=JOKER, 2=QUESTION'; +COMMENT ON COLUMN "Decks"."ctype" IS '0=PUBLIC, 1=PRIVATE, 2=ORGANIZATION'; +COMMENT ON COLUMN "Decks"."state" IS '0=ACTIVE, 1=SOFT_DELETE'; +COMMENT ON COLUMN "Chats"."type" IS 'direct, group, game'; +COMMENT ON COLUMN "Chats"."state" IS '0=ACTIVE, 1=ARCHIVE, 2=SOFT_DELETE'; +COMMENT ON COLUMN "Contacts"."type" IS '0=BUG, 1=PROBLEM, 2=QUESTION, 3=SALES, 4=OTHER'; +COMMENT ON COLUMN "Contacts"."state" IS '0=ACTIVE, 1=RESOLVED, 2=SOFT_DELETE'; +COMMENT ON COLUMN "Games"."state" IS '0=WAITING, 1=ACTIVE, 2=FINISHED, 3=CANCELLED'; +COMMENT ON COLUMN "Games"."logintype" IS '0=PUBLIC, 1=PRIVATE, 2=ORGANIZATION'; + +-- Grant permissions for application user +-- Note: Replace 'serpentrace_app' with your actual application database user +-- GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO serpentrace_app; +-- GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO serpentrace_app; +-- GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO serpentrace_app; \ No newline at end of file