Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7d18f3791c
|
||
|
|
3b2c2b94dd
|
||
|
|
e47e378769
|
No files matched your search
@@ -1,5 +1,20 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [3.0.1] - 2026-05-11
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- **DHT `PublishFailing` no longer wedges the swarm for minutes at a
|
||||||
|
time.** Pulls in `iroh-gossip-rendezvous` 0.2.1, which retries
|
||||||
|
failed publishes on a 15 s cadence (default) and bypasses the
|
||||||
|
`1/(n+1)` write-probability gate while the DHT is unhealthy. Prior
|
||||||
|
to this, a single failed publish parked the bridge in
|
||||||
|
`PublishFailing` for at least `write_period` (5 min) and on
|
||||||
|
average `(n + 1) × write_period` — half an hour with a populated
|
||||||
|
active view — before the next retry attempt. Recovery is now
|
||||||
|
bounded by `failure_retry_period × consecutive_failures` and
|
||||||
|
flips back to `Ready` the instant a write lands.
|
||||||
|
|
||||||
## [3.0.0] - 2026-05-11
|
## [3.0.0] - 2026-05-11
|
||||||
|
|
||||||
### Breaking
|
### Breaking
|
||||||
|
|||||||
Generated
+3
-3
@@ -999,7 +999,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "donglora-bridge"
|
name = "donglora-bridge"
|
||||||
version = "3.0.0"
|
version = "3.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"blake3",
|
"blake3",
|
||||||
@@ -2111,9 +2111,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iroh-gossip-rendezvous"
|
name = "iroh-gossip-rendezvous"
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "dba62c212a2f56a4d078935a958c1e4e1e91a13fde63a36f0f4640d67620fb53"
|
checksum = "48e5cc352847aff677cf4da3adb0e673b59cf70428866591ae25ef3eae42756d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"blake3",
|
"blake3",
|
||||||
|
|||||||
+4
-4
@@ -1,12 +1,12 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "donglora-bridge"
|
name = "donglora-bridge"
|
||||||
version = "3.0.0"
|
version = "3.0.2"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
authors = ["Stephen Waits <steve@waits.net>"]
|
authors = ["Stephen Waits <steve@waits.net>"]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
description = "Peer-to-peer LoRa bridge using iroh and DongLoRa"
|
description = "Peer-to-peer LoRa bridge using iroh and DongLoRa"
|
||||||
repository = "https://github.com/donglora/bridge"
|
repository = "https://git.swaits.com/donglora/bridge"
|
||||||
homepage = "https://github.com/donglora/bridge"
|
homepage = "https://git.swaits.com/donglora/bridge"
|
||||||
keywords = ["lora", "bridge", "gossip", "p2p", "iot"]
|
keywords = ["lora", "bridge", "gossip", "p2p", "iot"]
|
||||||
categories = ["network-programming", "command-line-utilities"]
|
categories = ["network-programming", "command-line-utilities"]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
@@ -17,7 +17,7 @@ exclude = [".jj/", ".github/"]
|
|||||||
donglora-client = "1"
|
donglora-client = "1"
|
||||||
iroh = "=1.0.0-rc.0"
|
iroh = "=1.0.0-rc.0"
|
||||||
iroh-gossip = "0.99"
|
iroh-gossip = "0.99"
|
||||||
iroh-gossip-rendezvous = "0.2"
|
iroh-gossip-rendezvous = "0.2.1"
|
||||||
tokio = { version = "1", features = ["full"] }
|
tokio = { version = "1", features = ["full"] }
|
||||||
clap = { version = "4", features = ["derive"] }
|
clap = { version = "4", features = ["derive"] }
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# donglora-bridge
|
# donglora-bridge
|
||||||
|
|
||||||
[](https://github.com/donglora/bridge/actions/workflows/ci.yml)
|
[](https://git.swaits.com/donglora/bridge/actions?workflow=ci.yml)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||

|

|
||||||
|
|
||||||
@@ -25,12 +25,12 @@ through an encrypted peer-to-peer gossip swarm.
|
|||||||
|
|
||||||
### 1. A DongLoRa radio
|
### 1. A DongLoRa radio
|
||||||
|
|
||||||
[DongLoRa](https://github.com/donglora/firmware) is open-source firmware that
|
[DongLoRa](https://git.swaits.com/donglora/firmware) is open-source firmware that
|
||||||
turns a supported LoRa development board (such as a Heltec WiFi LoRa 32 or
|
turns a supported LoRa development board (such as a Heltec WiFi LoRa 32 or
|
||||||
similar ESP32+SX1262 board) into a USB LoRa dongle. You will need to:
|
similar ESP32+SX1262 board) into a USB LoRa dongle. You will need to:
|
||||||
|
|
||||||
1. **Get a board** -- any ESP32 board with an SX1262 LoRa radio that DongLoRa
|
1. **Get a board** -- any ESP32 board with an SX1262 LoRa radio that DongLoRa
|
||||||
supports. See the [DongLoRa README](https://github.com/donglora/firmware) for
|
supports. See the [DongLoRa README](https://git.swaits.com/donglora/firmware) for
|
||||||
the full list.
|
the full list.
|
||||||
2. **Flash the DongLoRa firmware** onto the board. Instructions are in the
|
2. **Flash the DongLoRa firmware** onto the board. Instructions are in the
|
||||||
DongLoRa repository.
|
DongLoRa repository.
|
||||||
@@ -68,7 +68,7 @@ mise use -g cargo:donglora-bridge
|
|||||||
Or build from source:
|
Or build from source:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
git clone https://github.com/donglora/bridge.git
|
git clone https://git.swaits.com/donglora/bridge.git
|
||||||
cd donglora-bridge
|
cd donglora-bridge
|
||||||
cargo build --release
|
cargo build --release
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
The DHT partition-healing algorithm specification is now maintained as part
|
The DHT partition-healing algorithm specification is now maintained as part
|
||||||
of the `iroh-gossip-rendezvous` crate:
|
of the `iroh-gossip-rendezvous` crate:
|
||||||
|
|
||||||
**<https://github.com/swaits/iroh-gossip-rendezvous/blob/main/PROTOCOL.md>**
|
**<https://git.swaits.com/swaits/iroh-gossip-rendezvous/src/branch/main/PROTOCOL.md>**
|
||||||
|
|
||||||
The bridge pins a specific `iroh-gossip-rendezvous` version; the spec that
|
The bridge pins a specific `iroh-gossip-rendezvous` version; the spec that
|
||||||
matches whatever version you're running is in
|
matches whatever version you're running is in
|
||||||
|
|||||||
Reference in new issue
Block a user