Commit Graph

1483 Commits (1da44c847b6921bb8e405dc15d9bd7f12b15f2a8)

Author SHA1 Message Date
lilia 3cd80d3f1e Remove tool tip from unregistered user errors
// FREEBIE
10 years ago
lilia 58c3fe047e Make error messages clickable
// FREEBIE
10 years ago
lilia b2f07984df i18n unregistered user errors
// FREEBIE
10 years ago
lilia b6f785737c Restyle error icons, move them outside the bubble 10 years ago
lilia 89d3b772d5 Define UnregisteredUserError class
// FREEBIE
10 years ago
lilia 81dfdd959f Don't allow retry on unregistered user errors
// FREEBIE
10 years ago
lilia 292260d973 Remove timestamp logging
// FREEBIE
10 years ago
lilia 331ca46d75 Fix websocket event name
Fixes #798

// FREEBIE
10 years ago
lilia 15e964de81 Update libsignal-protocol v0.13.0
* libsignal.Curve is now a synchronous interface.
* libsignal.Curve.async is now the asynchronous interface.
* Fixes bugs in session management.

// FREEBIE
10 years ago
lilia f216262298 Update libsignal-protocol v0.12.0
Moves version byte check to protocol lib.

// FREEBIE
10 years ago
lilia 055c0c323e Remove unneeded property from device object
// FREEBIE
10 years ago
lilia f8e176fd40 Dedupe methods
Define textsecure.crypto in terms of libsignal.crypto.

// FREEBIE
10 years ago
lilia 58452066aa Move device storage methods to outgoing message
This is the only place they are called.

// FREEBIE
10 years ago
lilia daae664965 Remove unused function
// FREEBIE
10 years ago
lilia d32a352d8a Use deviceIds/addresses instead of encodedNumbers
The getDeviceObjectsForNumber method returns device objects that contain
nothing but the encodedNumber property. Instead, just deal in deviceIds
until a SignalProtocolAddress is constructed to manage both the number
and deviceId.

// FREEBIE
10 years ago
lilia 95935f70ee Remove relay check from sendmessage
We don't currently store any relay information about devices,
and

// FREEBIE
10 years ago
lilia f16803018c Update libsignal-protocol v0.11.0
* Changes return type from decryption functions
* Update components

// FREEBIE
10 years ago
lilia 148bd32671 Update libsignal-protocol v0.10.0
* Changes policy for old session deletion
* Renames putIdentityKey to saveIdentity
* Remove device messages

// FREEBIE
10 years ago
lilia ffa702c934 Update libsignal-protocol v0.9.0
* Exposes crypto APIs.
* Move worker methods to libsigna.worker.
* Move ProvisioningCipher to libtextsecure.
10 years ago
lilia cd2218ada7 Move hard-coded worker url out of libtextsecure
// FREEBIE
10 years ago
lilia d5f4665fa4 MessageReceiver uses SessionCipher to retry conflicts
// FREEBIE
10 years ago
lilia 9ecfe6acb0 Use SignalProtocolAddress in MessageReceiver constructor
// FREEBIE
10 years ago
lilia 213b44935d Update libsignal-protocol v0.8.0
Reorder identity key check
10 years ago
lilia eee93987f8 Update libsignal-protocol v0.7.0
Remove unused methods.

// FREEBIE
10 years ago
lilia 6266050a67 Remove unused jobqueue
// FREEBIE
10 years ago
lilia 050ea87aaf Get device ids instead of objects
// FREEBIE
10 years ago
lilia 7939b6ae98 Remove hasOpenSession from protocol_wrapper
// FREEBIE
10 years ago
lilia 0483fa2f97 Remove closeOpenSessionForDevice from protocol_wrapper
// FREEBIE
10 years ago
lilia 0d5ec60a7a Remove handlePreKeyWhisperMessage from protocol_wrapper
// FREEBIE
10 years ago
lilia 8010a09045 Remove decryptWhisperMessage from protocol_wrapper
// FREEBIE
10 years ago
lilia 891ddacd35 Remove processPreKey from protocol_wrapper
Use SessionBuilder directly instead of protocol_wrapper

// FREEBIE
10 years ago
lilia 843036f0ce Remove getRegistrationId and encryptMessageFor from protocol_wrapper
We can now use protocol classes like SessionCipher directly because it
supports per-device read/write serialization internally.

// FREEBIE
10 years ago
lilia 284cf5be3a Update libsignal-protocol v0.6.0
Adds session accessors on SessionCipher and an internal session lock to
replace the same implemented in protocol_wrapper.js

// FREEBIE
10 years ago
lilia 92293f9da9 Update libsignal-protocol v0.5.0
Renames libsignal.util to libsignal.KeyHelper.

// FREEBIE
10 years ago
lilia e68031019b Integrate libsignal.SessionCipher
Bypass the old protocolInstance wrapper methods and use the shiny new
SessionCipher class directly.

// FREEBIE
10 years ago
lilia 9e6ad27fc5 Update libsignal-protocol v0.4.0
// FREEBIE
10 years ago
lilia 56238136ca Remove trivial wrapper method
// FREEBIE
10 years ago
lilia 78cdc0cb52 Remove tempKeys
Now that we simply establish and save a session via SessionBuilder
rather than saving the keys to pass in during encrypt, we can stop
caching them in memory in between the identity key check and the
encryption step.

// FREEBIE
10 years ago
lilia 519d3ec31b Update libsignal-protocol
// FREEBIE
10 years ago
2-4601 d861797d66 i18n 'Permanently delete this conversation?'
// FREEBIE
10 years ago
2-4601 b9ecdbf402 i18n 'Error handling incoming message'
// FREEBIE
10 years ago
2-4601 60fe1e2cea i18n 'Received message with unknown identity key'
// FREEBIE
10 years ago
2-4601 52992a8f12 i18n 'Secure session ended'
// FREEBIE
10 years ago
lilia 9f871db48a Update libsignal-protocol / Update prekey format
Integrates change in prekey object formatting, which now matches more
conveniently with the representation rendered by the server.

// FREEBIE
10 years ago
lilia b385b6e48e Update libsignal-protocol
SessionBuilder / SessionRecord refactor.

// FREEBIE
10 years ago
lilia e659104cbf Add isTrustedIdentity to SignalProtocolStore
Adds a new required storage method for the protocol library.

// FREEBIE
10 years ago
lilia 7dcaf721ca Add keepalive logging
// FREEBIE
10 years ago
lilia 70fe14e91b Fix reference errors in isStringable
// FREEBIE
10 years ago
lilia 9a1a3bdf64 Rename axolotl to libsignal
// FREEBIE
10 years ago
lilia 1d60dc38fb Rename axolotl storage
// FREEBIE
10 years ago
lilia ee3bc11e3c Rename axolotlInstance
// FREEBIE
10 years ago
lilia 0fe3497d0e Update libsignal-protocol
Remove remaining refs to axolotl from lsp.

// FREEBIE
10 years ago
lilia 4169336776 Update libsignal protobuf package name
// FREEBIE
10 years ago
lilia c1e1dd97ba Change libsignal-protocol filenames
// FREEBIE
10 years ago
lilia b1d370755a Rename AxolotlStore
// FREEBIE
10 years ago
lilia 1fe5d63015 Update protocol libs
Rename storage functions

// FREEBIE
10 years ago
lilia d5dfffd9da Darken the scrollbar on hover
// FREEBIE
10 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
10 years ago
lilia dd7d72a77d i18n 'Media message'
Fixes #736

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

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

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

// FREEBIE
10 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
10 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
10 years ago
lilia 72dd93aa02 Clear window attention if all messages are marked read
Fixes #758

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

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

// FREEBIE
10 years ago
lilia 18012688ea Log unread message timestamps
// FREEBIE
10 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
10 years ago
lilia 1f4587795e Add link to github on debug log
// FREEBIE
10 years ago
lilia f3de290f7c Make debug log link focusable/selectable
Add button to open in a new tab. Stye as input group.

// FREEBIE
10 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
10 years ago
lilia a5ec2321fd Use helper function
// FREEBIE
10 years ago
lilia 2f90645142 Break up long line
// FREEBIE
10 years ago
lilia 2506b2115d Log when fetching messages
// FREEBIE
10 years ago
lilia 2d6d2a92b9 Update libaxolotl
// FREEBIE
10 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
10 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
10 years ago
lilia c442a02cb6 Add build support for expiring old releases
Builds expire after 90 days.
10 years ago
lilia af392c077d Update libaxolotl
// FREEBIE
10 years ago
lilia 7e2c6fd6bc Remove unused argument
// FREEBIE
10 years ago
lilia d8d34e7afc Icon upgrade
Also remove unused images.

// FREEBIE
10 years ago
lilia 1aa975e199 Differentiate active vs selected conversation states
// FREEBIE
10 years ago
lilia ddcdc9e2ff Log on prekey messages
// FREEBIE
10 years ago
lilia 960519d296 Add debug logging
// FREEBIE
10 years ago
lilia 8c03d3e088 Fix sorting of the last element
// FREEBIE
10 years ago
lilia 8fe00f79b2 Fix sorting on incoming key conflicts
// FREEBIE
10 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
10 years ago
lilia 76652c2622 Update style and copy on key changes
// FREEBIE
10 years ago
lilia 512c5bf739 Incoming bubbles have sender's color background
// FREEBIE
10 years ago
lilia 5a9358efc9 Reorder object members
Group click events together, put custom events at the bottom.

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

// FREEBIE
10 years ago
lilia 6fe9c3f964 Nest key verification inside conflict dialogs
// FREEBIE
10 years ago
lilia c4fcbd8cbe Fix i18n in tests
// FREEBIE
10 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
10 years ago
lilia 08da29969c Fix menu behavior
Opening the global menu should close the conversation menu and vice
versa.

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

// FREEBIE
10 years ago
lilia b094607e0d Highlight bottom bar when focused
// FREEBIE
10 years ago
lilia 8bb8ed8151 Change left pane header color
// FREEBIE
10 years ago
lilia 7310afd1b4 Replace message list loading spinner with bar
// FREEBIE
10 years ago
lilia d39a19d889 Fix crash on read receipt event if no listeners
// FREEBIE
10 years ago
lilia 647c2761e0 Move restart button into global menu
// FREEBIE
10 years ago
lilia 18a5ce8e54 Restyle conversation panel
// FREEBIE
10 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
10 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
10 years ago
lilia 8b3596b956 Delete last timestamp on a convo when deleting messages
// FREEBIE
10 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
10 years ago
lilia d84400777f Tweak storage logging statement
// FREEBIE
10 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
10 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
10 years ago
lilia f9a3c7817e DRY up early receipt processing
// FREEBIE
10 years ago
lilia 67900753d1 Log sending read receipts
// FREEBIE
10 years ago
lilia 50731439a9 Turn off session logging
// FREEBIE
10 years ago
lilia 2128ee63aa Update libaxolotl
// FREEBIE
10 years ago
lilia 84235ef58e Use forEach instead of loop
// FREEBIE
10 years ago
lilia c02054d5da Pass ciphertext as ArrayBuffer instead of string
// FREEBIE
10 years ago
lilia 6053fe67ba Use built-in string conversion on protobuf
In lieu of a global helper.

// FREEBIE
10 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
10 years ago
lilia 7dff9ac51b Update libaxolotl
// FREEBIE
10 years ago
lilia 151b9797f6 Perform components concatenation missed in ec6948
// FREEBIE
10 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
10 years ago
lilia 1b72ef6170 Restore notifications heading
// FREEBIE
10 years ago
Blake Griffith 0ceb8e7038 i18n notification's settings dialog
FREEBIE
10 years ago
Blake Griffith 24e4d9c615 'off' -> 'disable notifications' in settings
FREEBIE
10 years ago
lilia 7578991f4e Remove emoji logging
// FREEBIE
10 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
10 years ago
lilia f0539fda52 Fix exception when drawAttention is called too early
// FREEBIE
10 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
10 years ago
lilia a98de39173 Warn if writing to storage too early
// FREEBIE
10 years ago
Sam Lanning 662020ce68 Add title text for emoji in messages.
Fixes #250

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

// FREEBIE
10 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
10 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
10 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
10 years ago
lilia 9ea9a8160b Add logging when opening inbox
// FREEBIE
10 years ago
lilia 2b7cbef8b1 Rename a function
Avoid confusing this operation with actual receipts, which are something
else.

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

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

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

// FREEBIE
10 years ago
lilia 44b1a6451d Add validation to Message class
// FREEBIE
10 years ago
lilia 2e30c4388f Set destination on end session messages for syncing
// FREEBIE
10 years ago