Scott Nonnenberg
9db0a58260
Whenever adding something to a queue, include a timeout
...
No more wedged queues!
FREEBIE
8 years ago
Scott Nonnenberg
bd0050b6c6
Cache messages on receipt, remove from cache when processed
...
FREEBIE
8 years ago
Scott Nonnenberg
e6859a3684
Ensure that promises always resolve, or that rejections are okay
8 years ago
Scott Nonnenberg
4da1722ee8
Bullet-proof _setVerified and handleDataMessage against rejections
...
And the weird behavior we get from $.Deferred.
FREEBIE
8 years ago
Scott Nonnenberg
ff4fde651c
Make it clear in conversation just some recipients failed
...
FREEBIE
8 years ago
lilia
aa83bc1dab
Ensure all sessions are archived on profile fetch
...
If the key has changed, saveIdentity will archive sibling sessions, but not the
session for the device it was called on. Therefore we have to archive that one
by hand.
Also switch from saving the identity of an OutgoingIdentityKeyError to just
triggering a profile fetch, mostly for consistency, simplicity, and DRYness.
// FREEBIE
8 years ago
Scott Nonnenberg
e2ee63efaa
m.get('sender') -> m.isIncoming(), filter in getLoadedUnreadCount
...
FREEBIE
8 years ago
Scott Nonnenberg
78094102bd
Message.send: Add promise to array for consistency
...
FREEBIE
8 years ago
Scott Nonnenberg
4ee4ad80c3
Message.send - check for missing identityKey, also add logging
...
FREEBIE
8 years ago
Scott Nonnenberg
5e62d0cfd8
Update identity key after a send error tells us it has changed
...
FREEBIE
8 years ago
Scott Nonnenberg
1cf9289b1a
Add items to conversation history when user verifies/unverifies
...
FREEBIE
8 years ago
Scott Nonnenberg
a827334c3e
Allow re-send of messages in msg detail view on OutgoingKeyError
...
We also show more errors than we used to in the MessageDetail screen
to help make it clear what is happening, and why the user would need to
re-send.
FREEBIE
8 years ago
Scott Nonnenberg
ee0b0f5ffb
Remove all concept of 'key conflict' from the app
8 years ago
Scott Nonnenberg
785b117b86
Mark older messages as read when we get out-of-order read receipt
...
FREEBIE
8 years ago
Scott Nonnenberg
fb7e7cf34c
TimerView: don't continue to update after expiration
...
FREEBIE
8 years ago
lilia
3dbb21c53c
Fix being re-added to a group you previously left
...
Negate the flag marking the group as left. Fixes #1207 .
// FREEBIE
8 years ago
Scott Nonnenberg
10c2874d19
Fix race condition: Pull from database after add to conversation
...
Also add some console logs to help us determine whether this ever
happens to people in the wild.
FREEBIE
8 years ago
Scott Nonnenberg
3beecce94e
fetchConversation: Minimize scans across loaded messages
...
FREEBIE
8 years ago
Scott Nonnenberg
d5d1d58cc2
Exclude Backbone-sourced method from jscs checks
...
FREEBIE
8 years ago
Scott Nonnenberg
3ceb3a049e
Override Message.fetch to ensure that db data overrides local
...
FREEBIE
8 years ago
Scott Nonnenberg
2c81539042
A guard to prevent infinite loops in fetching of conversation
...
FREEBIE
8 years ago
Scott Nonnenberg
30b7bf23db
Recursively fetch messages until we've loaded all unread
...
FREEBIE
8 years ago
lilia
80bfe18f02
Mark groups left on synced "You left the group"
...
When leaving a group on mobile, we sync the group quit message to desktop, but
we weren't marking the conversation left.
// FREEBIE
8 years ago
lilia
8bd7280673
Early read receipts should start expiration timers
...
Check for early read receipts for an incoming messages *after*
processing the expireTimer on that message. Then we can set
expirationStartTime appropriately if an early receipt is found.
Closes #950
// FREEBIE
8 years ago
lilia
510a5cb7fe
Namespace global listeners to Whisper
8 years ago
lilia
e4b9c51f88
Rework expiring messages management
...
// FREEBIE
8 years ago
lilia
08e8c00329
Restore setting lastMessage in handleDataMessage
8 years ago
lilia
6509646bdb
Set expireTimer to null to unset
...
// FREEBIE
8 years ago
lilia
54b856139a
Fix fetchExpiring
8 years ago
lilia
e648a4b095
Revert "Remove unregistered group members"
...
This reverts commit a768b94471
.
d2ddfc7
was enough to fix #989 . Removing unregistered members from the
group (as opposed to silently ignorning them) creates greater potential
for getting out of sync with the member lists on other devices.
// FREEBIE
8 years ago
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
8 years ago
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
8 years ago
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
8 years ago
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
8 years ago
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.
8 years ago
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.
8 years ago
lilia
d2c1e6df27
Fix wrong variable name
...
Fix potentially setting expiration timeouts more than once.
8 years ago
lilia
05ed7c3822
Merge timer update functions
8 years ago
lilia
d3a2f5c838
Ignore expireTimer on session reset messages
9 years ago
lilia
4ee2652367
Fix wrong contact in some timer updates
...
Mistakenly showed 'You' for timer updates inferred from incoming
messages.
9 years ago
lilia
7fe708d195
Insert keychange advisories
...
On click, these open a verification panel for the relevant contact,
within this conversation.
// FREEBIE
9 years ago
lilia
009098f8dd
Insert inferred timer updates before the corresponding message
9 years ago
lilia
8d16bfb65e
Populate conversation snippet for timer updates
9 years ago
lilia
e488c19889
Do not trigger notifications for timer updates
9 years ago
lilia
7a26cf79ee
Insert timer update messages when inferring timer changes
9 years ago
lilia
ad2174e279
Sync expirationStartTimestamp on outgoing messages
...
Linked devices need to know when to start the clock.
9 years ago
lilia
2b2c6ab040
Frontend for timer updates and timer indicator
9 years ago
lilia
4cd2c03687
Add clock svg style
9 years ago
lilia
7331d967d2
Add support for expiration timer updates messages
9 years ago
lilia
5f92ccd524
Render animated hourglass when messages are expiring
9 years ago