Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Fields

The fields element of the payload (LXMessage.py:359) is a msgpack map with integer keys. Keys are the FIELD_* identifiers; values are field-specific. An empty map {} is valid and is the default. Field keys are packed as msgpack integers, including the high-value debug keys which serialize as uint8.

Field identifiers (LXMF.py:8-41)

KeyNameValue convention
0x01FIELD_EMBEDDED_LXMSlist of embedded LXM byte strings
0x02FIELD_TELEMETRYtelemetry blob
0x03FIELD_TELEMETRY_STREAMtelemetry stream blob
0x04FIELD_ICON_APPEARANCEappearance descriptor
0x05FIELD_FILE_ATTACHMENTSlist of [name, bytes]
0x06FIELD_IMAGE[format, bytes]
0x07FIELD_AUDIO[audio_mode, bytes] (see audio modes)
0x08FIELD_THREADthread reference
0x09FIELD_COMMANDSlist of commands
0x0AFIELD_RESULTSlist of results
0x0BFIELD_GROUPgroup metadata
0x0CFIELD_TICKET[expires, ticket], see Tickets
0x0DFIELD_EVENTevent payload
0x0EFIELD_RNR_REFSRNR references
0x0FFIELD_RENDERERrenderer hint (see renderers)
0xFBFIELD_CUSTOM_TYPEcustom type tag
0xFCFIELD_CUSTOM_DATAcustom data
0xFDFIELD_CUSTOM_METAcustom metadata
0xFEFIELD_NON_SPECIFICunspecified
0xFFFIELD_DEBUGdebug payload

An implementation MUST treat unknown field keys as opaque and preserve them (the reference round-trips the whole fields map through msgpack). [VEC-MSG-2] carries {0x0F: 0x02} (FIELD_RENDERER: RENDERER_MARKDOWN) and shows it packed inside the payload.

Renderers (LXMF.py:89-92)

ValueName
0x00RENDERER_PLAIN
0x01RENDERER_MICRON
0x02RENDERER_MARKDOWN
0x03RENDERER_BBCODE

Audio modes (LXMF.py:55-79)

Used as the first element of FIELD_AUDIO. Codec2 modes AM_CODEC2_450PWB (0x01) through AM_CODEC2_3200 (0x09); Opus modes AM_OPUS_OGG (0x10) through AM_OPUS_LOSSLESS (0x19); AM_CUSTOM (0xFF). These identify the audio codec and profile of an attached clip; LXMF does not process the audio, it only carries the mode byte and the encoded bytes.