Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SMS cut off at 2000 characters #5146

Closed
asvetlovsky opened this issue Jan 28, 2016 · 29 comments

Comments

@asvetlovsky
Copy link

commented Jan 28, 2016

When sending an unsecured SMS greater than 2000 characters, it appear cut-off in my sent view. The receiver confirmed that the entire text has gone through successfully.

It seems like Signal cuts off displaying SMS messages at about 2000 character, even though it's possible to send longer ones.

@agrajaghh agrajaghh added bug ux labels Jan 28, 2016

@liliakai

This comment has been minimized.

Copy link
Contributor

commented Jan 29, 2016

Evidence suggests this is also true for Signal messages, not just SMS. 😮

@agrajaghh

This comment has been minimized.

Copy link
Contributor

commented Jan 29, 2016

@liliakai true, I just tested this.

Sending push messages from android is possible with > 2000 characters. The message gets fully trasmitted and shown at Signal-Desktop. But just the first 2000 characters are displayed on android (sending & receiving side)

@agrajaghh

This comment has been minimized.

Copy link
Contributor

commented Jan 29, 2016

What is the reason for this 2000 characters limit? Can't be DOS protection, since attachments are way bigger anyway, no?

I'm not sure how to proceed, but I would suggest to raise this limit to at least 20.000 for push messages, since we have desktop clients now as well, and it's an imaginable usecase to copy & paste longer texts I guess.

Since we can't control other SMS apps, I guess incoming SMS should always be displayed at full length, no?

@McLoo

This comment has been minimized.

Copy link
Contributor

commented Jan 30, 2016

@agrajaghh wasn't there an issue regarding (decryption) speed for larger messages when scrolling through convos?!

@agrajaghh

This comment has been minimized.

Copy link
Contributor

commented Jan 30, 2016

@McLoo that rings a bell, but I couldn't find it at the moment though 😏
but I found #3658 and #3362 (duplicates) 😁

@lolstarz

This comment has been minimized.

Copy link

commented Feb 4, 2016

What's the verdict on this? 20k character limit for displaying sms? Or 20k characters for outbound messages, display full text for inbound SMS as @agrajaghh suggested? 20k limit for everything seems reasonable, I don't think SMS is protocol over which I want to be receiving >20k character messages.

@liliakai

This comment has been minimized.

Copy link
Contributor

commented Feb 5, 2016

What is the reason for this 2000 characters limit?

From what I gather, there are some performance issues and crashes associated with rendering huge text views in Android.

@getsadzeg

This comment has been minimized.

Copy link

commented Feb 6, 2016

@liliakai , So you say it's android fault of rendering huge text and we can't solve it?

If it's true, I think this issue should be closed.

@asvetlovsky

This comment has been minimized.

Copy link
Author

commented Feb 6, 2016

Other SMS apps, like Hangouts, are able to render more than 2000 characters
just fine.

On Sat, Feb 6, 2016, 12:38 Guri Getsadze notifications@github.com wrote:

@liliakai https://github.com/liliakai , So you say it's android fault
of rendering huge text and we can't solve it?

If it's true, I think this issue should be closed.


Reply to this email directly or view it on GitHub
#5146 (comment)
.

@getsadzeg

This comment has been minimized.

Copy link

commented Feb 6, 2016

Okay, so it's not Android's fault.

One thing I(we) know is that in MessageRecorder class, there's variable MAX_DISPLAY_LENGTH with value of 2000 in it. It's referenced in code to cut off characters:

else if (getBody().getBody().length() > MAX_DISPLAY_LENGTH) {
      return new SpannableString(getBody().getBody().substring(0, MAX_DISPLAY_LENGTH));
    }

I'm strongly interested in reason of displaying max characters number as 2000.

@liliakai

This comment has been minimized.

Copy link
Contributor

commented Feb 6, 2016

I'm not saying that it's impossible to display long text on Android. I'm saying that with Signal-Android's current front end architecture, naively removing the limit may cause some phones to crash sometimes.

@getsadzeg

This comment has been minimized.

Copy link

commented Feb 6, 2016

current front end architecture is really common,I think.

@2-4601

This comment has been minimized.

Copy link
Contributor

commented Feb 9, 2016

If someone is interested in looking into this #3148 has more info on rendering large messages.

@2-4601 2-4601 removed the easy label Feb 17, 2016

@ghost

This comment has been minimized.

Copy link

commented Feb 17, 2016

The fix could be as simple as preventing the user from sending more characters than 2k. At least they'd know the message wouldn't go through correctly (this should be done on Signal-browser too)

@asvetlovsky

This comment has been minimized.

Copy link
Author

commented Mar 25, 2016

Is there any update? Messages are still getting cut off when either sending or receiving 2000+ characters.

@lokesh-krishna

This comment has been minimized.

Copy link

commented Oct 23, 2016

The problem/feature still persists and I would love to at least understand why this cutoff exists, even if nothing can be done about it.
I regularly send huge chunks of text I've typed on Simplenote over WhatsApp but sending them over Signal requires breaking them into a series of shorter messages and this really affect both ends of the experience. Just knowing would provide closure.

@FeuRenard

This comment has been minimized.

Copy link
Contributor

commented Oct 24, 2016

Possible fix suggested in #4230.

@lokesh-krishna

This comment has been minimized.

Copy link

commented Oct 24, 2016

Thanks for pointing me there. How is it a fix though? It is a request, right?

@FeuRenard

This comment has been minimized.

Copy link
Contributor

commented Oct 24, 2016

I just wanted to link this issue here.

Addressing your question:

  • The limit is set here.
  • Hitting "Blame" in the top right of the above mentioned page shows you, that the limit was introduced by 724dced
  • This commit closes #2294 which possibly offers you some information you want
@getsadzeg

This comment has been minimized.

Copy link

commented Oct 24, 2016

I don't get why they set a limit. Can anyone explain the gist of PR @FeuRenard commented? Did Signal crash because of no limit of messages or something?

@FeuRenard

This comment has been minimized.

Copy link
Contributor

commented Oct 24, 2016

Can anyone explain the gist of PR (...) ?

Third line of the PR message:

this should concern issues #2252 #2226 and #2271 (and possibly more)

@getsadzeg

This comment has been minimized.

Copy link

commented Oct 24, 2016

So they say they have problem when receiving big images, files, etc for example. And Signal developers solved it with setting a limit of a message?

Strange.

@FeuRenard

This comment has been minimized.

Copy link
Contributor

commented Oct 24, 2016

I encourage you to read more of the linked issues than just the title before asking further questions.

In all three cases something went wrong during processing the received image or vcard. The result is, that Signal attempts to display the plaintext of those files or some encrypted gibberish. Those texts were rather long. And then the crashes happened. This revealed that there are crashes when Signal attempts to display large messages. This potential crash is eliminated by #2294.

@getsadzeg

This comment has been minimized.

Copy link

commented Oct 24, 2016

I had different question.

But now I realized that crashes probably are Android's fault at all, that's the reason there are crashes while displaying large messages, images, etc.

@lokesh-krishna

This comment has been minimized.

Copy link

commented Oct 25, 2016

@FeuRenard
I went through the issues you linked me to and while I can better appreciate the existence of this restriction now, am I missing something because the merged pull request you linked says this:

added a "messageTooLongIndicator" that can be clicked to display the full content of a truncated message

I currently see no method to view the full contents as there is no way to send a message longer than 2,000 characters. You just can't input more than 2,000 characters into the text field.
I know that I might be diverging from the topic of the issue here but the option to display the full contents is exactly what I feel would be the perfect solution. It's what WhatsApp does and it handles very, very long messages really well. I don't want to resort to WhatsApp whenever I have a longer message to send so if there is something I am doing wrong then please help me.

@FeuRenard

This comment has been minimized.

Copy link
Contributor

commented Oct 25, 2016

In #2294 (comment) it is argued, why the button was removed.

I would still suggest that implementing #4230 would be an appropriate fix. Then the 2000 characters restriction for the input field could be removed, too.

EDIT: I think further discussion should take place in the forum or on the mailing list.

@lokesh-krishna

This comment has been minimized.

Copy link

commented Oct 25, 2016

I'll move the conversation there. I just want to thank you for all your responses and for being so patient with me.

@riyapenn

This comment has been minimized.

Copy link

commented Apr 27, 2017

Optional "Tap for more" like iOS via signalapp/Signal-iOS@80fbc09

@automated-signal

This comment has been minimized.

Copy link

commented Apr 2, 2018

GitHub Issue Cleanup:
See #7598 for more information.

@signalapp signalapp locked and limited conversation to collaborators Apr 2, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
You can’t perform that action at this time.