You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
nostr-sdk Rust memory leak: Client and EventStream FFI objects allocated memory on the Rust side invisible to Python's garbage collector, causing the Synchronizer to reach 27 GB RSS. EventStream references are now explicitly deleted after consumption, clients are shut down (not just disconnected) when discarded, and gc.collect() is called after each relay in the Synchronizer to trigger PyO3 destructors
Inconsistent client cleanup across services: connect_relay() error paths and is_nostr_relay() used disconnect() (closes WebSocket only) instead of shutdown() (releases entire Rust Client). NIP-66 RTT _cleanup() had the same issue. All now use shutdown() when the client is being discarded