lilia
cd0fe7037b
Add replayable error for signed key failure
...
Disable message sending if signed key updates fail too many times, but
allow the user to retry sending.
// FREEBIE
2017-02-16 18:06:19 -08:00
haffenloher
a768b94471
Remove unregistered group members
...
Locally remove unregistered users from group membership lists.
Fixes #989
Related to Whispersystems/Signal-Android#6175
Closes #1052
// FREEBIE
2017-02-08 17:13:36 -08:00
haffenloher
04f0142b23
Ignore missing members in incoming group updates
...
Previously, updateNumbers would throw an Error, so the whole group
update was discarded.
Signal-Android handles this the same way in
GroupMessageProcessor.handleGroupUpdate().
Closes #1056
2017-02-08 16:46:09 -08:00
Thomas Guillet
400313f749
Prevent expiration timer update on group update
...
It occurs when a message with a different expiration time is received.
The issue report highlights the scenario of a member leaving a group
(group update [quit] sent with expiration time = 0).
Fix https://github.com/WhisperSystems/Signal-Android/issues/5996
Fix https://github.com/WhisperSystems/Signal-iOS/issues/1566
2017-01-25 20:40:25 -08:00
lilia
9ef61d43f4
Update conversation lastMessage from database
...
Don't set lastMessage, let it update itself as needed, such as when
first rendering a conversation list item, and when its messages are
sent, received, or destroyed.
2017-01-25 20:40:25 -08:00
lilia
6253269d19
Tweak key change advisory insertion
...
Let received_at be the current time for keychanges. This avoids them
being inserted in the wrong place in the thread.
Use the newmessage event to trigger frontend listeners to add them to
the conversation view if it is open.
2017-01-25 20:40:25 -08:00
lilia
a623f909f2
Move key change advisory content to the model
...
Return this content from a helper method so it can be used to populate
the last message on conversations.
2017-01-25 20:40:25 -08:00
lilia
d2c1e6df27
Fix wrong variable name
...
Fix potentially setting expiration timeouts more than once.
2017-01-25 20:40:24 -08:00
lilia
d7f241ddee
Use correct type on timer updates
2017-01-25 20:40:24 -08:00
lilia
05ed7c3822
Merge timer update functions
2017-01-25 20:40:24 -08:00
lilia
0854b19371
Revert "Don't load group contacts unnecessarily"
...
This reverts commit 6699571910
.
Not quite ready for primetime.
2016-11-16 22:25:36 +01:00
lilia
6699571910
Don't load group contacts unnecessarily
...
There are some cases when we want to initialize a group object without
loading its contacts, such as while processing delivery receipts. We
really only need to load the contacts for a group/convo when we are
rendering it, so let the front end handle those cases (which most of
them do already).
2016-11-16 13:33:04 +01:00
lilia
03c5d12edd
Fix necrobumping convos on key change
...
When inserting key change advisories, use the current conversation
timestamp to avoid pushing lots of old groups to the top of the
conversation list.
2016-10-12 11:34:49 +09:00
lilia
f8a3ae158c
Remove log message
2016-10-06 18:18:54 +09:00
lilia
d3a2f5c838
Ignore expireTimer on session reset messages
2016-10-05 22:32:40 +09:00
lilia
4ee2652367
Fix wrong contact in some timer updates
...
Mistakenly showed 'You' for timer updates inferred from incoming
messages.
2016-10-05 22:31:30 +09:00
lilia
7fe708d195
Insert keychange advisories
...
On click, these open a verification panel for the relevant contact,
within this conversation.
// FREEBIE
2016-10-05 19:11:39 +09:00
lilia
009098f8dd
Insert inferred timer updates before the corresponding message
2016-10-05 19:09:21 +09:00
lilia
a12569e356
Fix destination on synced timer updates
2016-10-05 19:09:20 +09:00
lilia
56aee5e8ef
Update conversation snippets automatically
...
Fixes stale snippets after the message has expired
2016-10-05 19:09:20 +09:00
lilia
8d16bfb65e
Populate conversation snippet for timer updates
2016-09-29 16:17:01 -07:00
lilia
e488c19889
Do not trigger notifications for timer updates
2016-09-29 16:17:01 -07:00
lilia
7a26cf79ee
Insert timer update messages when inferring timer changes
2016-09-29 16:17:01 -07:00
lilia
ad2174e279
Sync expirationStartTimestamp on outgoing messages
...
Linked devices need to know when to start the clock.
2016-09-29 16:17:01 -07:00
lilia
6074a29046
Send timer update messages when changing the timer
2016-09-29 16:17:01 -07:00
lilia
824b7417e9
Apply expireTimer to outgoing messages
2016-09-29 16:17:01 -07:00
lilia
2b2c6ab040
Frontend for timer updates and timer indicator
2016-09-29 16:17:01 -07:00
lilia
4cd2c03687
Add clock svg style
2016-09-28 17:20:03 -07:00
lilia
7331d967d2
Add support for expiration timer updates messages
2016-09-28 17:20:03 -07:00
lilia
5f92ccd524
Render animated hourglass when messages are expiring
2016-09-28 17:20:02 -07:00
lilia
1383dc141f
Ensure that expired messages are removed from the frontend
2016-09-28 17:20:02 -07:00
lilia
02ea4f2475
Use read receipt envelope to infer startExpirationTime
...
Avoids display of phantom messages that are only received and marked
read locally long after they have expired on another linked device.
2016-09-28 17:20:02 -07:00
lilia
96fd017890
Support for incoming expiring messages
...
When initialized, or when expiration-related attributes change, expiring
messages will set timers to self-destruct. On self-destruct they trigger
'expired' events so that frontend listeners can clean up any collections
and views referencing them.
At startup, load all messages pending expiration so they can start their
timers even if they haven't been loaded in the frontend yet.
Todo: Remove expired conversation snippets from the left pane.
2016-09-28 17:20:02 -07:00
lilia
edd6f58539
Update display when contact colors change
...
// FREEBIE
2016-09-12 11:44:52 -07:00
lilia
f610233ef6
Add support for syncing blocked numbers
...
// FREEBIE
2016-09-07 13:04:45 -07:00
lilia
53f20640af
Add support for syncing colors
...
// FREEBIE
2016-09-07 13:04:45 -07:00
lilia
7b9894d688
Refactor css to support theming
...
Move away from inline style attributes for setting contact colors.
Apply colors by name via css classes instead. Also lays groundwork
for syncing contact colors.
// FREEBIE
2016-08-30 18:31:02 -07:00
lilia
e07616e2ef
Only create notifications for unread messages
...
In some cases, we have already received a read receipt for an incoming
message by the time we go to create a notification about it. In this
case, we should skip the notification.
// FREEBIE
2016-08-04 15:34:27 -07:00
lilia
8939c61c7c
Log on notification removal
...
// FREEBIE
2016-08-01 20:19:16 -07:00
lilia
7caecc564d
Process all incoming conflicts before outgoing ones
...
Fixes a session management problem where, after resolving a conflict
with some contact, that contact would get bad mac as a result of us
sending them a new prekey message before processing a pending conflicted
prekey message received from them earlier.
Fixes #806
// FREEBIE
2016-05-26 18:11:17 -07:00
lilia
148bd32671
Update libsignal-protocol v0.10.0
...
* Changes policy for old session deletion
* Renames putIdentityKey to saveIdentity
* Remove device messages
// FREEBIE
2016-05-18 11:11:11 -07:00
2-4601
b9ecdbf402
i18n 'Error handling incoming message'
...
// FREEBIE
2016-05-05 12:54:15 -07:00
2-4601
60fe1e2cea
i18n 'Received message with unknown identity key'
...
// FREEBIE
2016-05-05 12:54:14 -07:00
2-4601
52992a8f12
i18n 'Secure session ended'
...
// FREEBIE
2016-05-05 12:54:14 -07:00
lilia
1d60dc38fb
Rename axolotl storage
...
// FREEBIE
2016-04-22 13:43:30 -07:00
lilia
dd7d72a77d
i18n 'Media message'
...
Fixes #736
// FREEBIE
2016-04-18 19:15:36 -07:00
lilia
172d843368
Always update lastMessage on incoming messages
...
Fixes #742
// FREEBIE
2016-04-18 19:15:35 -07:00
lilia
0cd7f84a05
Refactor read state tracking
...
Adds support for handling early arriving read receipts.
// FREEBIE
2016-04-14 11:57:52 -07:00
lilia
d1e9534542
Refactor delivery receipt tracking
...
Move code for matching receipts to messages (and vice versa) to its own
file.
// FREEBIE
2016-04-13 13:57:56 -07:00
lilia
18012688ea
Log unread message timestamps
...
// FREEBIE
2016-04-13 13:57:55 -07:00