{"version":"2.1.238","anchor":"connection-refusals-now-record-whether-something-other-than-","canonical_anchor":"connection-refusals-now-record-whether-something-other-than-","heading":"Connection refusals now record whether something other than the API said no","tier":"internal","area":"Internals","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.238\/e\/connection-refusals-now-record-whether-something-other-than-","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.238","markdown":"### Connection refusals now record whether something other than the API said no\n\nA rejected connection now records whether your corporate proxy said no rather than the API.\n\n**What**\n\nWebSocket 403 rejections are now attributed to a source, so a corporate proxy refusing the connection is reported differently from the API refusing it.\n\n**Details**\n\n- Telemetry splits into `transport_closed_403_nonorigin_cf`, `transport_closed_403_nonorigin_other` and `transport_closed_403`, with matching recovery events.\n- The close event carries a `reject_source` field plus streak counters.\n- Credentials-rejected errors gain a `_credentials_rejected_nonorigin` suffix.\n\n**Evidence**\n\n`transport_closed_403_nonorigin_cf`\n\n- Area: Internals\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5"}