Add a bunch of FIXMEs to have receive_* methods do the emitting.
parent
b092ed0a82
commit
3f1a40a7d1
|
@ -977,6 +977,8 @@ impl BaseClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Ok(e) = event.deserialize() {
|
if let Ok(e) = event.deserialize() {
|
||||||
|
// FIXME: receive_* and emit_* methods shouldn't be called in parallel. We
|
||||||
|
// should only pass events to receive_* methods and then let *them* emit.
|
||||||
if self.receive_joined_state_event(&room_id, &e).await? {
|
if self.receive_joined_state_event(&room_id, &e).await? {
|
||||||
updated = true;
|
updated = true;
|
||||||
}
|
}
|
||||||
|
@ -1016,6 +1018,8 @@ impl BaseClient {
|
||||||
.set_unread_notice_count(&joined_room.unread_notifications);
|
.set_unread_notice_count(&joined_room.unread_notifications);
|
||||||
|
|
||||||
for mut event in &mut joined_room.timeline.events {
|
for mut event in &mut joined_room.timeline.events {
|
||||||
|
// FIXME: receive_* and emit_* methods shouldn't be called in parallel. We
|
||||||
|
// should only pass events to receive_* methods and then let *them* emit.
|
||||||
let timeline_update = self
|
let timeline_update = self
|
||||||
.receive_joined_timeline_event(room_id, &mut event)
|
.receive_joined_timeline_event(room_id, &mut event)
|
||||||
.await?;
|
.await?;
|
||||||
|
@ -1042,6 +1046,8 @@ impl BaseClient {
|
||||||
if let Some(account_data) = &joined_room.account_data {
|
if let Some(account_data) = &joined_room.account_data {
|
||||||
for account_data in &account_data.events {
|
for account_data in &account_data.events {
|
||||||
{
|
{
|
||||||
|
// FIXME: receive_* and emit_* methods shouldn't be called in parallel. We
|
||||||
|
// should only pass events to receive_* methods and then let *them* emit.
|
||||||
if let Ok(e) = account_data.deserialize() {
|
if let Ok(e) = account_data.deserialize() {
|
||||||
if self.receive_account_data_event(&room_id, &e).await {
|
if self.receive_account_data_event(&room_id, &e).await {
|
||||||
updated = true;
|
updated = true;
|
||||||
|
@ -1058,6 +1064,8 @@ impl BaseClient {
|
||||||
// efficient but we need a room_id so we would loop through now or later.
|
// efficient but we need a room_id so we would loop through now or later.
|
||||||
for presence in &mut response.presence.events {
|
for presence in &mut response.presence.events {
|
||||||
{
|
{
|
||||||
|
// FIXME: receive_* and emit_* methods shouldn't be called in parallel. We
|
||||||
|
// should only pass events to receive_* methods and then let *them* emit.
|
||||||
if let Ok(e) = presence.deserialize() {
|
if let Ok(e) = presence.deserialize() {
|
||||||
if self.receive_presence_event(&room_id, &e).await {
|
if self.receive_presence_event(&room_id, &e).await {
|
||||||
updated = true;
|
updated = true;
|
||||||
|
@ -1072,6 +1080,8 @@ impl BaseClient {
|
||||||
for ephemeral in &mut joined_room.ephemeral.events {
|
for ephemeral in &mut joined_room.ephemeral.events {
|
||||||
{
|
{
|
||||||
if let Ok(e) = ephemeral.deserialize() {
|
if let Ok(e) = ephemeral.deserialize() {
|
||||||
|
// FIXME: receive_* and emit_* methods shouldn't be called in parallel. We
|
||||||
|
// should only pass events to receive_* methods and then let *them* emit.
|
||||||
if self.receive_ephemeral_event(&room_id, &e).await {
|
if self.receive_ephemeral_event(&room_id, &e).await {
|
||||||
updated = true;
|
updated = true;
|
||||||
}
|
}
|
||||||
|
@ -1107,6 +1117,8 @@ impl BaseClient {
|
||||||
*event = e;
|
*event = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME: receive_* and emit_* methods shouldn't be called in parallel. We
|
||||||
|
// should only pass events to receive_* methods and then let *them* emit.
|
||||||
if let Ok(e) = event.deserialize() {
|
if let Ok(e) = event.deserialize() {
|
||||||
if self.receive_left_state_event(&room_id, &e).await? {
|
if self.receive_left_state_event(&room_id, &e).await? {
|
||||||
updated = true;
|
updated = true;
|
||||||
|
@ -1131,6 +1143,8 @@ impl BaseClient {
|
||||||
*event = e;
|
*event = e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME: receive_* and emit_* methods shouldn't be called in parallel. We
|
||||||
|
// should only pass events to receive_* methods and then let *them* emit.
|
||||||
if self.receive_left_timeline_event(room_id, &event).await? {
|
if self.receive_left_timeline_event(room_id, &event).await? {
|
||||||
updated = true;
|
updated = true;
|
||||||
};
|
};
|
||||||
|
@ -1161,6 +1175,8 @@ impl BaseClient {
|
||||||
let matrix_room = {
|
let matrix_room = {
|
||||||
for event in &invited_room.invite_state.events {
|
for event in &invited_room.invite_state.events {
|
||||||
if let Ok(e) = event.deserialize() {
|
if let Ok(e) = event.deserialize() {
|
||||||
|
// FIXME: receive_* and emit_* methods shouldn't be called in parallel. We
|
||||||
|
// should only pass events to receive_* methods and then let *them* emit.
|
||||||
if self.receive_invite_state_event(&room_id, &e).await? {
|
if self.receive_invite_state_event(&room_id, &e).await? {
|
||||||
updated = true;
|
updated = true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue