{"version":"2.1.274","anchor":"oauth-gateway-device-flow-rate-limit-errors-get-clearer-netw","canonical_anchor":"enterprise-gateway-configurable-postgres-connect-timeout-r","heading":"Enterprise gateway gets clearer rate-limit and connection diagnostics","tier":"use","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.274\/e\/oauth-gateway-device-flow-rate-limit-errors-get-clearer-netw","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.274","markdown":"### Enterprise gateway gets clearer rate-limit and connection diagnostics\n\nThe self-hosted gateway now gives clearer errors for Postgres connect timeouts, sign-in rate limits, X-Forwarded-For mismatches, and OAuth device-flow limits\n\n**What**\n\n- The gateway server now reads a `store.connect_timeout_seconds` config value, wraps its initial Postgres connection attempt in a retrying wrapper, and shows a clearer boot error naming that setting if the connection fails.\n\n- It logs a throttled (once-per-minute) warning when sign-in rate limits (`rate_limits.device_authorization.max`, `rate_limits.device_verify.max`) are hit, and a new warning when a request carries an `X-Forwarded-For` header but its source isn't listed in `listen.trusted_proxies`.\n\n- When the `\/oauth\/device_authorization` or `\/device` (verify) endpoints hit these same rate limits, the response to the client now explains that the limit may be caused by shared-network noise and points admins at the specific config keys to adjust, instead of a generic \"Too many attempts\" message. Each rate-limited path also now fires a telemetry call.\n\n**Why** These changes make it much easier for administrators running a self-hosted gateway to diagnose why sign-ins are being rate-limited or connections are failing, instead of seeing generic errors with no pointer to the relevant setting.\n\n- Area: Elsewhere\n- Names: `listen.trusted_proxies`, `rate_limits.device_authorization`\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 1\/5"}