Scott Nonnenberg
09791ab7d9
Make last seen indicator more stable, with less forced removal
...
FREEBIE
2017-05-26 17:26:35 -07:00
Scott Nonnenberg
c3dc9732ef
Fix: Don't scroll to last seen indicator on focus
...
FREEBIE
2017-05-26 17:26:35 -07:00
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
2017-05-26 16:02:14 -07:00
Scott Nonnenberg
9de384f3b8
Reset last seen indicator timing on focus of window
...
FREEBIE
2017-05-25 16:41:21 -07:00
Scott Nonnenberg
01918049b4
Keep last seen indicator around for five seconds
...
Helps calm the user experience a little more, makes it easier to
understand what's happening when messages are coming in quickly.
FREEBIE
2017-05-25 16:41:21 -07:00
Scott Nonnenberg
4e9e811d12
Last seen indicator: Keep scroll position when window loses focus
...
FREEBIE
2017-05-25 16:41:21 -07:00
Scott Nonnenberg
3beecce94e
fetchConversation: Minimize scans across loaded messages
...
FREEBIE
2017-05-25 16:30:30 -07:00
Scott Nonnenberg
d5d1d58cc2
Exclude Backbone-sourced method from jscs checks
...
FREEBIE
2017-05-25 16:30:30 -07:00
Scott Nonnenberg
3ceb3a049e
Override Message.fetch to ensure that db data overrides local
...
FREEBIE
2017-05-25 16:30:30 -07:00
Scott Nonnenberg
2c81539042
A guard to prevent infinite loops in fetching of conversation
...
FREEBIE
2017-05-25 16:30:30 -07:00
r-clancy
66b19d5cf7
Add support for opening the inbox via a shortcut - fixes #1134 .
2017-05-24 10:51:38 -07:00
Scott Nonnenberg
fdf04f6229
Ensure that we never show last seen indicator if count is zero
...
FREEBIE
2017-05-23 15:41:05 -07:00
Scott Nonnenberg
e023c58883
Update last seen indicator even if window doesn't have focus
...
FREEBIE
2017-05-23 11:08:23 -07:00
lilia
72019eb79c
Reuse a variable
...
FREEBIE
2017-05-23 11:08:23 -07:00
lilia
176339ffe6
Add log to see if we ever fetch while fetching
...
// FREEBIE
2017-05-23 11:08:23 -07:00
lilia
16f3717824
Move refresh prekeys out of SignalProtocolStore
...
Use an event/listener instead
// FREEBIE
2017-05-23 11:08:23 -07:00
lilia
017bb56cca
Fix some corner casese with last seen indicator
...
* Remove increment behavior
* Dismiss when new messages arrive but the window is focused
* Update the indicator when window becomes focused.
// FREEBIE
2017-05-23 11:08:23 -07:00
Scott Nonnenberg
bb468e7b01
Wait for scroll before deciding whether to add scroll down button
...
FREEBIE
2017-05-23 11:08:23 -07:00
Scott Nonnenberg
30b7bf23db
Recursively fetch messages until we've loaded all unread
...
FREEBIE
2017-05-23 11:08:23 -07:00
Scott Nonnenberg
8b4402e8a5
Only show scroll down button if we're not at bottom of convo
...
FREEBIE
2017-05-23 11:08:23 -07:00
Scott Nonnenberg
4c7bfbe9ff
Scroll down button: when scrolled up, or new non-visible message
...
FREEBIE
2017-05-23 11:08:23 -07:00
Scott Nonnenberg
3cfac58d78
Eliminate all console errors during test run
...
FREEBIE
2017-05-23 11:08:23 -07:00
Scott Nonnenberg
3e01d78c89
MessageListView remove unused reset-scroll event
...
FREEBIE
2017-05-23 11:08:23 -07:00
Scott Nonnenberg
73f2a4a0fb
Simplify MessageListView.resetScrollPosition: no translation math
...
FREEBIE
2017-05-23 11:08:23 -07:00
Scott Nonnenberg
bfdb8254a4
Scroll on new message only if we were already at bottom
...
FREEBIE
2017-05-23 11:08:23 -07:00
Scott Nonnenberg
fed26c36ca
Add new Last Seen Indicator with unread count, scroll to it
...
This is to ensure that when there are a lot of unread messages, the user
is given the chance to see all of them by being scrolled to the oldest
new message.
When a new message comes in, the indicator will be incremented.
When the user sends a message or switches away from the conversation,
the last seen indicator will be removed.
FREEBIE
2017-05-23 11:08:23 -07:00
lilia
3f1d8ee2b8
Fix display name for ios voice messages
...
iOS populates a filename for voice messages which was overruling our check for
the voice message flag when choosing the display name.
// FREEBIE
2017-05-19 10:25:30 -07:00
lilia
89a7875747
Remove unused function
...
This was supposed to solve the problem of losing group state after a reinstall
by inspecting member registration ids and pre-emptively sending group updates to
those who appear newly re-registered, but it has been unused since 6123c419
.
Nowadays there's a protocol for requesting lost group state from other members.
// FREEBIE
2017-05-16 15:37:05 -07:00
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
2017-05-16 15:23:29 -07:00
lilia
4842ef6153
Sync end session messages
...
// FREEBIE
2017-05-16 12:14:07 -07:00
lilia
cfe0c77243
Conversation view blocks sending to left groups
...
Instead of attempting to send, which will throw an 'Unknown group' exception,
show a toast.
// FREEBIE
2017-05-16 12:10:29 -07:00
lilia
3ea5c0435b
Update attachment style
...
Add names and sizes for all attachments except images, and (as with
arbitrary attachments), clicking on the text will open a save dialog.
In the absence of a filename, choose something that makes sense.
Display different icons for different media types, including distinct icons
for voice notes and audio files.
In iOS theme, audio, video, voice, and files are all encapsulated in bubbles.
Closes #804
Closes #842
Closes #836
// FREEBIE
2017-05-12 15:27:45 -07:00
lilia
6c53605dfd
Flag voice note attachment protos as such
...
// FREEBIE
2017-05-12 09:55:15 -07:00
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
2017-05-11 13:47:58 -07:00
Scott Nonnenberg
0496518af4
Bulletproof getCountOfAllMatches against non-global regex input
...
FREEBIE
2017-05-10 15:51:39 -07:00
Scott Nonnenberg
423a0fef67
Jumbomoji support matching Android support
...
FREEBIE
2017-05-10 15:51:39 -07:00
lilia
aed5735620
Improve keychange notice reliability/perf
...
Bind a single listener to keychange events from the storage interface,
which then looks up relevant conversations and adds notices to them,
with tests.
Previously we would need to instantiate a conversation model in order to
start listening to its key change events. In practice this usually
happens at startup but we shouldn't rely on it, and it incurs higher
overhead since it creates a different listener for each conversation.
// FREEBIE
2017-05-09 15:41:41 -07:00
lilia
787c393e1b
Log key change advisory creation
...
// FREEBIE
2017-05-09 15:28:16 -07:00
lilia
8aa2f771a7
Remove self-listener in conversation model
...
Since there is the only source/listener on this event, it can be called
directly.
// FREEBIE
2017-05-09 15:28:16 -07:00
Scott Nonnenberg
ee00ad0e15
File attachments: show file size, bold filename, make icon bigger
...
FREEBIE
2017-05-09 15:14:20 -07:00
Scott Nonnenberg
2a04fa02df
Introduce new filesize dependency
...
FREEBIE
2017-05-09 15:14:20 -07:00
lilia
a5a9118c5c
Fix empty bubble on accepting a new key
...
// FREEBIE
2017-05-02 13:50:48 -07:00
r-clancy
499ca5537a
Increase max GIF size to match Signal-Android.
...
Signal-Android had the max GIF size changed to 25MB in
WhisperSystems/Android@ad0f283
This change brings parity to the two projects and fixed #1116 .
2017-05-01 11:00:10 -07:00
lilia
7a8f2f0fec
Allow sending arbitrary files
2017-05-01 09:58:03 -07:00
lilia
40af226a4a
Move Whisper.events out of views and tests
2017-04-21 13:21:18 -07:00
lilia
bab9580c3a
Don't fallback to file view for images
...
Also lengthen the timeout a bit.
// FREEBIE
2017-04-19 18:17:14 -07:00
lilia
267f1f5d93
Use ISO format in log message
2017-04-19 13:58:20 -07:00
lilia
6b531ad342
Fix attachment size
...
This is already a number.
// FREEBIE
2017-04-18 18:09:21 -07:00
lilia
c98ec91cab
Fix tests again
2017-04-18 16:51:56 -07:00
lilia
a2f0d6c739
Fix tests
2017-04-18 16:39:00 -07:00