feat: backup/restore, user profile popover, image compress, video blur, wake lock
- backup/restore dialog + user profile popover components - image compression, video blur, wake lock utilities - message cache + conversation messages hook refinements - call context, active speakers, screen share dialog tweaks - audio + screen share settings persistence - refreshed app icons (smaller sizes) across all platforms
This commit is contained in:
@@ -39,6 +39,10 @@ export interface TextMessagePayload {
|
||||
type?: 'text';
|
||||
text: string;
|
||||
attachments: AttachmentHandle[];
|
||||
/** When set, the message self-destructs `expireMs` milliseconds after the
|
||||
* server's createdAt. Sender initiates the delete; receivers hide locally
|
||||
* as soon as the window elapses. Added in /tempmsg support. */
|
||||
expireMs?: number;
|
||||
}
|
||||
|
||||
export interface CallEventPayload {
|
||||
@@ -52,7 +56,12 @@ export interface CallEventPayload {
|
||||
export type MessagePayload = TextMessagePayload | CallEventPayload;
|
||||
|
||||
export type ParsedMessagePayload =
|
||||
| { kind: 'text'; text: string; attachments: AttachmentHandle[] }
|
||||
| {
|
||||
kind: 'text';
|
||||
text: string;
|
||||
attachments: AttachmentHandle[];
|
||||
expireMs?: number;
|
||||
}
|
||||
| {
|
||||
kind: 'call_event';
|
||||
status: CallEventStatus;
|
||||
@@ -91,6 +100,9 @@ export function parseMessagePayload(raw: string | null): ParsedMessagePayload {
|
||||
kind: 'text',
|
||||
text: typeof t.text === 'string' ? t.text : '',
|
||||
attachments: Array.isArray(t.attachments) ? t.attachments : [],
|
||||
...(typeof t.expireMs === 'number' && t.expireMs > 0
|
||||
? { expireMs: t.expireMs }
|
||||
: {}),
|
||||
};
|
||||
}
|
||||
} catch {
|
||||
|
||||
Reference in New Issue
Block a user