Skip to content

Expose voice-note metadata in receive JSON - #2100

Merged
AsamK merged 1 commit into
AsamK:masterfrom
niieani:codex/expose-voice-note-json
Aug 10, 2026
Merged

Expose voice-note metadata in receive JSON#2100
AsamK merged 1 commit into
AsamK:masterfrom
niieani:codex/expose-voice-note-json

Conversation

@niieani

@niieani niieani commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • expose isVoiceNote on attachment objects in JSON receive output
  • make the same metadata available in JSON-RPC receive notifications through the shared JSON projection
  • cover both true and false projection and serialization

Why

MessageEnvelope.Data.Attachment already retains the voice-note flag from SignalServiceAttachment, and plain-text and D-Bus receive output already expose it. JsonAttachment omitted the flag, forcing JSON consumers to infer voice notes from MIME type and message shape.

This is an additive JSON field. isGif and isBorderless remain out of scope.

Validation

  • ./gradlew :test --tests org.asamk.signal.json.JsonAttachmentTest --rerun-tasks
  • ./gradlew build jsonSchemas
  • generated attachment.schema.json contains required boolean isVoiceNote

Include isVoiceNote in receive JSON and JSON-RPC attachment payloads. Add regression coverage for true and false serialization.
@niieani
niieani marked this pull request as ready for review August 9, 2026 23:23
@AsamK
AsamK merged commit 0f88410 into AsamK:master Aug 10, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants