Skip to content

Persistent chat

Starling’s pchat service handles persistent channel messages, history fetches, key exchange, and pins. The server stores encrypted payloads; the client performs the end-to-end encryption.

A channel’s persistence policy determines whether history is retained. Review its history and encryption controls from the channel settings, and test the policy with two registered identities before using it for a community.

History access follows channel permissions. Registration, encryption mode, retention, and limits affect whether a member can retrieve and decrypt earlier messages. A connected client may already have a local copy even after server retention removes a message.

The pchat database is owned by that service. Keep its database and the Starling data directory in your backup. The at-rest key is generated in the data directory; preserve it with the encrypted database. Use Starling configuration reference and the storage guide for deployment settings.

Send a message, disconnect, reconnect with the same identity, and confirm that history loads. Repeat with another identity that has channel access. Check the pchat logs if messages load but cannot be decrypted.

Moving an existing deployment has separate history limitations. Read Migrating to Starling before importing its database.

Current conversation showing sample messages from yesterdayCurrent conversation showing sample messages from yesterday