Merge pull request #2400 from NousResearch/hermes/hermes-5d6932ba

fix(signal): use id instead of attachmentId in getAttachment RPC
This commit is contained in:
Teknium
2026-03-21 18:05:28 -07:00
committed by GitHub

View File

@@ -478,7 +478,7 @@ class SignalAdapter(BasePlatformAdapter):
if any(mt.startswith("audio/") for mt in media_types):
msg_type = MessageType.VOICE
elif any(mt.startswith("image/") for mt in media_types):
msg_type = MessageType.IMAGE
msg_type = MessageType.PHOTO
# Parse timestamp from envelope data (milliseconds since epoch)
ts_ms = envelope_data.get("timestamp", 0)
@@ -519,6 +519,13 @@ class SignalAdapter(BasePlatformAdapter):
if not result:
return None, ""
# Handle dict response (signal-cli returns {"data": "base64..."})
if isinstance(result, dict):
result = result.get("data")
if not result:
logger.warning("Signal: attachment response missing 'data' key")
return None, ""
# Result is base64-encoded file content
raw_data = base64.b64decode(result)
ext = _guess_extension(raw_data)