+1
-1
Cargo.toml
+1
-1
Cargo.toml
···
63
63
secrecy = { version = "0.10", features = ["serde"] }
64
64
serde = { version = "1.0", features = ["derive"] }
65
65
serde_ipld_dagcbor = "0.6"
66
-
serde_json = { version = "1.0", features = ["unbounded_depth"] }
66
+
serde_json = "1.0"
67
67
sha2 = "0.10"
68
68
thiserror = "2.0"
69
69
tokio = { version = "1.41", features = ["macros", "rt", "rt-multi-thread"] }
+2
-9
crates/atproto-tap/src/stream.rs
+2
-9
crates/atproto-tap/src/stream.rs
···
17
17
use crate::errors::TapError;
18
18
use crate::events::TapEvent;
19
19
use futures::Stream;
20
-
use serde::de::Deserialize;
21
20
use std::pin::Pin;
22
21
use std::sync::Arc;
23
22
use std::task::{Context, Poll};
···
163
162
recv_result = conn.recv() => {
164
163
match recv_result {
165
164
Ok(Some(msg)) => {
166
-
// Parse the message with disabled recursion limit
167
-
// (AT Protocol records can be deeply nested)
168
-
let parse_result = {
169
-
let mut deserializer = serde_json::Deserializer::from_str(&msg);
170
-
deserializer.disable_recursion_limit();
171
-
TapEvent::deserialize(&mut deserializer)
172
-
};
173
-
match parse_result {
165
+
// Parse the message
166
+
match serde_json::from_str::<TapEvent>(&msg) {
174
167
Ok(event) => {
175
168
let event_id = event.id();
176
169