Commit Graph

1661 Commits (25ebcc3131340bab27b709c06f8947ed35f85511)

Author SHA1 Message Date
Scott Nonnenberg 25ebcc3131 Fix broken reference to i18n string 'mediaMessage'
FREEBIE
8 years ago
Scott Nonnenberg 0b6d5de753 Update the scroll position when 'fetch more messages' is complete
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 13a91eece8 MessageListView.measureScrollPosition: reuse variables 8 years ago
Scott Nonnenberg c5530b7235 Increase wiggle room to 30 px, which should ensure text cut off
FREEBIE
8 years ago
Scott Nonnenberg 84397a2ef4 20px at bottom of conversation considered 'at the bottom'
So users who are 'close enough' at the bottom of the conversation won't
get marooned in history.

FREEBIE
8 years ago
Scott Nonnenberg 09791ab7d9 Make last seen indicator more stable, with less forced removal
FREEBIE
8 years ago
Scott Nonnenberg c3dc9732ef Fix: Don't scroll to last seen indicator on focus
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 9de384f3b8 Reset last seen indicator timing on focus of window
FREEBIE
8 years ago
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
8 years ago
Scott Nonnenberg 4e9e811d12 Last seen indicator: Keep scroll position when window loses focus
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
r-clancy 66b19d5cf7 Add support for opening the inbox via a shortcut - fixes #1134. 8 years ago
Scott Nonnenberg fdf04f6229 Ensure that we never show last seen indicator if count is zero
FREEBIE
8 years ago
Scott Nonnenberg e023c58883 Update last seen indicator even if window doesn't have focus
FREEBIE
8 years ago
lilia 72019eb79c Reuse a variable
FREEBIE
8 years ago
lilia 176339ffe6 Add log to see if we ever fetch while fetching
// FREEBIE
8 years ago
lilia 16f3717824 Move refresh prekeys out of SignalProtocolStore
Use an event/listener instead

// FREEBIE
8 years ago
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
8 years ago
Scott Nonnenberg bb468e7b01 Wait for scroll before deciding whether to add scroll down button
FREEBIE
8 years ago
Scott Nonnenberg 30b7bf23db Recursively fetch messages until we've loaded all unread
FREEBIE
8 years ago
Scott Nonnenberg 8b4402e8a5 Only show scroll down button if we're not at bottom of convo
FREEBIE
8 years ago
Scott Nonnenberg 4c7bfbe9ff Scroll down button: when scrolled up, or new non-visible message
FREEBIE
8 years ago
Scott Nonnenberg 3cfac58d78 Eliminate all console errors during test run
FREEBIE
8 years ago
Scott Nonnenberg 3e01d78c89 MessageListView remove unused reset-scroll event
FREEBIE
8 years ago
Scott Nonnenberg 73f2a4a0fb Simplify MessageListView.resetScrollPosition: no translation math
FREEBIE
8 years ago
Scott Nonnenberg bfdb8254a4 Scroll on new message only if we were already at bottom
FREEBIE
8 years ago
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
8 years ago
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
8 years ago
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
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 4842ef6153 Sync end session messages
// FREEBIE
8 years ago
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
8 years ago
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
8 years ago
lilia 6c53605dfd Flag voice note attachment protos as such
// 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
Scott Nonnenberg 0496518af4 Bulletproof getCountOfAllMatches against non-global regex input
FREEBIE
8 years ago
Scott Nonnenberg 423a0fef67 Jumbomoji support matching Android support
FREEBIE
8 years ago
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
8 years ago
lilia 787c393e1b Log key change advisory creation
// FREEBIE
8 years ago
lilia 8aa2f771a7 Remove self-listener in conversation model
Since there is the only source/listener on this event, it can be called
directly.

// FREEBIE
8 years ago
Scott Nonnenberg ee00ad0e15 File attachments: show file size, bold filename, make icon bigger
FREEBIE
8 years ago
Scott Nonnenberg 2a04fa02df Introduce new filesize dependency
FREEBIE
8 years ago
lilia a5a9118c5c Fix empty bubble on accepting a new key
// FREEBIE
8 years ago
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.
8 years ago
lilia 7a8f2f0fec Allow sending arbitrary files 8 years ago