After the app expires, there is no message to the user that it expired. Only messages simply fail to be send. The only way to discover that the app expired is to see in the debug console:
org.thoughtcrime.securesms.TextSecureExpiredException: TextSecure expired (build 1455264177834, now 1463091540114)
I think this should be more user friendly.
Moreover, it would be great if this could be display also few days at least before the expiration. So that user can react in time.
Agreed! Uninterrupted service is much appreciated if one depends on this type of communication :3 so it would be nice if one could somehow "renew early" so the new expiration takes over seamlessly.
Failing that, like @mitar said, it would be good to have a message slightly ahead of time or at least when failure occurs, so one is not left scratching one's head. ;3
Hmmm... isn't there already a banner which tells that the build has expired?
@cascheberg
Yes, but only after it has expired which can be too late. Perhaps a line below the Signal version in Settings - Advanced with "This version expires in %d days" would be nice.
That said, with the current maturity and development speed the expire time could be somewhat higher than the current 3 months. Will we have 3.15.3 next month with only commit "Update build time"? Fortunately I can strip this annoying function from my own builds.
Perhaps a line below the Signal version in Settings - Advanced with "This version expires in %d days" would be nice.
That would be the perfect place to put it, congruous with other Android time periods. I think the wording could be a bit careful, though. "This version expires" sounds like the same phrasing as a trialware program shutting itself off.
Maybe something like "This build has reached its functional end-date and requires updating to ensure current coding and features."
Granted it's not a huge distinction, but as a new user my biggest impression is an unusual, puzzling and extreme lack of in-program text/explanation. Despite the unqualified amazing things I knew to be true of it, the first time I tried it I nearly gave up for an apparently lack of anything to do and a suspicious reticence about how the program was doing it.
My issue currently was that I just tried to send a message and I was getting "message sending failed" message immediately. If something, the error should be displayed there. I do not think I would guessed to go and check something in settings. Because first I was thinking it is something with the network, not my program. Just later on after the error persisted I went and looked into the console.
@mitar I am confused. You should see a large banner that tells you that your build expired. I even implemented a similar banner that shows up 10 days before the build expires, see #4322 for details and screenshot.
Oh, maybe because I have in its place "Enable Signal messages and calls" banner?
The expiry warning banner has a higher priority, so it should be shown instead. What happens if you dismiss the banner that you are seeing?
It seems that you can't dismiss the _"Enable Signal messages and calls"_ banner.
Well, you can if you tap it and register for Signal.

Edit: What I don't understand is how @mitar is able to try to send a Signal message (and then have it fail) while having that banner visible (i.e. not registered to Signal).
Or does the expired build also prevent from sending SMS?
I cannot register, because I do not have Google stuff on my phone. So I can use Signal only for sending SMS. And yes, I cannot send SMS once it is expired. So yes, maybe SMS should be able to be send always, even with an expired build.
I cannot reproduce this behaviour. I set Signal as default SMS app, unregistered from Signal and imitated an expired build (ExpiredBuildReminder will always return true for isEligible()). Now the ExpiredBuildReminder shows up as it should be. You say, you see the PushRegistrationReminder. What am I doing "wrong"?
Maybe I had a very old version which didn't have this correctly? I will wait until next time and see what happens. I still have not registered with Signal (because I do not have Google on my phone) so when it will be next time expired I will see if there will be any notice about that.
I can confirm that the banner appears. I can see it now.
I think the issue is that it is the same color as the "register Signal" banner and I got used to that banner (because I cannot register).
Most helpful comment
I can confirm that the banner appears. I can see it now.