Проблема
route_rx (lora_bridge/transports/meshcore/mappers/handler.py) роутит CONTACT_MSG_RECV только в RoomServerEndpoint-хэндлеры, у которых событие совпало по pubkey_prefix (см. mappers/room_server.py). Личное сообщение (DM) от контакта, для которого не настроен room_server-эндпоинт с этим ключом, ни на один хэндлер не попадает и дропается с WARNING «не совпал ни с одним эндпоинтом» (route_rx, handler.py:89-94).
Идея
Добавить новый тип эндпоинта (например direct/contact) в EndpointBase-union (config/schema/endpoints.py, рядом с PublicEndpoint/PrivateEndpoint/RoomServerEndpoint), который принимает произвольные CONTACT_MSG_RECV (не привязанные к конкретному room-server pubkey) и позволяет линковать их в rooms[] как источник — по аналогии с public/private/room_server.
Открытые вопросы (уточнить перед имплементацией)
- Один такой эндпоинт на ноду или можно несколько (линковать разных контактов в разные rooms)?
- Исходящие сообщения из привязанного room: слать как DM конкретному контакту (какому — последнему написавшему?) или это read-only источник (RX-only, без обратной отправки)?
- Нужна ли идентификация автора в исходящем префиксе аналогично room-server (
resolve_author через get_contact_by_key_prefix)?
Дублирует beads-issue LoRa-Bridge-5fe (основной трекер этого репо — bd/beads).
Проблема
route_rx(lora_bridge/transports/meshcore/mappers/handler.py) роутитCONTACT_MSG_RECVтолько вRoomServerEndpoint-хэндлеры, у которых событие совпало поpubkey_prefix(см.mappers/room_server.py). Личное сообщение (DM) от контакта, для которого не настроенroom_server-эндпоинт с этим ключом, ни на один хэндлер не попадает и дропается с WARNING «не совпал ни с одним эндпоинтом» (route_rx,handler.py:89-94).Идея
Добавить новый тип эндпоинта (например
direct/contact) вEndpointBase-union (config/schema/endpoints.py, рядом сPublicEndpoint/PrivateEndpoint/RoomServerEndpoint), который принимает произвольныеCONTACT_MSG_RECV(не привязанные к конкретному room-server pubkey) и позволяет линковать их вrooms[]как источник — по аналогии сpublic/private/room_server.Открытые вопросы (уточнить перед имплементацией)
resolve_authorчерезget_contact_by_key_prefix)?Дублирует beads-issue
LoRa-Bridge-5fe(основной трекер этого репо — bd/beads).