fix: resolve ERR_INSUFFICIENT_RESOURCES connection exhaustion
- Add concurrency limiter (max 4 GET requests) to API layer, leaving slots for SSE and health checks. Write ops bypass the limiter. - Add AbortController to ContainerStats, project detail page, and dashboard to cancel in-flight requests on navigation/unmount. - Move global SSE connection from layout to events page (only consumer). - Add 30s heartbeat to SSE endpoint to detect zombie connections. - Serialize dashboard project fetches to avoid parallel burst. - Rebuild frontend in dev-server.sh so go:embed stays in sync.
This commit is contained in:
@@ -32,6 +32,10 @@ export ENCRYPTION_KEY
|
||||
export ADMIN_PASSWORD="${ADMIN_PASSWORD:-admin123}"
|
||||
export LISTEN_ADDR="${PORT}"
|
||||
|
||||
# Rebuild frontend so go:embed picks up changes.
|
||||
echo "Building frontend..."
|
||||
(cd web && npm run build --silent)
|
||||
|
||||
echo "Starting Tinyforge on http://localhost:${PORT_NUM}"
|
||||
echo "Login: admin / ${ADMIN_PASSWORD}"
|
||||
exec go run ./cmd/server
|
||||
|
||||
Reference in New Issue
Block a user