Repository navigation
Signal.NET 0.4.0-preview.1
Pre-release
Pre-release
·
31 commits
to main
since this release
Milestone 0.4 (richer incoming model). Every change is binary-compatible with 0.3.0-preview.1. New
EnvelopeContent cases raise compiler warnings in exhaustive switches, and a few behaviors changed (see below).
Added
- Sync messages (roadmap 0.4.1):
EnvelopeContenthas a new case,SentTranscript, for messages the account sent from its other devices, raising the newMessageSentevent.IncomingEnvelope.Conversationis the transcript's destination. Transcripts never run commands. They are delivered only withAccessControl:IgnoreOwnMessages = false, so the default behavior is unchanged. - Edits, remote deletes and received stickers (roadmap 0.4.2, 0.4.3, 0.4.4):
EnvelopeContenthas a new case,EditMessage(edited message's timestamp plus the new version), raising the newMessageEditedevent. Edits never run commands.DataMessage.RemoteDeleteraises the newMessageDeletedevent.DataMessage.Stickercarries received stickers.
- Stories (roadmap 0.4.5):
EnvelopeContenthas a new case,StoryMessage(file or text, optional group,AllowsReplies), raising the newStoryReceivedevent. Opt-in viaReceive:IgnoreStories = false. - Calls (roadmap 0.4.6):
EnvelopeContenthas a new case,CallMessage(CallEventKindoffer, answer, busy or hangup;CallId;IsVideofor offers), raising the newCallReceivedevent. - Mention-aware binding (roadmap 0.4.7): a positional command argument that is an
@mentionbinds as the mentioned user's phone number (or UUID if hidden), so/kick @Bobworks withRecipient,PhoneNumberandAccountIdparameters. A placeholder without a matching mention fails withCould not resolve the @mention for <name>.Before, it would have been accepted as a username. - Received text styles (roadmap 0.4.8):
DataMessage.TextStyleslists the sender's formatting asStyledRange(TextStyle, Start, Length). - Group update context (roadmap 0.4.9):
GroupUpdatedhasNameandRevision, and every group message exposesDataMessage.GroupNameandGroupRevision. Signal doesn't report what changed; compare revisions or fetch the group to find out.
Changed
Receive:IgnoreStoriesis now enforced in the WebSocket (json-rpc*) modes too. Before, it was only passed to the API when polling.- Exhaustive
switches overEnvelopeContentnow produce a warning until they handleEditMessage,SentTranscript,StoryMessageandCallMessage. This is source-compatible and binary-compatible. - Sticker-only messages now raise
MessageReceived(they were dropped before).DataMessage.HasContentistruefor them, whileTextisnull.
What's Changed
- Validate against the 0.3.0-preview.1 baseline by @Nacorpio in #24
- Model received edits, remote deletes and stickers (0.4.2-0.4.4) by @Nacorpio in #25
- Model sent transcripts from other devices (0.4.1) by @Nacorpio in #26
- Bind @mentions and map received text styles (0.4.7, 0.4.8) by @Nacorpio in #27
- Model received stories and call events (0.4.5, 0.4.6) by @Nacorpio in #28
- Carry group name and revision on group updates (0.4.9) by @Nacorpio in #29
- Release v0.4.0-preview.1 by @Nacorpio in #30
Full Changelog: v0.3.0-preview.1...v0.4.0-preview.1