@actnet/app-core - v0.1.0
    Preparing search index...

    Interface Attachment

    An end-to-end-encrypted attachment (docs/35-attachments.md). The pointer fields (url..flags) are what travels in the message; id, localPath, and downloadedAt are local state once persisted/downloaded.

    interface Attachment {
        id: string;
        url: string;
        contentType: string;
        key: Uint8Array;
        digest: Uint8Array;
        sizeBytes: number;
        fileName?: string;
        width: number;
        height: number;
        durationMs: number;
        blurhash?: string;
        thumbnail: Uint8Array;
        caption?: string;
        flags: number;
        localPath?: string;
        downloadedAt?: Instant;
    }
    Index

    Properties

    id: string

    Local row id; empty for a freshly-uploaded pointer not yet persisted.

    url: string

    Full download URL on the hosting homeserver.

    contentType: string

    MIME type.

    key: Uint8Array

    64-byte attachment key (AES ‖ HMAC).

    digest: Uint8Array

    32-byte SHA-256 of the stored ciphertext blob.

    sizeBytes: number

    Unpadded plaintext size in bytes.

    fileName?: string
    width: number

    Image/video width in pixels; 0 if not applicable.

    height: number

    Image/video height in pixels; 0 if not applicable.

    durationMs: number

    Audio/video duration in ms; 0 if not applicable.

    blurhash?: string
    thumbnail: Uint8Array

    Small decrypted preview (downscaled JPEG); empty if none.

    caption?: string
    flags: number

    Bitset (voice-note, gif, ...).

    localPath?: string

    Filesystem path of the decrypted blob once downloaded.

    downloadedAt?: Instant