LXMF Ecosystem - Remaining Features

This document tracks LXMF features that are not yet implemented in styrened but exist in the broader LXMF ecosystem (Sideband, MeshChat, NomadNet).

Last Updated: 2026-02-02 Current Compatibility: ~85-90% (after Phase 4 + Interoperability Fixes)


Priority: High

Group Messaging (FIELD_GROUP = 0x0B)

What it does: Enables multi-party conversations where messages are distributed to all group members.

LXMF Implementation:

  • FIELD_GROUP contains group identifier/metadata
  • Messages addressed to group destination, not individual peers
  • Requires group membership tracking and key distribution

Effort: High (new service, storage schema, key management)

Files to modify:

  • New: src/styrened/services/group_service.py
  • New: src/styrened/models/group.py
  • Update: src/styrened/daemon.py (message routing)
  • Update: src/styrened/ipc/messages.py (group commands)
  • Update: Database schema (group membership tables)

Priority: Medium

Telemetry/Location (FIELD_TELEMETRY = 0x02)

What it does: Attach location, sensor data, or device telemetry to messages.

LXMF Implementation:

  • FIELD_TELEMETRY contains structured telemetry data
  • Used by Sideband for location sharing
  • Can include GPS coordinates, battery level, signal strength

Effort: Medium (extraction + optional forwarding)

Use case for styrened: Edge devices with sensors, location-aware routing

Attachment Send (complement to Attachment Receive)

What it does: Allow styrened to send messages with file/image/audio attachments.

Current state: Receive-only (metadata extraction implemented)

Effort: Medium (file handling, MIME detection, size limits)


Priority: Low

Embedded Messages (FIELD_EMBEDDED_LXMS = 0x01)

What it does: Nest LXMF messages within other messages (forwarding, quoting).

Effort: Medium (serialization/deserialization)

Events (FIELD_EVENT = 0x0D)

What it does: Calendar events, scheduled occurrences.

Effort: Low-Medium (schema + UI considerations)

Tickets (FIELD_TICKET = 0x0C)

What it does: Issue/task tracking within mesh network.

Effort: Medium (new model + service)

Icons (FIELD_ICON = 0x0A, FIELD_ICON_APPEARANCE = 0x0E)

What it does: Custom user/peer icons and appearance metadata.

Effort: Low (extraction + storage)

Commands (FIELD_COMMANDS = 0x04)

What it does: Advertise available commands/capabilities to peers.

Effort: Low (styrened already has RPC; this adds advertisement)

Stamp Cost (announce metadata)

What it does: Anti-spam mechanism requiring proof-of-work for delivery.

Effort: Low (configuration option)


Not Planned

Paper Messages (FIELD_PAPER_MESSAGE = 0x09)

Out of scope for headless daemon. Better suited for GUI clients.

Custom Renderers (beyond RENDERER_PLAIN/RENDERER_MARKDOWN)

styrened is headless; rendering is client responsibility.


References

Graph