Skip to content

Fix FBNS cleanup after socket failures#2715

Merged
subzeroid merged 1 commit into
masterfrom
fix/fbns-broken-socket-cleanup
Jun 30, 2026
Merged

Fix FBNS cleanup after socket failures#2715
subzeroid merged 1 commit into
masterfrom
fix/fbns-broken-socket-cleanup

Conversation

@subzeroid

Copy link
Copy Markdown
Owner

Summary

  • mirror the aiograpi FBNS socket-failure cleanup fix in the sync client
  • mark FbnsClient.connected false when FBNS transport send/read fails
  • make FBNS disconnect best-effort so a broken socket still closes the transport
  • always clear Client.fbns after fbns_disconnect(), even if low-level cleanup raises

This fixes the broken-state/reconnect part reported in subzeroid/aiograpi#396. It does not claim Instagram MQTT sockets remain connected indefinitely; long-lived workers should still reconnect after remote/network disconnects.

Tests

  • PYTHONDONTWRITEBYTECODE=1 .venv/bin/pytest -q tests/regression/test_fbns.py::test_fbns_read_once_marks_client_disconnected_when_socket_closes tests/regression/test_fbns.py::test_fbns_disconnect_clears_client_state_after_broken_socket
  • PYTHONDONTWRITEBYTECODE=1 .venv/bin/ruff check instagrapi/realtime/fbns.py instagrapi/mixins/realtime.py tests/regression/test_fbns.py
  • PYTHONDONTWRITEBYTECODE=1 .venv/bin/pytest -q tests/regression/test_fbns.py tests/regression/test_realtime.py
  • PYTHONDONTWRITEBYTECODE=1 .venv/bin/pytest -q tests/regression
  • git diff --check

Live smoke on sk.test against this branch:

  • session-backed account_info succeeded
  • direct FBNS MQTT connect/register succeeded
  • fbns_ping returned True
  • fbns_disconnect cleared client state

Note: the pool account HTTP proxies returned 407 for MQTT CONNECT, so the successful live smoke used direct MQTT transport on sk.test.

@subzeroid subzeroid merged commit 7b93fac into master Jun 30, 2026
12 checks passed
@subzeroid subzeroid deleted the fix/fbns-broken-socket-cleanup branch June 30, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant