Commit Graph

212 Commits

Author SHA1 Message Date
25e04b1b80 refactor(interfaces): remove Send method from UDPInterface and streamline packet processing 2026-01-02 17:48:43 -06:00
e508f63b83 feat(interfaces): implement ProcessOutgoing method for TCPClientInterface and remove unused statistics methods 2026-01-02 17:48:39 -06:00
f28ba4d69e feat(interfaces): update AutoInterface with multicast address generation and duplicate data handling 2026-01-02 17:48:34 -06:00
62b5d6a4d2 feat(config): add MulticastAddrType field to InterfaceConfig structure 2026-01-02 17:48:19 -06:00
8325666301 feat(interfaces): add transmission and reception metrics to BaseInterface 2026-01-02 17:48:15 -06:00
f80d50c27b refactor(tests): clean up whitespace in TestTransportLeak function
All checks were successful
Go Build Test / Build (windows, arm) (pull_request) Successful in 9m26s
Go Build Test / Build (darwin, arm64) (pull_request) Successful in 9m24s
Bearer / scan (pull_request) Successful in 9s
Go Benchmarks / Run Benchmarks (pull_request) Successful in 55s
Go Build Test / Build (linux, arm64) (pull_request) Successful in 39s
Go Build Test / Build (windows, arm64) (pull_request) Successful in 38s
Go Build Test / Build (windows, amd64) (pull_request) Successful in 44s
Go Build Test / Build (linux, arm) (pull_request) Successful in 42s
Go Build Test / Build (freebsd, amd64) (pull_request) Successful in 46s
Go Build Test / Build (freebsd, arm64) (pull_request) Successful in 30s
Go Build Test / Build (js, wasm) (pull_request) Successful in 34s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (pull_request) Successful in 1m18s
Go Revive Lint / lint (pull_request) Successful in 1m14s
Run Gosec / tests (pull_request) Successful in 1m28s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (pull_request) Successful in 3m6s
Go Build Test / Build (darwin, amd64) (pull_request) Successful in 9m23s
Go Build Test / Build (freebsd, arm) (pull_request) Successful in 9m23s
Go Build Test / Build (linux, amd64) (pull_request) Successful in 9m26s
2026-01-02 17:47:34 -06:00
f6b5f3ee82 refactor(tests): remove unnecessary blank line in packet fuzz test file 2026-01-02 17:47:29 -06:00
14d62efd17 refactor(tests): simplify MockInterface by embedding BaseInterface and removing redundant fields 2026-01-02 17:47:23 -06:00
548ec55248 feat(tests): add TestTransportLeak to check for goroutine leaks in transport instances
Some checks failed
Bearer / scan (pull_request) Successful in 43s
Go Build Test / Build (darwin, amd64) (pull_request) Successful in 41s
Go Benchmarks / Run Benchmarks (pull_request) Failing after 1m2s
Go Build Test / Build (linux, amd64) (pull_request) Successful in 31s
Go Build Test / Build (windows, amd64) (pull_request) Successful in 38s
Go Build Test / Build (freebsd, amd64) (pull_request) Successful in 27s
Go Build Test / Build (freebsd, arm) (pull_request) Successful in 38s
Go Build Test / Build (linux, arm) (pull_request) Successful in 36s
Go Build Test / Build (darwin, arm64) (pull_request) Successful in 51s
Go Build Test / Build (windows, arm64) (pull_request) Successful in 38s
Go Build Test / Build (linux, arm64) (pull_request) Successful in 40s
Go Build Test / Build (windows, arm) (pull_request) Successful in 27s
Go Build Test / Build (freebsd, arm64) (pull_request) Successful in 49s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (pull_request) Failing after 58s
Go Build Test / Build (js, wasm) (pull_request) Successful in 21s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (pull_request) Failing after 1m16s
Go Revive Lint / lint (pull_request) Successful in 59s
Run Gosec / tests (pull_request) Successful in 1m20s
2026-01-02 16:39:50 -06:00
03753bf9bc feat(tests): add fuzz testing for packet unpacking functionality 2026-01-02 16:39:45 -06:00
012c0eec62 feat(tests): add network simulation test for transport layer functionality 2026-01-02 16:39:40 -06:00
6b011144cf feat(wasm): set transport identity to node identity and initialize path request handler
All checks were successful
Bearer / scan (pull_request) Successful in 9s
Go Build Multi-Platform / build (arm, windows) (pull_request) Successful in 42s
Go Build Multi-Platform / build (arm64, darwin) (pull_request) Successful in 45s
Go Build Multi-Platform / build (arm64, freebsd) (pull_request) Successful in 45s
Go Build Multi-Platform / build (arm64, linux) (pull_request) Successful in 45s
Go Build Multi-Platform / build (wasm, js) (pull_request) Successful in 54s
Go Build Multi-Platform / build (arm64, windows) (pull_request) Successful in 1m0s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (pull_request) Successful in 1m12s
Go Revive Lint / lint (pull_request) Successful in 47s
Run Gosec / tests (pull_request) Successful in 1m24s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (pull_request) Successful in 2m26s
Go Build Multi-Platform / build (amd64, darwin) (pull_request) Successful in 9m30s
Go Build Multi-Platform / build (amd64, freebsd) (pull_request) Successful in 9m28s
Go Build Multi-Platform / build (amd64, linux) (pull_request) Successful in 9m30s
Go Build Multi-Platform / build (arm, freebsd) (pull_request) Successful in 9m27s
Go Build Multi-Platform / build (amd64, windows) (pull_request) Successful in 9m29s
Go Build Multi-Platform / build (arm, linux) (pull_request) Successful in 9m28s
Go Build Multi-Platform / Create Release (pull_request) Has been skipped
2026-01-02 15:42:36 -06:00
c26c50cc3a feat(transport): add TestAnnounceHopCount to validate hop count registration and update path handling logic 2026-01-02 15:42:21 -06:00
b972d87e91 fix(websocket): handle WebSocket connection states to prevent errors when starting an already initiated WebSocket 2026-01-02 15:42:12 -06:00
82bfa43240 fix(packet): reorder fields in Header Type 2 for correct unpacking of TransportID and DestinationHash 2026-01-02 15:42:03 -06:00
43aa622846 feat(destination): implement hash calculation for PLAIN destination and update identity handling in destination creation 2026-01-02 15:41:53 -06:00
1d3a969742 chore: add SPDX license identifier and copyright notice
Some checks failed
Bearer / scan (push) Successful in 9s
Go Build Multi-Platform / build (amd64, linux) (push) Successful in 42s
Go Build Multi-Platform / build (amd64, darwin) (push) Successful in 44s
Go Build Multi-Platform / build (arm, freebsd) (push) Successful in 41s
Go Build Multi-Platform / build (arm, windows) (push) Successful in 39s
Go Build Multi-Platform / build (arm64, windows) (push) Successful in 1m8s
Go Build Multi-Platform / build (wasm, js) (push) Successful in 1m6s
TinyGo Build / tinygo-build (tinygo-wasm, tinygo-wasm, reticulum-go.wasm, wasm) (pull_request) Failing after 1m2s
TinyGo Build / tinygo-build (tinygo-build, tinygo-default, reticulum-go-tinygo, ) (pull_request) Failing after 1m4s
Go Revive Lint / lint (push) Successful in 1m4s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 1m24s
Run Gosec / tests (push) Successful in 1m29s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 2m31s
Go Build Multi-Platform / build (amd64, freebsd) (push) Successful in 9m28s
Go Build Multi-Platform / build (arm, linux) (push) Successful in 9m28s
Go Build Multi-Platform / build (amd64, windows) (push) Successful in 9m30s
Go Build Multi-Platform / build (arm64, darwin) (push) Successful in 9m27s
Go Build Multi-Platform / build (arm64, linux) (push) Successful in 9m26s
Go Build Multi-Platform / build (arm64, freebsd) (push) Successful in 9m29s
Go Build Multi-Platform / Create Release (push) Has been skipped
2025-12-31 20:44:58 -06:00
d6152ccd85 refactor: replace AnnounceHandler interface with Handler and update ReceivedAnnounce method to include hops parameter 2025-12-31 18:42:50 -06:00
e6fd7188d2 fix: add hops parameter to ReceivedAnnounce method for enhanced announce handling 2025-12-31 18:41:44 -06:00
fd951a10f8 feat: enhance WebAssembly API by adding requestPath, setPacketCallback, and setAnnounceCallback functions; refactor SendMessage to SendDataJS for improved data handling
Some checks failed
Bearer / scan (push) Successful in 8s
Go Build Multi-Platform / build (amd64, darwin) (push) Successful in 43s
Go Build Multi-Platform / build (amd64, linux) (push) Successful in 43s
Go Build Multi-Platform / build (arm, windows) (push) Successful in 41s
Go Build Multi-Platform / build (arm, freebsd) (push) Successful in 44s
TinyGo Build / tinygo-build (tinygo-wasm, tinygo-wasm, reticulum-go.wasm, wasm) (pull_request) Has been cancelled
Go Build Multi-Platform / build (wasm, js) (push) Successful in 51s
Go Build Multi-Platform / build (arm64, linux) (push) Successful in 55s
Go Build Multi-Platform / build (arm64, windows) (push) Successful in 53s
TinyGo Build / tinygo-build (tinygo-build, tinygo-default, reticulum-go-tinygo, ) (pull_request) Has been cancelled
Go Revive Lint / lint (push) Successful in 1m9s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 1m27s
Run Gosec / tests (push) Successful in 1m31s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Failing after 2m16s
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 4m42s
Go Build Multi-Platform / build (amd64, windows) (push) Successful in 9m27s
Go Build Multi-Platform / build (arm64, darwin) (push) Successful in 9m27s
Go Build Multi-Platform / build (arm, linux) (push) Successful in 9m29s
Go Build Multi-Platform / build (arm64, freebsd) (push) Successful in 9m29s
Go Build Multi-Platform / Create Release (push) Has been skipped
2025-12-31 11:43:27 -06:00
8124d95192 fix: update announce hash generation in Transport to exclude hop count and header for uniqueness 2025-12-30 23:46:00 -06:00
a59dca45a7 feat: improve logging in WebSocket interface for better debugging and error tracking 2025-12-30 23:45:46 -06:00
eec73d2d93 feat: add graceful shutdown support to Transport with done channel and stopOnce synchronization
Some checks failed
Bearer / scan (push) Successful in 47s
Go Build Multi-Platform / build (amd64, freebsd) (push) Successful in 46s
Go Build Multi-Platform / build (amd64, windows) (push) Successful in 44s
Go Build Multi-Platform / build (arm, linux) (push) Successful in 42s
Go Build Multi-Platform / build (wasm, js) (push) Successful in 54s
Go Build Multi-Platform / build (arm64, linux) (push) Successful in 58s
Go Build Multi-Platform / build (arm64, windows) (push) Successful in 56s
TinyGo Build / tinygo-build (tinygo-build, tinygo-default, reticulum-go-tinygo, ) (pull_request) Failing after 52s
TinyGo Build / tinygo-build (tinygo-wasm, tinygo-wasm, reticulum-go.wasm, wasm) (pull_request) Failing after 58s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 1m6s
Go Revive Lint / lint (push) Successful in 58s
Run Gosec / tests (push) Successful in 1m54s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 2m27s
Go Build Multi-Platform / build (amd64, linux) (push) Successful in 9m27s
Go Build Multi-Platform / build (amd64, darwin) (push) Successful in 9m29s
Go Build Multi-Platform / build (arm, freebsd) (push) Successful in 9m29s
Go Build Multi-Platform / build (arm, windows) (push) Successful in 9m27s
Go Build Multi-Platform / build (arm64, freebsd) (push) Successful in 9m27s
Go Build Multi-Platform / build (arm64, darwin) (push) Successful in 9m29s
Go Build Multi-Platform / Create Release (push) Has been skipped
2025-12-30 21:15:16 -06:00
6888eccc62 refactor: replace hardcoded values with constants and standardize mutex naming in WebSocketInterface 2025-12-30 21:15:08 -06:00
6fa0187ae1 feat: implement native WebSocket interface for connection and message handling 2025-12-30 21:15:01 -06:00
2ba3f059a1 test: add comprehensive WebSocket interface tests for connection, key generation, and message handling 2025-12-30 21:14:57 -06:00
63454b3bbb refactor: enhance UDPInterface with improved concurrency handling and consistent mutex naming 2025-12-30 21:14:42 -06:00
9f36e37f94 refactor: remove commented-out code in udp_test.go to improve code clarity 2025-12-30 21:14:36 -06:00
73b982c6e0 refactor: enhance TCPClientInterface and TCPServerInterface with improved concurrency handling and added connection timeout 2025-12-30 21:14:30 -06:00
22c54f2252 refactor: replace hardcoded TCP options with constants for improved readability in TCPClientInterface 2025-12-30 21:14:24 -06:00
d68a6cfb9c refactor: replace hardcoded SO_KEEPALIVE value with constant for improved readability in TCPClientInterface 2025-12-30 21:14:18 -06:00
8267123fb5 refactor: standardize mutex naming to improve code consistency in BaseInterface 2025-12-30 21:14:13 -06:00
a540b64331 refactor: remove commented-out code in mockInterface to clean up interface_test.go 2025-12-30 21:14:04 -06:00
b0d2d4778f refactor: enhance AutoInterface with done channel and improved locking for concurrency 2025-12-30 21:13:56 -06:00
6cb90d3c4b refactor: replace mutex with Mutex for improved consistency in peer management tests 2025-12-30 21:13:46 -06:00
009755c981 refactor: implement read-write locking for knownDestinations to improve concurrency 2025-12-30 21:13:42 -06:00
595430c808 refactor: remove commented-out code for default interfaces in InitConfig function 2025-12-30 21:13:38 -06:00
e9b647d5a7 refactor: remove unused timestamp and data comments in SendLinkPacket function 2025-12-30 21:13:34 -06:00
e51baa8673 test: add comprehensive tests for WASM functions including registration, stats retrieval, connection status, and message handling 2025-12-30 19:17:43 -06:00
21a0dafae6 feat: enhance chat message handling in WASM by including sender information and user-specific app data 2025-12-30 19:17:37 -06:00
0a3d0c9440 refactor: update bandwidth checks in announce forwarding logic to prevent overload 2025-12-30 12:35:32 -06:00
04bd23e753 refactor: adjust rate limiter configuration in AnnounceManager for improved performance 2025-12-30 12:35:21 -06:00
a01b253473 refactor: update Limiter implementation to use capacity instead of interval and adjust related tests 2025-12-30 12:35:15 -06:00
53b981cb21 refactor: remove unused hops parameter from ReceivedAnnounce method in WASM handler
All checks were successful
Bearer / scan (push) Successful in 28s
Go Build Multi-Platform / build (amd64, darwin) (push) Successful in 35s
Go Build Multi-Platform / build (amd64, freebsd) (push) Successful in 33s
Go Build Multi-Platform / build (amd64, linux) (push) Successful in 32s
Go Build Multi-Platform / build (amd64, windows) (push) Successful in 32s
Go Build Multi-Platform / build (arm, freebsd) (push) Successful in 35s
Go Build Multi-Platform / build (arm, linux) (push) Successful in 34s
Go Build Multi-Platform / build (arm, windows) (push) Successful in 32s
Go Build Multi-Platform / build (arm64, darwin) (push) Successful in 35s
Go Build Multi-Platform / build (arm64, freebsd) (push) Successful in 34s
Go Build Multi-Platform / build (arm64, windows) (push) Successful in 31s
Go Build Multi-Platform / build (arm64, linux) (push) Successful in 33s
Go Build Multi-Platform / build (wasm, js) (push) Successful in 39s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 1m6s
Go Revive Lint / lint (push) Successful in 53s
Run Gosec / tests (push) Successful in 1m22s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m33s
Go Build Multi-Platform / Create Release (push) Has been skipped
2025-12-30 12:32:55 -06:00
5a9bfd74d3 feat: add WASM package with JavaScript API for Reticulum integration 2025-12-30 12:27:59 -06:00
25e0719954 fix: handle error when generating random tag in RequestPath method
All checks were successful
Go Build Multi-Platform / build (amd64, darwin) (push) Successful in 31s
Go Build Multi-Platform / build (arm, freebsd) (push) Successful in 32s
Bearer / scan (push) Successful in 7s
Go Build Multi-Platform / build (amd64, linux) (push) Successful in 32s
Go Build Multi-Platform / build (arm, windows) (push) Successful in 32s
Go Build Multi-Platform / build (wasm, js) (push) Successful in 44s
Go Build Multi-Platform / build (arm64, windows) (push) Successful in 47s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 51s
Go Revive Lint / lint (push) Successful in 1m1s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m44s
Run Gosec / tests (push) Successful in 1m7s
Go Build Multi-Platform / build (amd64, freebsd) (push) Successful in 9m23s
Go Build Multi-Platform / build (amd64, windows) (push) Successful in 9m25s
Go Build Multi-Platform / build (arm, linux) (push) Successful in 9m23s
Go Build Multi-Platform / build (arm64, freebsd) (push) Successful in 9m23s
Go Build Multi-Platform / build (arm64, darwin) (push) Successful in 9m25s
Go Build Multi-Platform / build (arm64, linux) (push) Successful in 9m25s
Go Build Multi-Platform / Create Release (push) Has been skipped
2025-12-30 12:13:49 -06:00
18200213f0 feat: add FromBytes function to create Identity from a 64-byte private key representation
Some checks failed
Go Build Multi-Platform / build (amd64, freebsd) (push) Successful in 32s
Go Build Multi-Platform / build (amd64, windows) (push) Successful in 33s
Go Build Multi-Platform / build (arm, linux) (push) Successful in 31s
Go Build Multi-Platform / build (arm64, windows) (push) Successful in 43s
Go Build Multi-Platform / build (arm64, linux) (push) Successful in 46s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 50s
Bearer / scan (push) Successful in 33s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m42s
Go Revive Lint / lint (push) Successful in 1m0s
Run Gosec / tests (push) Failing after 1m7s
Go Build Multi-Platform / build (amd64, darwin) (push) Successful in 9m23s
Go Build Multi-Platform / build (amd64, linux) (push) Successful in 9m26s
Go Build Multi-Platform / build (arm, freebsd) (push) Successful in 9m24s
Go Build Multi-Platform / build (arm, windows) (push) Successful in 9m26s
Go Build Multi-Platform / build (arm64, darwin) (push) Successful in 9m24s
Go Build Multi-Platform / build (arm64, freebsd) (push) Successful in 9m26s
Go Build Multi-Platform / Create Release (push) Has been skipped
2025-12-30 11:42:48 -06:00
3cb375e7f2 refactor: update timeout check in PacketReceipt to use time.Since to fix deadlock
Some checks failed
Bearer / scan (push) Successful in 7s
Go Build Multi-Platform / build (amd64, darwin) (push) Successful in 32s
Go Build Multi-Platform / build (amd64, linux) (push) Successful in 34s
Go Build Multi-Platform / build (arm, freebsd) (push) Successful in 33s
Go Build Multi-Platform / build (arm, windows) (push) Successful in 34s
Go Build Multi-Platform / build (arm64, windows) (push) Successful in 36s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 1m2s
Go Revive Lint / lint (push) Successful in 51s
Run Gosec / tests (push) Failing after 1m19s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m38s
Go Build Multi-Platform / build (amd64, freebsd) (push) Successful in 9m24s
Go Build Multi-Platform / build (amd64, windows) (push) Successful in 9m26s
Go Build Multi-Platform / build (arm, linux) (push) Successful in 9m24s
Go Build Multi-Platform / build (arm64, linux) (push) Successful in 9m22s
Go Build Multi-Platform / build (arm64, darwin) (push) Successful in 9m26s
Go Build Multi-Platform / build (arm64, freebsd) (push) Successful in 9m25s
Go Build Multi-Platform / Create Release (push) Has been skipped
2025-12-30 11:31:51 -06:00
ac0407c954 refactor: update path request handling to use transportIdentity and improve logging with packet length 2025-12-30 01:30:35 -06:00
83abefcf43 refactor: update TestLinkProofValidation to use new ValidateLinkProof signature with network interface parameter 2025-12-30 01:27:58 -06:00