- app.js: comment out per-request HTTP logger (floods logs with webhook bodies)
- omada.js: strip verbose request/response interceptors; keep only error logging
with method+url+status+body for failed requests
- pollSessions.job.js: warn when a new session has no matching token so MAC
format mismatches show up clearly in logs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat(logging): full Omada request/response logging and HTTP request logger
- Omada: log request body and full (untruncated) response per call
- Express: log every incoming request with method, URL, body, status
code, and response time
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- app.js: set trust proxy=1 so rate limiter reads X-Forwarded-For correctly
- entrypoint.sh: remove --user flag from mysql_install_db (not root)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Node.js/Express backend with Omada SDN integration, M-Pesa payments via
Snippe, SMS notifications, captive portal, and tenant dashboard API.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>