Commit Graph

211 Commits

Author SHA1 Message Date
a0cb6e3a30 Complete WebSocket transport implementation with TLS support
- Add TLS configuration support to new_host and new_swarm functions
- Fix WebSocket transport tests (test_wss_host_pair_data_exchange, test_wss_listen_without_tls_config)
- Integrate TLS configuration with transport registry for proper WebSocket WSS support
- Move debug files to downloads directory for future reference
- All 47 WebSocket tests now passing including WSS functionality
- Maintain backward compatibility with existing code
- Resolve all type checking and linting issues
2025-09-17 03:08:24 -04:00
cdbd80eeba Merge remote changes with local WebSocket improvements
- Combined yashksaini-coder's flow control improvements with luca's WSS features
- Preserved comprehensive WSS support, TLS configuration, and handshake timeout
- Added production-ready buffer management and connection limits
- Maintained backward compatibility with existing WebSocket functionality
- Integrated both approaches for optimal WebSocket transport implementation
2025-09-17 01:00:15 -04:00
284eee78d7 Merge branch 'main' into add-ws-transport 2025-09-16 01:04:16 +05:30
93db588b9e Merge branch 'main' into add-ws-transport 2025-09-10 02:49:52 +05:30
4e8ebf707a Merge branch 'main' into fix_expose_timeout_muxer_multistream 2025-09-09 00:43:38 +05:30
f4d5a44521 Fix type errors and linting issues
- Fix type annotation errors in transport_registry.py and __init__.py
- Fix line length violations in test files (E501 errors)
- Fix missing return type annotations
- Fix cryptography NameAttribute type errors with type: ignore
- Fix ExceptionGroup import for cross-version compatibility
- Fix test failure in test_wss_listen_without_tls_config by handling ExceptionGroup
- Fix len() calls with None arguments in test_tcp_data_transfer.py
- Fix missing attribute access errors on interface types
- Fix boolean type expectation errors in test_js_ws_ping.py
- Fix nursery context manager type errors

All tests now pass and linting is clean.
2025-09-08 04:18:10 +02:00
afe6da5db2 Merge upstream/main into add-ws-transport
Resolved conflicts in:
- .gitignore: Combined JavaScript interop and Sphinx build ignores
- libp2p/__init__.py: Integrated QUIC transport support with WebSocket transport
- libp2p/network/swarm.py: Used upstream's improved listener handling
- pyproject.toml: Kept both WebSocket and QUIC dependencies

This merge brings in:
- QUIC transport implementation
- Enhanced swarm functionality
- Improved peer discovery
- Better error handling
- Updated dependencies and documentation

WebSocket transport implementation remains intact and functional.
2025-09-07 23:47:41 +02:00
396812e84a Experimental: Add comprehensive WebSocket and WSS implementation with tests
- Implemented full WSS support with TLS configuration
- Added handshake timeout and connection state tracking
- Created comprehensive test suite with 13+ WSS unit tests
- Added Python-to-Python WebSocket peer-to-peer tests
- Implemented multiaddr parsing for /ws, /wss, /tls/ws formats
- Added connection state tracking and concurrent close handling
- Created standalone WebSocket client for testing
- Fixed circular import issues with multiaddr utilities
- Added debug tools for WebSocket URL testing

All WebSocket transport functionality is complete and working.
Tests demonstrate WebSocket transport works correctly at the transport layer.
Higher-level libp2p protocol compatibility issues remain (same as JS interop).
2025-09-07 23:44:17 +02:00
09c9709a3e Merge remote-tracking branch 'upstream/main' 2025-09-04 21:27:51 +00:00
f0b05b8307 Merge branch 'main' into fix_expose_timeout_muxer_multistream 2025-09-05 02:57:29 +05:30
2fe5882013 fix: add quic utils test and improve connection performance 2025-09-04 21:25:37 +00:00
bffabd1070 Merge branch 'main' into add-ws-transport 2025-09-05 02:54:03 +05:30
c693cd9bb9 Merge branch 'main' into add-ws-transport 2025-09-04 15:19:11 +05:30
25d7706047 Added timeout passing in muxermultistream. Updated the usages. Tested the params are passed correctly 2025-09-04 14:58:22 +05:30
d0c81301b5 fix: quic transport mock in quic connection 2025-09-02 18:47:07 +00:00
159d2cc322 Merge remote-tracking branch 'upstream/main' 2025-09-02 16:16:21 +00:00
b8217bb8a8 Merge branch 'main' into fix_pubsub_msg_id_type_inconsistency 2025-09-02 10:16:17 +05:30
934f49af83 Merge branch 'main' into fix_multiselect_negotiate_type 2025-09-02 01:40:40 +05:30
fc6b290c56 Merge branch 'main' into fix_multiselect_negotiate_type 2025-09-02 01:08:21 +05:30
20edc3830a Merge branch 'main' into fix_pubsub_msg_id_type_inconsistency 2025-09-02 01:07:16 +05:30
ef6557518c Merge branch 'main' into pubsub-record 2025-09-02 01:01:08 +05:30
69680e9c1f Added negative testcases 2025-09-01 10:30:25 +05:30
59e1d9ae39 address architectural refactoring discussed 2025-08-31 01:38:29 +01:00
2c03ac46ea fix: Peer ID verification during dial (#7) 2025-08-30 14:08:53 +05:30
760f94bd81 fix: quic maddr test 2025-08-30 14:08:53 +05:30
f550c19b2c multiple streams ping, invalid certificate handling 2025-08-30 14:08:53 +05:30
03bf071739 chore: cleanup and near v1 quic impl 2025-08-30 14:08:22 +05:30
c15c317514 fix: accept stream on server side 2025-08-30 14:08:22 +05:30
6c45862fe9 fix: succesfull echo example completed 2025-08-30 14:08:22 +05:30
e2fee14bc5 fix: try to fix connection id updation 2025-08-30 14:08:06 +05:30
ac01cc5038 fix: add echo example 2025-08-30 14:07:54 +05:30
45c5f16379 fix: update conn and transport for security 2025-08-30 14:07:31 +05:30
ce76641ef5 temp: impl security modile 2025-08-30 14:07:31 +05:30
bc2ac47594 fix: add basic quic stream and associated tests 2025-08-30 14:07:31 +05:30
a3231af714 fix: add basic tests for listener 2025-08-30 14:07:31 +05:30
54b3055eaa fix: impl quic listener 2025-08-30 14:07:31 +05:30
446a22b0f0 temp: temporty quic impl 2025-08-30 14:07:31 +05:30
b26e8333bd updated as per the suggestions in #815 2025-08-29 18:06:25 +05:30
d99b67eafa now ignoring pubsub messages upon receving invalid-signed-records 2025-08-29 18:06:09 +05:30
cdfb083c06 added tests to see if transfer works correctly 2025-08-29 18:06:09 +05:30
426aae7efb Merge branch 'main' into fix_multiselect_negotiate_type 2025-08-29 03:25:12 +05:30
40dad64949 Merge branch 'main' into fix_pubsub_msg_id_type_inconsistency 2025-08-29 03:24:53 +05:30
df39e240e7 Merge branch 'main' into feat/swarm-multi-connection-support 2025-08-29 03:11:08 +05:30
9fa3afbb04 fix: format code to pass CI lint 2025-08-28 22:18:33 +01:00
c577fd2f71 feat(swarm): enhance swarm with retry backoff 2025-08-28 20:59:36 +01:00
9f80dbae12 added the testcase for StreamFailure 2025-08-27 22:05:19 +05:30
c2c4228591 added test for ADD_PROVIDER record processing 2025-08-27 13:02:32 +05:30
8100a5cd20 removed redudant check in seen seqnos and peers and added test cases of handle iwant and handle ihave 2025-08-26 21:49:12 +05:30
fe3f7adc1b fix typos 2025-08-26 12:49:51 +05:30
3917d7b596 verify peer_id in signed-record matches authenticated sender 2025-08-26 12:49:51 +05:30