Jacob Schmidt 4532e7b73d Add SurrealDB-backed phone storage and message deletion
- Wire phone, garage, and locker stores to the new storage layer
- Add delete flows for messages and emails in the phone UI
- Update contact, mail, and message views for the new data model
2026-04-11 22:36:11 -05:00
..
2026-04-06 19:07:18 -05:00
2026-04-06 19:07:18 -05:00
2026-04-06 19:07:18 -05:00

forge_server_phone

This addon provides the phone user interface and functionality for the in-game phone system. It handles all phone-related features including the UI display, interactions, and core phone operations.

Server State

Phone contacts, messages, and emails are owned by the server extension. SQF phone stores act as bridge objects for CBA events and UI sync only.

Persistent Redis keys:

  • phone:{uid}:contacts: set of contact actor UIDs
  • phone:message:{messageId}: hash containing message record fields
  • phone:{uid}:messages: list of message IDs visible to the user
  • phone:{uid}:thread:{otherUid}: list of message IDs for a conversation
  • phone:{uid}:message_read: hash of message ID to per-user read state
  • phone:email:{emailId}: hash containing email record fields
  • phone:{uid}:emails: list of email IDs visible to the user
  • phone:{uid}:email_read: hash of email ID to per-user read state