From d5983b6bf308baf7a35ab7e85c31e3d46bed7422 Mon Sep 17 00:00:00 2001 From: Michael Woods Date: Thu, 25 Dec 2025 21:06:09 -0500 Subject: [PATCH] Fixed send behavior. --- packetserver/http/routers/send.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packetserver/http/routers/send.py b/packetserver/http/routers/send.py index 71448f3..abdc7c8 100644 --- a/packetserver/http/routers/send.py +++ b/packetserver/http/routers/send.py @@ -82,17 +82,23 @@ async def send_message( detail=f"No valid recipients found. Failed: {', '.join(failed_recipients)}" ) + # Create message new_msg = Message( text=payload.text, msg_from=username, - msg_to=to_tuple, + msg_to=tuple(valid_recipients), attachments=() ) # Deliver to valid recipients + always sender (sent folder) messages_root = root.setdefault('messages', PersistentMapping()) - delivered_to = set([username]) # sender always gets copy + delivered_to = set() + # Always give sender a copy in their mailbox (acts as Sent folder) + sender_mailbox = messages_root.setdefault(username, PersistentList()) + sender_mailbox.append(new_msg) + sender_mailbox._p_changed = True + delivered_to.add(username) # now accurate for recip in valid_recipients: mailbox = messages_root.setdefault(recip, PersistentList()) @@ -107,7 +113,7 @@ async def send_message( "status": "sent", "message_id": str(new_msg.msg_id), "from": username, - "to": list(to_tuple), + "to": list(valid_recipients), "sent_at": new_msg.sent_at.isoformat() + "Z", "recipients_delivered": len(delivered_to) }