Skip to content

Message silently discarded if formatting is "invalid" #14890

Description

@imol-ai

Guidelines

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • This isn't a feature request or a discussion topic

Bug description

Since around june 18th, I have been unable to receive messages (that were previously correctly received), that have a "textStyle":"0:99999:MONOSPACE" set (disregarding how long the message actually is). The desktop client still exhibits the correct behaviour, which is setting the whole message content to monospace.

The app throws the following error on message receive:

[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: [..] <ACI:********-****-****-****-*********07b>:2 | Invalid content! [DataMessage] Body range with out-of-bounds start/length!
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: java.lang.Throwable
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.whispersystems.signalservice.api.messages.EnvelopeContentValidator$Result$Invalid.<init>(EnvelopeContentValidator.kt:527)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.whispersystems.signalservice.api.messages.EnvelopeContentValidator.validateDataMessage(EnvelopeContentValidator.kt:126)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.whispersystems.signalservice.api.messages.EnvelopeContentValidator.validate(EnvelopeContentValidator.kt:62)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.messages.MessageDecryptor.decrypt(MessageDecryptor.kt:183)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.messages.IncomingMessageObserver.processMessage(IncomingMessageObserver.kt:322)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.messages.IncomingMessageObserver.processEnvelope(IncomingMessageObserver.kt:307)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.messages.IncomingMessageObserver$MessageRetrievalThread.$r8$lambda$WFz6LkV8TNvL47UXkejoN8Y6EcE(IncomingMessageObserver.kt:564)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.messages.IncomingMessageObserver$MessageRetrievalThread$$ExternalSyntheticLambda0.invoke(R8$$SyntheticClass:0)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.database.SignalDatabase$Companion.tryRunInTransaction(SignalDatabase.kt:344)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.messages.IncomingMessageObserver$MessageRetrievalThread.processBatchInTransaction(IncomingMessageObserver.kt:561)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.messages.IncomingMessageObserver$MessageRetrievalThread.$r8$lambda$tvF3Fcfq4FXAzle0L9CRSr-v6Z8(IncomingMessageObserver.kt:488)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.messages.IncomingMessageObserver$MessageRetrievalThread$$ExternalSyntheticLambda2.onMessageBatch(R8$$SyntheticClass:0)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.whispersystems.signalservice.api.websocket.SignalWebSocket$AuthenticatedWebSocket.readMessageBatch(SignalWebSocket.kt:432)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor: 	at org.thoughtcrime.securesms.messages.IncomingMessageObserver$MessageRetrievalThread.run(IncomingMessageObserver.kt:482)
[8.19.2] [41   ] 2026-07-19 14:27:42.465 GMT+02:00 W MessageDecryptor:

Then it acks the message as read.

Screenshots

No response

Device

No response

Android version

No response

Signal version

8.19.2

Link to debug log

No response

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions