Commit Graph

1379 Commits (89d3b772d579182bab1e3837c1fba055c7961128)

Author SHA1 Message Date
lilia b1d370755a Rename AxolotlStore
// FREEBIE
9 years ago
lilia 1fe5d63015 Update protocol libs
Rename storage functions

// FREEBIE
9 years ago
lilia d5dfffd9da Darken the scrollbar on hover
// FREEBIE
9 years ago
lilia 7b29a567b5 More consistent timestamps
* Apply the same rounding to in message bubbles and conversation list.
  Also make them consistent with Android's relative times. Fixes #682
* Show full timestamps when hovering on relative time
* Compute timestamp update delays more precisely:
  Set timestamps to self-update as soon as they are able to change
  rather than a fixed time since the last update.
* Refactor for customizable/localizable relative times
* Update timestamp tests
* Log timestamp update intervals to help debug #460
9 years ago
lilia dd7d72a77d i18n 'Media message'
Fixes #736

// FREEBIE
9 years ago
lilia 21bfb61b7a Maintain scroll position when textarea resizes
Fixes #770

// FREEBIE
9 years ago
lilia 3ac7552d2f Fix errant change event handler from firing
A change in the text field was firing the previewImages handler.

// FREEBIE
9 years ago
lilia 172d843368 Always update lastMessage on incoming messages
Fixes #742

// FREEBIE
9 years ago
lilia 6a928e3377 Fix reference error in MessageReceiver from fe82e4
Fix a reference error when resolving a key conflict on an incoming end
session message. See Signal-Android/5438.

// FREEBIE
9 years ago
lilia 47320fbbc5 Fix file input bug introduced in 28c602a
Fix bug where clicking the attachment button to select a file would
immediately send any text already entered into the message input.

// FREEBIE
9 years ago
lilia 72dd93aa02 Clear window attention if all messages are marked read
Fixes #758

// FREEBIE
9 years ago
lilia 0cd7f84a05 Refactor read state tracking
Adds support for handling early arriving read receipts.

// FREEBIE
9 years ago
lilia d1e9534542 Refactor delivery receipt tracking
Move code for matching receipts to messages (and vice versa) to its own
file.

// FREEBIE
9 years ago
lilia 18012688ea Log unread message timestamps
// FREEBIE
9 years ago
lilia bb2868f1ec Debounce updates to notifications and other events
Wait for one second of silence before displaying new notifications,
updating the unread count and conversation list previews.

Fixes #470
9 years ago
lilia 1f4587795e Add link to github on debug log
// FREEBIE
9 years ago
lilia f3de290f7c Make debug log link focusable/selectable
Add button to open in a new tab. Stye as input group.

// FREEBIE
9 years ago
2-4601 e874b61839 Fix typo of quality argument in image compression
The quality value should be a float in the range 0.0 to 1.0.
Other values (e.g. 50) are discarded silently and a default is used.

Fixes #713

// FREEBIE
9 years ago
lilia a5ec2321fd Use helper function
// FREEBIE
9 years ago
lilia 2f90645142 Break up long line
// FREEBIE
9 years ago
lilia 2506b2115d Log when fetching messages
// FREEBIE
9 years ago
lilia 2d6d2a92b9 Update libaxolotl
// FREEBIE
9 years ago
lilia 0f4f00ff4e Fix read sync on duplicate messages
In the case of a double send (same message encrypted and sent twice due
to key conflict bug), we would mark the first instance read twice rather
than marking both instances read. Fix by searching for matching messages
that have not yet been marked read.

// FREEBIE
9 years ago
lilia 9aa429e18a Add frontend support for expiring releases
When a release expires, it gets a persistent banner notification to
upgrade, and an ephemeral toast warning when trying to send a message.

// FREEBIE
9 years ago
lilia c442a02cb6 Add build support for expiring old releases
Builds expire after 90 days.
9 years ago
lilia af392c077d Update libaxolotl
// FREEBIE
9 years ago
lilia 7e2c6fd6bc Remove unused argument
// FREEBIE
9 years ago
lilia d8d34e7afc Icon upgrade
Also remove unused images.

// FREEBIE
9 years ago
lilia 1aa975e199 Differentiate active vs selected conversation states
// FREEBIE
9 years ago
lilia ddcdc9e2ff Log on prekey messages
// FREEBIE
9 years ago
lilia 960519d296 Add debug logging
// FREEBIE
9 years ago
lilia 8c03d3e088 Fix sorting of the last element
// FREEBIE
9 years ago
lilia 8fe00f79b2 Fix sorting on incoming key conflicts
// FREEBIE
9 years ago
lilia 07a0463b65 Fix conversation list self-resorting
When deleting all messages in a conversation, the entry in the left pane
should be inserted into the alphabetical portion of the list. To keep it
in this collection, do not nullify active_at.

To ensure the list view is keeping itself correctly sorted, make sure
that resorting behavior is triggered any time a relevant attribute is
changed.

This fixes deleted conversations jumping to the top of the list, and
conversation order scrambling when getting a group or contact sync
message from our master device.

Fixes #734

// FREEBIE
9 years ago
lilia 76652c2622 Update style and copy on key changes
// FREEBIE
9 years ago
lilia 512c5bf739 Incoming bubbles have sender's color background
// FREEBIE
9 years ago
lilia 5a9358efc9 Reorder object members
Group click events together, put custom events at the bottom.

// FREEBIE
9 years ago
lilia 198cc70cef Remove unusued event handlers
The conversation view now handles displaying and listening to the back
button.

// FREEBIE
9 years ago
lilia 6fe9c3f964 Nest key verification inside conflict dialogs
// FREEBIE
9 years ago
lilia c4fcbd8cbe Fix i18n in tests
// FREEBIE
9 years ago
lilia 3901bcb8df Style resend button as an inline link
For messages that failed to send due to network errors, this change
allows retrying them directly from the main conversation view rather
than only from the message detail view.

// FREEBIE
9 years ago
lilia 08da29969c Fix menu behavior
Opening the global menu should close the conversation menu and vice
versa.

// FREEBIE
9 years ago
lilia d24eaa655a Tweak styles on key verification view
// FREEBIE
9 years ago
lilia b57f26bac4 Ignore clicks on the placeholder and its contents
// FREEBIE
9 years ago
lilia d3b035121d Clean up bottom bar styles
// FREEBIE
9 years ago
lilia 234f937bc7 Conversation subscreens share a header
// FREEBIE
9 years ago
lilia c8aa2246dc Let groups have blue headers
// FREEBIE
9 years ago
lilia d391f07c1e Change right header color
// FREEBIE
9 years ago
lilia a925657c45 Fix global menu close handler
Previously, clicking on a conversation menu would not close the global
menu.

// FREEBIE
9 years ago
lilia b094607e0d Highlight bottom bar when focused
// FREEBIE
9 years ago
lilia 8bb8ed8151 Change left pane header color
// FREEBIE
9 years ago
lilia 7310afd1b4 Replace message list loading spinner with bar
// FREEBIE
9 years ago
lilia d39a19d889 Fix crash on read receipt event if no listeners
// FREEBIE
9 years ago
lilia 647c2761e0 Move restart button into global menu
// FREEBIE
9 years ago
lilia 18a5ce8e54 Restyle conversation panel
// FREEBIE
9 years ago
lilia 760bfffb50 Show all contacts all the time
Contacts without conversation identity appear in alphabetical order at
the end of the inbox.

// FREEBIE
9 years ago
lilia b4960b29d8 Remove newContact attribute
This was used as a flag by a UI that no longer exists. Now it
erroneously gets saved when creating a conversation from a bare phone
number.

// FREEBIE
9 years ago
lilia 8b3596b956 Delete last timestamp on a convo when deleting messages
// FREEBIE
9 years ago
lilia 6f3f33657a Don't mark read on sync messages
There's no longer a need for this since we have read-state syncing.

// FREEBIE
9 years ago
lilia d84400777f Tweak storage logging statement
// FREEBIE
9 years ago
lilia 7fb4d3d8aa Load all inbox convos before rendering
This is a better alternative to the fix in 0434c4b, which causes
problems when creating a new conversation from entering a phone number.

// FREEBIE
9 years ago
lilia 762cb68721 Serialize sending and adding messages to a convo
Previously, if a message was sent in between the receive time of an
incoming message and the time it is actually added to the conversation's
message collection (which only occurs later after several async
callbacks), the incoming message would be inserted not-at-the-end of the
collection since it is ordered by receive time. This tricked the front
end into assuming the message was an older message instead of a new one.

Fixes #490

// FREEBIE
9 years ago
lilia f9a3c7817e DRY up early receipt processing
// FREEBIE
9 years ago
lilia 67900753d1 Log sending read receipts
// FREEBIE
9 years ago
lilia 50731439a9 Turn off session logging
// FREEBIE
9 years ago
lilia 2128ee63aa Update libaxolotl
// FREEBIE
9 years ago
lilia 84235ef58e Use forEach instead of loop
// FREEBIE
9 years ago
lilia c02054d5da Pass ciphertext as ArrayBuffer instead of string
// FREEBIE
9 years ago
lilia 6053fe67ba Use built-in string conversion on protobuf
In lieu of a global helper.

// FREEBIE
9 years ago
lilia 3e0bce2b21 Move, rename, and simplify toArrayBuffer helper
This function is only ever used to convert groupIds from strings to
array buffers in sendmessage.

// FREEBIE
9 years ago
lilia 7dff9ac51b Update libaxolotl
// FREEBIE
9 years ago
lilia 151b9797f6 Perform components concatenation missed in ec6948
// FREEBIE
9 years ago
lilia 0434c4bc53 Fixes #663 Conversation list loads in reverse order
The onChangeActiveAt listener promotes newly activated conversations to
the top of the inbox. By firing on an 'add' event, if the conversation
list happened to load after the inbox frontend was initialized, each new
entry would be incorrectly moved to the top, effectively reversing the
list.

// FREEBIE
9 years ago
lilia 1b72ef6170 Restore notifications heading
// FREEBIE
9 years ago
Blake Griffith 0ceb8e7038 i18n notification's settings dialog
FREEBIE
9 years ago
Blake Griffith 24e4d9c615 'off' -> 'disable notifications' in settings
FREEBIE
9 years ago
lilia 7578991f4e Remove emoji logging
// FREEBIE
9 years ago
lilia 57d64fe669 Fix session corruption due to database races
Prevent races between encrypt and decrypt calls, and other read/write
operations on the session store by serializing session io ops per
device.

Possible fix for #535

// FREEBIE
9 years ago
lilia f0539fda52 Fix exception when drawAttention is called too early
// FREEBIE
9 years ago
lilia 28c82531d3 Allow promises to handle identity removal failure
Previously this exception was thrown in a callback which did not
propogate it up to the enclosing promise.

// FREEBIE
9 years ago
lilia a98de39173 Warn if writing to storage too early
// FREEBIE
9 years ago
Sam Lanning 662020ce68 Add title text for emoji in messages.
Fixes #250

// FREEBIE
9 years ago
Sam Lanning 7b1c06538d Updated twemoji to v1.4.2
This allows us to define the "attributes" option, allowing for emoji titles.

// FREEBIE
9 years ago
lilia 0763cf14a3 Remove messages from notifications when read
Remove individual messages from Notifications when marked read.
Previously this was only done from the conversation model when marking
the entire conversation as read.

Fixes #717

// FREEBIE
9 years ago
lilia fd8bac2003 Fix conversation list ordering
Order conversation list by timestamp instead of active_at. The former is
the send time of the most recent message. The latter is typically the
receive time of that message. This can cause mis-ordering if you send a
message while processing a backlog of incoming messages.

Fixes #617

// FREEBIE
9 years ago
lilia 5f07c74f1a Add log statement when opening provisioning socket
Make it more obvious via logs which server someone is attempting to
register with (i.e., to disambiguate staging from prod).

// FREEBIE
9 years ago
lilia 9ea9a8160b Add logging when opening inbox
// FREEBIE
9 years ago
lilia 2b7cbef8b1 Rename a function
Avoid confusing this operation with actual receipts, which are something
else.

// FREEBIE
9 years ago
lilia b77d5df4f2 Fix markRead when messages have not been loaded yet
Query the database and not just the in-memory messages.

// FREEBIE
9 years ago
lilia 01053335ac Don't send empty read status reports
// FREEBIE
9 years ago
lilia f88b33a135 Fix unread message lookup in markRead
// FREEBIE
9 years ago
lilia c4a88dd651 Fix getUnread query
Booleans are not valid keys in indexeddb.
https://www.w3.org/TR/IndexedDB/#dfn-valid-key

// FREEBIE
9 years ago
lilia 8fdf58971c Add missing semicolons
// FREEBIE
9 years ago
lilia c3bbdb393f Refactor media uploading step
Move this to its own function which encapsulates the error handling for
it.

// FREEBIE
9 years ago
lilia 44b1a6451d Add validation to Message class
// FREEBIE
9 years ago
lilia 2e30c4388f Set destination on end session messages for syncing
// FREEBIE
9 years ago
lilia e91f646920 Fix initial post-sync timestamps
Fixes #669

// FREEBIE
9 years ago
lilia d121effe3b Add logging for clearing taskbar attention
// FREEBIE
9 years ago
lilia 71467822f6 Clear key conflict before replaying it
Don't save the change until we successfully process the message, but
make it first so that the user sees the error disappear when the new key
is accepted.

// FREEBIE
9 years ago
lilia f7191ad9de Clear notification when the last one is removed
Previously, we switched to not updating the notification popup on a
removal, since this usually respawns a new notification popup
unexpectedly. However, when the last relevant notification is cleared
(ie, by opening/reading the thread before the notification times out and
disappears on its own) we should clear the existing popup if there is
one.

// FREEBIE
9 years ago