Private
Public Access
Email a DM's recipient when they're genuinely offline (#66)
Scoped to direct messages only, and deliberately narrower than the existing push/desktop "offline" (not connected to this room's channel right now, which fires on every message) -- email uses GlobalPresence instead (no open connection anywhere, or appear_offline), since the other participant could easily just be active in a different room. Debounced to the first unread message in the conversation rather than firing on every message in a burst, resetting once they mark it read. Reuses the existing SMTP/send_email infrastructure from the invite feature, so it silently no-ops if SMTP isn't configured, same as everywhere else that already uses it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -230,7 +230,15 @@ async def chat_endpoint(websocket: WebSocket, db: AsyncSession = Depends(get_db)
|
||||
# attributed sender may not actually be watching.
|
||||
await mark_room_read(db, envelope.room_id, user.id)
|
||||
await broadcast_new_message(
|
||||
db, broadcaster, presence, focus_presence, envelope.room_id, message, user
|
||||
db,
|
||||
broadcaster,
|
||||
presence,
|
||||
focus_presence,
|
||||
global_presence,
|
||||
str(websocket.base_url),
|
||||
envelope.room_id,
|
||||
message,
|
||||
user,
|
||||
)
|
||||
|
||||
elif envelope.type == "edit":
|
||||
|
||||
Reference in New Issue
Block a user