Files
gridpilot.gg/website_logs.txt
2026-01-17 18:28:10 +01:00

501 lines
22 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[WEBSITE] INFO: [RouteGuard] Auth page detected
Timestamp: 2026-01-17T15:51:02.368Z
Source: website
[SESSION] Using server component cookies, length: 0
[SESSION] Cookie string:
[SESSION] No cookies found, returning null
[WEBSITE] INFO: [RouteGuard] No session, allowing access to auth page
Timestamp: 2026-01-17T15:51:02.377Z
Source: website
GET /auth/login?returnTo=%2Fdashboard 200 in 90ms
[WEBSITE] INFO: [MIDDLEWARE] ========== REQUEST START ==========
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.491Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [MIDDLEWARE] Request details
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.491Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
pathname: '/',
method: 'GET',
url: 'http://localhost:3000/',
cookieHeaderLength: 0,
cookiePreview: ''
}
[WEBSITE] INFO: [MIDDLEWARE] Fetching session...
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.491Z
%cSource: color: #666; font-weight: bold; website
[SESSION] NextRequest cookie header length: 0
[SESSION] NextRequest cookie header:
[SESSION] Using provided cookie header, length: 0
[SESSION] Cookie string:
[SESSION] No cookies found, returning null
[WEBSITE] INFO: [MIDDLEWARE] Session fetched
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.491Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
hasSession: false,
userId: undefined,
role: undefined,
sessionData: 'null'
}
[WEBSITE] INFO: [MIDDLEWARE] Auth session converted
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.491Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ authSession: 'null' }
[WEBSITE] INFO: [RouteConfig] isPublic check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.491Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/' }
[WEBSITE] INFO: [RouteConfig] Path is public (exact match)
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/' }
[WEBSITE] INFO: [RouteConfig] requiresRole check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/' }
[WEBSITE] INFO: [RouteConfig] Path requires no specific role
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/' }
[WEBSITE] INFO: [MIDDLEWARE] Route classification
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/', isPublic: true, requiresRole: null }
[WEBSITE] INFO: [MIDDLEWARE] Calling handleAuthFlow...
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [handleAuthFlow] Called
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ hasSession: false, sessionRole: undefined, requestedPath: '/' }
[WEBSITE] INFO: [RouteConfig] isPublic check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/' }
[WEBSITE] INFO: [RouteConfig] Path is public (exact match)
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/' }
[WEBSITE] INFO: [RouteConfig] requiresRole check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/' }
[WEBSITE] INFO: [RouteConfig] Path requires no specific role
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/' }
[WEBSITE] INFO: [AuthFlowRouter] getAction called
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
requestedPath: '/',
isPublic: true,
hasSession: false,
requiredRoles: null
}
[WEBSITE] INFO: [AuthFlowRouter] Public route, showing page
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [handleAuthFlow] Action determined
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ actionType: 'SHOW_PAGE', action: '{\n "type": "SHOW_PAGE"\n}' }
[WEBSITE] INFO: [handleAuthFlow] Returning SHOW_PAGE
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [MIDDLEWARE] handleAuthFlow result
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
result: '{\n "shouldRedirect": false,\n "shouldShowPage": true\n}'
}
[WEBSITE] INFO: [MIDDLEWARE] Decision summary
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
pathname: '/',
hasSession: false,
role: undefined,
shouldRedirect: false,
redirectUrl: undefined
}
[WEBSITE] INFO: [MIDDLEWARE] ALLOWING ACCESS
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ pathname: '/' }
[WEBSITE] INFO: [MIDDLEWARE] ========== REQUEST END (ALLOW) ==========
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.492Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: Global error handler skipped (server-side)
Timestamp: 2026-01-17T15:51:07.517Z
Source: website
🐛 [WEBSITE] DEBUG: API Request: GET http://api:3000/auth/session
Timestamp: 2026-01-17T15:51:07.519Z
Source: website
Context:
{
requestId: 'req_1768665067519_1',
timestamp: '2026-01-17T15:51:07.519Z',
headers: { 'Content-Type': 'application/json' },
body: undefined
}
[WEBSITE] INFO: API Response: GET http://api:3000/auth/session
Timestamp: 2026-01-17T15:51:07.559Z
Source: website
Context:
{
requestId: 'req_1768665067519_1',
duration: '39.00ms',
status: '200 OK',
body: null
}
[WEBSITE] INFO: [MIDDLEWARE] ========== REQUEST START ==========
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [MIDDLEWARE] Request details
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
pathname: '/dashboard',
method: 'GET',
url: 'http://localhost:3000/dashboard',
cookieHeaderLength: 0,
cookiePreview: ''
}
[WEBSITE] INFO: [MIDDLEWARE] Fetching session...
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
[SESSION] NextRequest cookie header length: 0
[SESSION] NextRequest cookie header:
[SESSION] Using provided cookie header, length: 0
[SESSION] Cookie string:
[SESSION] No cookies found, returning null
[WEBSITE] INFO: [MIDDLEWARE] Session fetched
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
hasSession: false,
userId: undefined,
role: undefined,
sessionData: 'null'
}
[WEBSITE] INFO: [MIDDLEWARE] Auth session converted
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ authSession: 'null' }
[WEBSITE] INFO: [RouteConfig] isPublic check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/dashboard' }
[WEBSITE] INFO: [RouteConfig] Path is NOT public
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/dashboard' }
[WEBSITE] INFO: [RouteConfig] requiresRole check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/dashboard' }
[WEBSITE] INFO: [RouteConfig] Path requires no specific role
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/dashboard' }
[WEBSITE] INFO: [MIDDLEWARE] Route classification
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/dashboard', isPublic: false, requiresRole: null }
[WEBSITE] INFO: [MIDDLEWARE] Calling handleAuthFlow...
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [handleAuthFlow] Called
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
hasSession: false,
sessionRole: undefined,
requestedPath: '/dashboard'
}
[WEBSITE] INFO: [RouteConfig] isPublic check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/dashboard' }
[WEBSITE] INFO: [RouteConfig] Path is NOT public
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/dashboard' }
[WEBSITE] INFO: [RouteConfig] requiresRole check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/dashboard' }
[WEBSITE] INFO: [RouteConfig] Path requires no specific role
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/dashboard' }
[WEBSITE] INFO: [AuthFlowRouter] getAction called
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
requestedPath: '/dashboard',
isPublic: false,
hasSession: false,
requiredRoles: null
}
[WEBSITE] INFO: [AuthFlowRouter] No session, redirecting to login
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [handleAuthFlow] Action determined
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
actionType: 'REDIRECT_TO_LOGIN',
action: '{\n "type": "REDIRECT_TO_LOGIN",\n "returnTo": "/dashboard"\n}'
}
[WEBSITE] INFO: [AuthFlowRouter] getAction called
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
requestedPath: '/dashboard',
isPublic: false,
hasSession: false,
requiredRoles: null
}
[WEBSITE] INFO: [AuthFlowRouter] No session, redirecting to login
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [handleAuthFlow] Returning REDIRECT_TO_LOGIN
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ loginUrl: '/auth/login?returnTo=%2Fdashboard' }
[WEBSITE] INFO: [MIDDLEWARE] handleAuthFlow result
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
result: '{\n' +
' "shouldRedirect": true,\n' +
' "redirectUrl": "/auth/login?returnTo=%2Fdashboard"\n' +
'}'
}
[WEBSITE] INFO: [MIDDLEWARE] Decision summary
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
pathname: '/dashboard',
hasSession: false,
role: undefined,
shouldRedirect: true,
redirectUrl: '/auth/login?returnTo=%2Fdashboard'
}
[WEBSITE] INFO: [MIDDLEWARE] REDIRECTING
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.596Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
from: '/dashboard',
to: 'http://localhost:3000/auth/login?returnTo=%2Fdashboard'
}
[WEBSITE] INFO: [MIDDLEWARE] ========== REQUEST END (REDIRECT) ==========
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.597Z
%cSource: color: #666; font-weight: bold; website
GET / 307 in 106ms
[WEBSITE] INFO: [MIDDLEWARE] ========== REQUEST START ==========
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [MIDDLEWARE] Request details
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
pathname: '/auth/login',
method: 'GET',
url: 'http://localhost:3000/auth/login?returnTo=%2Fdashboard',
cookieHeaderLength: 0,
cookiePreview: ''
}
[WEBSITE] INFO: [MIDDLEWARE] Fetching session...
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
[SESSION] NextRequest cookie header length: 0
[SESSION] NextRequest cookie header:
[SESSION] Using provided cookie header, length: 0
[SESSION] Cookie string:
[SESSION] No cookies found, returning null
[WEBSITE] INFO: [MIDDLEWARE] Session fetched
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
hasSession: false,
userId: undefined,
role: undefined,
sessionData: 'null'
}
[WEBSITE] INFO: [MIDDLEWARE] Auth session converted
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ authSession: 'null' }
[WEBSITE] INFO: [RouteConfig] isPublic check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/auth/login' }
[WEBSITE] INFO: [RouteConfig] Path is public (exact match)
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/auth/login' }
[WEBSITE] INFO: [RouteConfig] requiresRole check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/auth/login' }
[WEBSITE] INFO: [RouteConfig] Path requires no specific role
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/auth/login' }
[WEBSITE] INFO: [MIDDLEWARE] Route classification
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/auth/login', isPublic: true, requiresRole: null }
[WEBSITE] INFO: [MIDDLEWARE] Calling handleAuthFlow...
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [handleAuthFlow] Called
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
hasSession: false,
sessionRole: undefined,
requestedPath: '/auth/login'
}
[WEBSITE] INFO: [RouteConfig] isPublic check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/auth/login' }
[WEBSITE] INFO: [RouteConfig] Path is public (exact match)
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/auth/login' }
[WEBSITE] INFO: [RouteConfig] requiresRole check
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.608Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/auth/login' }
[WEBSITE] INFO: [RouteConfig] Path requires no specific role
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.609Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ path: '/auth/login' }
[WEBSITE] INFO: [AuthFlowRouter] getAction called
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.609Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
requestedPath: '/auth/login',
isPublic: true,
hasSession: false,
requiredRoles: null
}
[WEBSITE] INFO: [AuthFlowRouter] Public route, showing page
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.609Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [handleAuthFlow] Action determined
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.609Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ actionType: 'SHOW_PAGE', action: '{\n "type": "SHOW_PAGE"\n}' }
[WEBSITE] INFO: [handleAuthFlow] Returning SHOW_PAGE
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.609Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: [MIDDLEWARE] handleAuthFlow result
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.609Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
result: '{\n "shouldRedirect": false,\n "shouldShowPage": true\n}'
}
[WEBSITE] INFO: [MIDDLEWARE] Decision summary
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.609Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{
pathname: '/auth/login',
hasSession: false,
role: undefined,
shouldRedirect: false,
redirectUrl: undefined
}
[WEBSITE] INFO: [MIDDLEWARE] ALLOWING ACCESS
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.609Z
%cSource: color: #666; font-weight: bold; website
%cContext: color: #666; font-weight: bold;
{ pathname: '/auth/login' }
[WEBSITE] INFO: [MIDDLEWARE] ========== REQUEST END (ALLOW) ==========
%cTimestamp: color: #666; font-weight: bold; 2026-01-17T15:51:07.609Z
%cSource: color: #666; font-weight: bold; website
[WEBSITE] INFO: Global error handler skipped (server-side)
Timestamp: 2026-01-17T15:51:07.652Z
Source: website
[WEBSITE] INFO: [RouteGuard] enforce called
Timestamp: 2026-01-17T15:51:07.668Z
Source: website
Context:
{ pathname: '/auth/login' }
[WEBSITE] INFO: [RouteGuard] logicalPathname
Timestamp: 2026-01-17T15:51:07.668Z
Source: website
Context:
{ logicalPathname: '/auth/login' }
[WEBSITE] INFO: [RouteGuard] Auth page detected
Timestamp: 2026-01-17T15:51:07.669Z
Source: website
[SESSION] Using server component cookies, length: 0
[SESSION] Cookie string:
[SESSION] No cookies found, returning null
[WEBSITE] INFO: [RouteGuard] No session, allowing access to auth page
Timestamp: 2026-01-17T15:51:07.737Z
Source: website
GET /auth/login?returnTo=%2Fdashboard 200 in 203ms