Skip to content

Commit 4ec20e2

Browse files
chore: upgrade to V0.36.0 (#123)
1 parent 57505a1 commit 4ec20e2

File tree

3 files changed

+35
-30
lines changed

3 files changed

+35
-30
lines changed

examples/tic-tac-toe-gui/src/main.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ impl TicTacToeApp<Initialized> {
5151

5252
async fn start(self) -> TicTacToeApp<Running> {
5353
let tx_clone = self.tx.clone();
54+
let game_content_topic = WakuContentTopic::new("waku", "2", "tictactoegame", Encoding::Proto);
5455

5556
let my_closure = move |response| {
5657
if let LibwakuResponse::Success(v) = response {
@@ -59,8 +60,11 @@ impl TicTacToeApp<Initialized> {
5960

6061
match event {
6162
WakuEvent::WakuMessage(evt) => {
62-
// println!("WakuMessage event received: {:?}", evt.waku_message);
6363
let message = evt.waku_message;
64+
// Filter: only process messages for our game content topic
65+
if message.content_topic != game_content_topic {
66+
return; // Skip messages from other apps
67+
}
6468
let payload = message.payload.to_vec();
6569
match from_utf8(&payload) {
6670
Ok(msg) => {
@@ -254,9 +258,8 @@ impl eframe::App for TicTacToeApp<Running> {
254258

255259
if ui.button("Play as O").clicked() {
256260
self.player_role = Some(Player::O);
257-
if let Ok(mut game_state) = self.game_state.try_lock() {
258-
game_state.current_turn = Player::X; // player X should start
259-
}
261+
// Player O waits for Player X to make the first move
262+
// No need to change current_turn as it's already X
260263
}
261264

262265
return; // Exit early until a role is selected

waku-bindings/src/node/store.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,38 +18,38 @@ use crate::node::context::WakuNodeContext;
1818
use multiaddr::Multiaddr;
1919
use serde::{Deserialize, Serialize};
2020

21-
#[derive(Clone, Serialize, Deserialize, Debug)]
22-
#[serde(rename_all = "camelCase")]
23-
pub struct PagingOptions {
24-
pub page_size: usize,
25-
pub cursor: Option<MessageHash>,
26-
pub forward: bool,
27-
}
21+
// #[derive(Clone, Serialize, Deserialize, Debug)]
22+
// #[serde(rename_all = "camelCase")]
23+
// pub struct PagingOptions {
24+
// pub page_size: usize,
25+
// pub cursor: Option<MessageHash>,
26+
// pub forward: bool,
27+
// }
2828

2929
/// Criteria used to retrieve historical messages
3030
#[derive(Clone, Serialize, Debug)]
3131
pub struct StoreQueryRequest {
3232
/// if true, the store-response will include the full message content. If false,
3333
/// the store-response will only include a list of message hashes.
34-
#[serde(rename = "requestId")]
34+
#[serde(rename = "request_id")]
3535
request_id: String,
36-
#[serde(rename = "includeData")]
36+
#[serde(rename = "include_data")]
3737
include_data: bool,
38-
#[serde(rename = "pubsubTopic", skip_serializing_if = "Option::is_none")]
38+
#[serde(rename = "pubsub_topic", skip_serializing_if = "Option::is_none")]
3939
pubsub_topic: Option<PubsubTopic>,
40-
#[serde(rename = "contentTopics")]
40+
#[serde(rename = "content_topics")]
4141
content_topics: Vec<WakuContentTopic>,
42-
#[serde(rename = "timeStart", skip_serializing_if = "Option::is_none")]
42+
#[serde(rename = "time_start", skip_serializing_if = "Option::is_none")]
4343
time_start: Option<u64>,
44-
#[serde(rename = "timeEnd", skip_serializing_if = "Option::is_none")]
44+
#[serde(rename = "time_end", skip_serializing_if = "Option::is_none")]
4545
time_end: Option<u64>,
46-
#[serde(rename = "messageHashes", skip_serializing_if = "Option::is_none")]
46+
#[serde(rename = "message_hashes", skip_serializing_if = "Option::is_none")]
4747
message_hashes: Option<Vec<MessageHash>>,
48-
#[serde(rename = "paginationCursor", skip_serializing_if = "Option::is_none")]
48+
#[serde(rename = "pagination_cursor", skip_serializing_if = "Option::is_none")]
4949
pagination_cursor: Option<MessageHash>, // Message hash (key) from where to start query (exclusive)
50-
#[serde(rename = "paginationForward")]
50+
#[serde(rename = "pagination_forward")]
5151
pagination_forward: bool,
52-
#[serde(rename = "paginationLimit", skip_serializing_if = "Option::is_none")]
52+
#[serde(rename = "pagination_limit", skip_serializing_if = "Option::is_none")]
5353
pagination_limit: Option<u64>,
5454
}
5555

waku-bindings/tests/node.rs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ async fn test_echo_messages(
3535
) -> Result<(), String> {
3636
// setting a naïve event handler to avoid appearing ERR messages in logs
3737
node1
38-
.set_event_callback(&|_| {})
38+
.set_event_callback(|_| {})
3939
.expect("set event call back working");
4040

4141
let rx_waku_message: Arc<Mutex<WakuMessage>> = Arc::new(Mutex::new(WakuMessage::default()));
@@ -109,18 +109,20 @@ async fn test_echo_messages(
109109
// Wait for the msg to arrive
110110
let rx_waku_message_cloned = rx_waku_message.clone();
111111
for _ in 0..50 {
112-
if let Ok(msg) = rx_waku_message_cloned.lock() {
112+
let message_received = if let Ok(msg) = rx_waku_message_cloned.lock() {
113113
// dbg!("The waku message value is: {:?}", msg);
114114
let payload = msg.payload.to_vec();
115115
let payload_str = from_utf8(&payload).expect("should be valid message");
116-
if payload_str == ECHO_MESSAGE {
117-
node1.stop().await?;
118-
node2.stop().await?;
119-
return Ok(());
120-
}
116+
payload_str == ECHO_MESSAGE
121117
} else {
122-
sleep(Duration::from_millis(100)).await;
118+
false
119+
};
120+
if message_received {
121+
node1.stop().await?;
122+
node2.stop().await?;
123+
return Ok(());
123124
}
125+
sleep(Duration::from_millis(100)).await;
124126
}
125127

126128
let node1 = node1.stop().await?;
@@ -129,7 +131,7 @@ async fn test_echo_messages(
129131
node1.waku_destroy().await?;
130132
node2.waku_destroy().await?;
131133

132-
return Err("Unexpected test ending".to_string());
134+
Err("Unexpected test ending".to_string())
133135
}
134136

135137
#[tokio::test]

0 commit comments

Comments
 (0)