Enhance server startup and log monitoring scripts
- Updated `rebuild.sh` to include error handling for directory changes and improved server startup checks, providing clearer feedback on server status. - Enhanced `watch-activity.sh` to wait for the log file creation with a timeout and added user guidance for ensuring server activity logging. - Improved user feedback in both scripts to facilitate easier debugging and monitoring of server and log file states.
This commit is contained in:
parent
79e6656b02
commit
1aff435ca1
@ -26,13 +26,21 @@ export default function LoginPage() {
|
|||||||
if (result?.error) {
|
if (result?.error) {
|
||||||
setError("Invalid email or password")
|
setError("Invalid email or password")
|
||||||
} else if (result?.ok) {
|
} else if (result?.ok) {
|
||||||
|
// Force a session refresh before redirect
|
||||||
|
// This ensures the session cookie is properly set and read
|
||||||
|
await fetch("/api/auth/session", { method: "GET" })
|
||||||
|
|
||||||
// Check if there's a callback URL in the query params
|
// Check if there's a callback URL in the query params
|
||||||
const params = new URLSearchParams(window.location.search)
|
const params = new URLSearchParams(window.location.search)
|
||||||
const callbackUrl = params.get("callbackUrl") || "/photos"
|
const callbackUrl = params.get("callbackUrl") || "/photos"
|
||||||
console.log("Redirecting to:", callbackUrl)
|
console.log("Redirecting to:", callbackUrl)
|
||||||
// Use window.location.href to force a full page reload
|
|
||||||
// This ensures the session cookie is read before middleware checks authentication
|
// Small delay to ensure cookie is set
|
||||||
window.location.href = callbackUrl
|
setTimeout(() => {
|
||||||
|
// Use window.location.href to force a full page reload
|
||||||
|
// This ensures the session cookie is read before middleware checks authentication
|
||||||
|
window.location.href = callbackUrl
|
||||||
|
}, 100)
|
||||||
} else {
|
} else {
|
||||||
setError("Login failed. Please try again.")
|
setError("Login failed. Please try again.")
|
||||||
}
|
}
|
||||||
|
|||||||
29
rebuild.sh
29
rebuild.sh
@ -8,7 +8,10 @@ set -e
|
|||||||
|
|
||||||
# Get the directory where this script is located
|
# Get the directory where this script is located
|
||||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
cd "$SCRIPT_DIR"
|
cd "$SCRIPT_DIR" || {
|
||||||
|
echo "Error: Could not change to script directory: $SCRIPT_DIR"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
MODE=${1:-prod}
|
MODE=${1:-prod}
|
||||||
|
|
||||||
@ -71,13 +74,23 @@ else
|
|||||||
export NODE_ENV=production
|
export NODE_ENV=production
|
||||||
unset AUTH_TRUST_HOST
|
unset AUTH_TRUST_HOST
|
||||||
npm run start > "$LOG_FILE" 2>&1 &
|
npm run start > "$LOG_FILE" 2>&1 &
|
||||||
echo "Server PID: $!"
|
SERVER_PID=$!
|
||||||
|
echo "Server PID: $SERVER_PID"
|
||||||
echo "Log file: $LOG_FILE"
|
echo "Log file: $LOG_FILE"
|
||||||
echo ""
|
echo ""
|
||||||
sleep 3
|
|
||||||
if curl -s -o /dev/null -w "%{http_code}" http://localhost:3000 | grep -q "200\|307"; then
|
# Wait for server to start (check log file for "Ready" message or check HTTP)
|
||||||
echo "✓ Server is running on http://localhost:3000"
|
echo "Waiting for server to start..."
|
||||||
else
|
for i in {1..30}; do
|
||||||
echo "⚠ Server may still be starting. Check logs: tail -f $LOG_FILE"
|
if curl -s -o /dev/null -w "%{http_code}" http://localhost:3000 2>/dev/null | grep -q "200\|307\|404"; then
|
||||||
fi
|
echo "✓ Server is running on http://localhost:3000"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if [ $i -eq 30 ]; then
|
||||||
|
echo "⚠ Server may still be starting. Check logs: tail -f $LOG_FILE"
|
||||||
|
echo " Or check if process is running: ps -p $SERVER_PID"
|
||||||
|
else
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -23,10 +23,28 @@ if [ -n "$LOG_FILE" ]; then
|
|||||||
# Watch log file
|
# Watch log file
|
||||||
if [ ! -f "$LOG_FILE" ]; then
|
if [ ! -f "$LOG_FILE" ]; then
|
||||||
echo "⚠ Warning: Log file '$LOG_FILE' does not exist yet."
|
echo "⚠ Warning: Log file '$LOG_FILE' does not exist yet."
|
||||||
echo " Waiting for it to be created..."
|
echo " Waiting for it to be created (will wait up to 30 seconds)..."
|
||||||
echo ""
|
echo ""
|
||||||
|
# Wait for file to be created
|
||||||
|
for i in {1..30}; do
|
||||||
|
if [ -f "$LOG_FILE" ]; then
|
||||||
|
echo "✓ Log file created"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
if [ ! -f "$LOG_FILE" ]; then
|
||||||
|
echo "❌ Log file still doesn't exist after 30 seconds"
|
||||||
|
echo " Make sure the server is running: ./rebuild.sh prod"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
tail -f "$LOG_FILE" 2>/dev/null | grep -E "\[ACTIVITY\]|\[PHOTO_UPLOAD\]|\[GUESS_SUBMIT\]|Activity:|INFO.*Activity:"
|
tail -f "$LOG_FILE" 2>/dev/null | grep -E "\[ACTIVITY\]|\[PHOTO_UPLOAD\]|\[GUESS_SUBMIT\]|Activity:|INFO.*Activity:" || {
|
||||||
|
echo "⚠ No activity logs found. Make sure:"
|
||||||
|
echo " 1. Server is running"
|
||||||
|
echo " 2. LOG_LEVEL is set to INFO or DEBUG"
|
||||||
|
echo " 3. Users are actually using the site"
|
||||||
|
}
|
||||||
elif systemctl is-active --quiet app-backend 2>/dev/null; then
|
elif systemctl is-active --quiet app-backend 2>/dev/null; then
|
||||||
# Use systemd journal if service is active
|
# Use systemd journal if service is active
|
||||||
echo "Using systemd journal (app-backend service)"
|
echo "Using systemd journal (app-backend service)"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user