Commit Graph

2444 Commits

Author SHA1 Message Date
d519f75d69 Merge pull request #781 from GautamBytes/add-ws-transport
Add WebSocket transport support
2025-09-22 22:06:38 +05:30
6a1b955a4e fix: implement lazy initialization for global transport registry
- Change global registry from immediate to lazy initialization
- Fix doctest failure caused by debug logging during MultiError import
- Update all functions to use get_transport_registry() instead of direct access
- Resolves CI/CD doctest failure in libp2p.rst
2025-09-21 19:29:48 -04:00
87429eb2e9 Merge branch 'main' into add-ws-transport 2025-09-22 02:36:01 +05:30
a01811a435 Merge pull request #893 from paschal533/keyerror-fix
fix: GossipSub peer propagation to include FloodSub peers
2025-09-22 01:57:06 +05:30
db2f3a64ea Merge branch 'main' into keyerror-fix 2025-09-22 01:56:52 +05:30
1a4fe91419 doc: websocket newsframgment 2025-09-17 13:38:17 -04:00
5f0c5101c7 Merge branch 'main' into add-ws-transport 2025-09-17 15:27:48 +05:30
8d028a046d Merge pull request #935 from acul71/fix/issue-934-update-multiaddr
Update multiaddr to version 0.0.11
2025-09-17 15:19:13 +05:30
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
f4a4298c0f Restore debug tools and test client from original WebSocket implementation
- Added back debug_websocket_url.py for WebSocket URL testing
- Added back test_websocket_client.py for standalone WebSocket testing
- These tools complement the integrated WebSocket transport implementation
2025-09-17 01:00:41 -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
518c1f98b1 Update multiaddr to version 0.0.11
- Switch from git dependency to pip package
- Update from git+https://github.com/multiformats/py-multiaddr.git@b186e2ccadc22545dec4069ff313787bf29265e0
- Use multiaddr>=0.0.11 from PyPI

Fixes #934
2025-09-16 20:09:10 -04:00
284eee78d7 Merge branch 'main' into add-ws-transport 2025-09-16 01:04:16 +05:30
9b0f75014c Merge pull request #896 from unniznd/fix_expose_timeout_muxer_multistream
fix: Added timeout paramter into muxer multistream
2025-09-16 01:01:13 +05:30
ecdb770c45 Merge branch 'main' into fix_expose_timeout_muxer_multistream 2025-09-16 00:45:26 +05:30
95e7e7b4f6 Merge branch 'main' into add-ws-transport 2025-09-15 21:20:44 +05:30
81cc2f06f0 Fix multiaddr dep to use specific commit hash to resolve install issue (#928)
* Fix multiaddr dependency to use specific commit hash to resolve installation issues

* fix: ops wrong filename
2025-09-14 17:45:22 -06:00
4fdfdae9fb Refactor P2PWebSocketConnection and WebsocketTransport constructors for improved readability. Clean up whitespace and enhance logging for connection management. 2025-09-12 03:11:43 +05:30
0271a36316 Update the flow control, buffer management, and connection limits. Implement proper error handling and cleanup in P2PWebSocketConnection. Update tests for improved connection handling. 2025-09-12 03:04:38 +05:30
771b837916 app{websocket): Refactor transport type annotations and improve event handling in QUIC connection 2025-09-10 04:15:56 +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
74f4aaf136 updated random walk status in readme (#907) 2025-09-06 14:28:05 -06:00
a8a71b077b Merge pull request #900 from libp2p/seetadev-patch-1
Update pyproject.toml
2025-09-06 04:04:32 +05:30
b7f11ba43d Update pyproject.toml 2025-09-06 03:41:18 +05:30
ce3f3a8e43 Merge pull request #763 from AkMo3/main
QUIC v1
2025-09-05 11:40:47 +05:30
f3976b7d2f docs: add some documentation for QUIC transport 2025-09-05 05:41:06 +00: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
9fdb36ed03 Merge branch 'main' into keyerror-fix 2025-09-05 02:57:04 +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
9370101a84 Merge pull request #843 from unniznd/fix_pubsub_msg_id_type_inconsistency
fix: message id type inconsistency in handle ihave and message id parsing improvement in handle iwant
2025-09-04 23:39:14 +05:30
56732a1506 Merge branch 'main' into fix_pubsub_msg_id_type_inconsistency 2025-09-04 16:26:01 +05:30
68cb54ee0f Merge branch 'main' into add-ws-transport 2025-09-04 16:22:16 +05:30
f80101c4eb Merge branch 'main' into keyerror-fix 2025-09-04 16:18:41 +05:30
2ee3e0b054 Merge branch 'main' into main 2025-09-04 16:13:06 +05:30
2a249b1792 Merge pull request #849 from ankur12-1610/issue-798
Enhance Bootstrap module to dial peers after address resolution.
2025-09-04 16:12:56 +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
31c65274c3 Merge branch 'main' into keyerror-fix 2025-09-04 14:15:54 +05:30
5ec1671608 Merge branch 'main' into issue-798 2025-09-04 14:14:31 +05:30
69a0d3da9d Merge branch 'main' into main 2025-09-04 14:13:20 +05:30
431a4807fb Merge pull request #886 from yashksaini-coder/fix/cross_platform_path_tests
Fix: Cross-Platform Path Handling Standardization
2025-09-04 14:12:04 +05:30
f54a14b713 Merge branch 'main' into issue-798 2025-09-04 13:41:45 +05:30
d0c81301b5 fix: quic transport mock in quic connection 2025-09-02 18:47:07 +00:00
d2d4c4b451 fix: proper connection config setup 2025-09-02 18:27:47 +00:00