Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
392 changes: 225 additions & 167 deletions browser-chat/Cargo.lock

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions browser-chat/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ members = ["shared", "cli", "browser-wasm"]

[workspace.dependencies]
# we define iroh dependencies here to make upgrading easier.
iroh = { version = "0.91", default-features = false }
iroh-base = { version = "0.91", default-features = false, features = ["ticket"] }
iroh-gossip = { version = "0.91", default-features = false, features = ["net"] }
iroh = { version = "0.93", default-features = false }
iroh-base = { version = "0.93", default-features = false, features = ["ticket"] }
iroh-gossip = { version = "0.93", default-features = false, features = ["net"] }
2 changes: 1 addition & 1 deletion browser-chat/browser-wasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ serde-wasm-bindgen = "0.6.5"
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
tracing-subscriber-wasm = "0.1.0"
wasm-bindgen = "=0.2.100"
wasm-bindgen = "=0.2.104"
wasm-bindgen-futures = "0.4"
wasm-streams = "0.4.2"

Expand Down
13 changes: 2 additions & 11 deletions browser-chat/browser-wasm/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ use std::{

use anyhow::Result;
use chat_shared::{ChatSender, ChatTicket, NodeId, TopicId};
use n0_future::{time::Duration, StreamExt};
use n0_future::{StreamExt, time::Duration};
use serde::{Deserialize, Serialize};
use tracing::level_filters::LevelFilter;
use tracing_subscriber_wasm::MakeConsoleWriter;
use wasm_bindgen::{prelude::wasm_bindgen, JsError, JsValue};
use wasm_bindgen::{JsError, JsValue, prelude::wasm_bindgen};
use wasm_streams::ReadableStream;

#[wasm_bindgen(start)]
Expand Down Expand Up @@ -49,15 +49,6 @@ impl ChatNode {
self.0.node_id().to_string()
}

/// Returns information about all the remote nodes this [`Endpoint`] knows about.
pub fn remote_info(&self) -> Vec<JsValue> {
self.0
.remote_info()
.into_iter()
.map(|value| serde_wasm_bindgen::to_value(&value).unwrap())
.collect()
}

/// Opens a chat.
pub async fn create(&self, nickname: String) -> Result<Channel, JsError> {
// let ticket = ChatTicket::new(topic);
Expand Down
2 changes: 1 addition & 1 deletion browser-chat/cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ anyhow = "1.0.95"
clap = { version = "4.5.29", features = ["derive"] }
iroh = { workspace = true, default-features = false }
n0-future = "0.1.2"
rand = "0.8"
rand = "0.9.2"
chat-shared = { version = "0.1.0", path = "../shared" }
tokio = { version = "1.43.0", features = ["rt", "macros"] }
tracing-subscriber = "0.3.19"
Expand Down
2 changes: 1 addition & 1 deletion browser-chat/cli/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ async fn main() -> Result<()> {

let secret_key = match std::env::var("IROH_SECRET") {
Err(_) => {
let secret_key = SecretKey::generate(rand::rngs::OsRng);
let secret_key = SecretKey::generate(&mut rand::rng());
println!("* using new secret. to reuse, set this environment variable:");
println!(
"IROH_SECRET={}",
Expand Down
2 changes: 1 addition & 1 deletion browser-chat/shared/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ iroh-base = { workspace = true, default-features = false, features = ["ticket"]
iroh-gossip = { workspace = true, default-features = false, features = ["net"] }
n0-future = "0.1.2"
postcard = "1.1.1"
rand = "0.8"
rand = "0.9.2"
serde = "1"
tokio = { version = "1", default-features = false, features = ["sync"] }
tracing = "0.1"
Expand Down
18 changes: 5 additions & 13 deletions browser-chat/shared/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ use std::{

use anyhow::{Context, Result};
pub use iroh::NodeId;
use iroh::{endpoint::RemoteInfo, protocol::Router, PublicKey, SecretKey};
use iroh_base::{ticket::Ticket, Signature};
use iroh::{PublicKey, SecretKey, protocol::Router};
use iroh_base::{Signature, ticket::Ticket};
pub use iroh_gossip::proto::TopicId;
use iroh_gossip::{
api::{Event as GossipEvent, GossipSender},
net::{Gossip, GOSSIP_ALPN},
net::{GOSSIP_ALPN, Gossip},
};
use n0_future::{
StreamExt,
boxed::BoxStream,
task::{self, AbortOnDropHandle},
time::{Duration, SystemTime},
StreamExt,
};
use serde::{Deserialize, Serialize};
use tokio::sync::{Mutex as TokioMutex, Notify};
Expand Down Expand Up @@ -73,7 +73,7 @@ pub struct ChatNode {
impl ChatNode {
/// Spawns a gossip node.
pub async fn spawn(secret_key: Option<SecretKey>) -> Result<Self> {
let secret_key = secret_key.unwrap_or_else(|| SecretKey::generate(rand::rngs::OsRng));
let secret_key = secret_key.unwrap_or_else(|| SecretKey::generate(&mut rand::rng()));
let endpoint = iroh::Endpoint::builder()
.secret_key(secret_key.clone())
.discovery_n0()
Expand Down Expand Up @@ -103,14 +103,6 @@ impl ChatNode {
self.router.endpoint().node_id()
}

/// Returns information about all the remote nodes this [`Endpoint`] knows about.
pub fn remote_info(&self) -> Vec<RemoteInfo> {
self.router
.endpoint()
.remote_info_iter()
.collect::<Vec<_>>()
}

/// Joins a chat channel from a ticket.
///
/// Returns a [`ChatSender`] to send messages or change our nickname
Expand Down
Loading
Loading