feat/enh: channels unread messages count

This commit is contained in:
Timothy Jaeryang Baek
2025-11-27 04:31:04 -05:00
parent c7a48c50a3
commit 64b4d5d9c2
8 changed files with 463 additions and 26 deletions

View File

@@ -408,6 +408,11 @@ async def channel_events(sid, data):
event_data = data["data"]
event_type = event_data["type"]
user = SESSION_POOL.get(sid)
if not user:
return
if event_type == "typing":
await sio.emit(
"events:channel",
@@ -415,10 +420,12 @@ async def channel_events(sid, data):
"channel_id": data["channel_id"],
"message_id": data.get("message_id", None),
"data": event_data,
"user": UserNameResponse(**SESSION_POOL[sid]).model_dump(),
"user": UserNameResponse(**user).model_dump(),
},
room=room,
)
elif event_type == "last_read_at":
Channels.update_member_last_read_at(data["channel_id"], user["id"])
@sio.on("ydoc:document:join")