Skip to content

DM System Basic Functions#92

Open
mraysu wants to merge 3 commits intoCSES-Open-Source:devfrom
mraysu:mraysu/dmsystem
Open

DM System Basic Functions#92
mraysu wants to merge 3 commits intoCSES-Open-Source:devfrom
mraysu:mraysu/dmsystem

Conversation

@mraysu
Copy link

@mraysu mraysu commented Jan 28, 2026

Changes

  • added a DM system page on /messages
  • added Socket.IO server on backend for event handling with acknowledgement, logging, and error handling
  • added Conversation and Message schemas for storing chats
  • users can send messages with real-time updates, receive messages on page refresh (real-time talking TODO)
  • messages and conversations are tied to user's UID
  • added a SOCKET_PORT env variable for socket server hosting. i think should still work if its the same as PORT
image

TODO:

  • handle real-time receive-message event
  • come up with better way of testing websockets with multiple users
  • set up event payload validation using some JSON validator like ajv
  • set up flow for creating new conversations with users
  • set up notification system that notifies user when receiving new messages

Stretch goals: "user is typing," render message dates, batch message fetching instead of all at once, look into message caching options

hella buggy btw

Testing

lots of manual websocket testing and route testing. To replicate on your own system, will need to make a conversation manually using curl/postman.

image image

@mraysu
Copy link
Author

mraysu commented Jan 28, 2026

sorry i think it is set up to auto request reviews

@chase-of-the-fjords
Copy link
Collaborator

@mraysu ooh good point, i just made a PR to remove myself

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants