Bernhard Steindl
e2cb45c1da
Push picture max edge to 2048 and max size to 4 MB
...
Closes #1032 and catches up with Android
2017-01-25 20:40:25 -08:00
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
2017-01-25 20:40:25 -08:00
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.
2017-01-25 20:40:25 -08:00
lilia
6253269d19
Tweak key change advisory insertion
...
Let received_at be the current time for keychanges. This avoids them
being inserted in the wrong place in the thread.
Use the newmessage event to trigger frontend listeners to add them to
the conversation view if it is open.
2017-01-25 20:40:25 -08:00
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.
2017-01-25 20:40:25 -08:00
lilia
260f50c104
Add id attr to key change advisory elements
...
The id attribute is needed to ensure that message elements are inserted
in the correct place in the DOM
2017-01-25 20:40:25 -08:00
lilia
5be5f985fc
Lint
2017-01-25 20:40:25 -08:00
lilia
41216f1378
Add timestamps to attachment filenames
2017-01-25 20:40:24 -08:00
lilia
d2c1e6df27
Fix wrong variable name
...
Fix potentially setting expiration timeouts more than once.
2017-01-25 20:40:24 -08:00
lilia
d7f241ddee
Use correct type on timer updates
2017-01-25 20:40:24 -08:00
lilia
05ed7c3822
Merge timer update functions
2017-01-25 20:40:24 -08:00
lilia
f2bdafc7e9
Validate/reformat phone numbers in contact syncs
...
Turns out there's no garauntee that Android will send us contact info
with phone numbers in e164 format. When that happens, we fail to update
the correct contact. Fix by performing validation on the incoming number
before attempting to merge changes to the name, avatar, or color.
Fixes #903
2017-01-25 20:40:24 -08:00
Ikarulus
53cd3af78b
Added a dark theme
...
I added a dark theme in order to solve #328 .
This may fix #328 at least partially.
2016-12-02 00:41:42 +01:00
lilia
a8468dae28
Reduce load from delivery receipt processing
...
Add a special type of collection just for retrieving group ids, which
doesn't incur the overhead of initializing a conversation model along
with all its group members.
2016-11-17 20:13:34 +01:00
lilia
0854b19371
Revert "Don't load group contacts unnecessarily"
...
This reverts commit 6699571910
.
Not quite ready for primetime.
2016-11-16 22:25:36 +01:00
lilia
6699571910
Don't load group contacts unnecessarily
...
There are some cases when we want to initialize a group object without
loading its contacts, such as while processing delivery receipts. We
really only need to load the contacts for a group/convo when we are
rendering it, so let the front end handle those cases (which most of
them do already).
2016-11-16 13:33:04 +01:00
lilia
65072d8e03
Update libphonenumber
2016-10-30 19:49:14 +09:00
lilia
35270dbbb4
Use timeout-based animation for hourglasses
...
CSS animations are convenient but costly if you have hundreds of them.
Fixes #945
2016-10-30 16:53:17 +09:00
Benedikt Constantin Radtke
520be3d5db
Fixed bubble timestamp update timer breakdown
...
TimestampView's getRelativeTimeSpanString called moment() twice while
calculating the timeout. If there was a minute/hour/day wrap between
these 2 calls, the calculated delay was 0 and thus no timer was
scheduled, since if (this.delay) evaluated to false.
Fixes : #857 , #460
// FREEBIE
2016-10-28 14:26:51 +09:00
Benedikt Constantin Radtke
add159dde9
Localized the message detail view's timestamps
...
Momentjs will now format the timestamps depending on the locale.
Fixes : #954
// FREEBIE
2016-10-27 00:49:04 +02:00
lilia
e86142d07c
Hide verification QR code
...
The scannable fingerprint format has changed, leaving our qr codes out
of date and thus unscannable.
2016-10-22 02:24:54 +09:00
lilia
03c5d12edd
Fix necrobumping convos on key change
...
When inserting key change advisories, use the current conversation
timestamp to avoid pushing lots of old groups to the top of the
conversation list.
2016-10-12 11:34:49 +09:00
lilia
b5f5c4604c
Fix missing hourglass on some expiring messages
...
Resolves a race condition between marking messages read and
loading/rendering those messages in the frontend.
Fixes #942
2016-10-12 10:37:10 +09:00
lilia
657fa2725f
Adjust hourglass vertical alignment
2016-10-11 22:52:40 +09:00
lilia
15a9423a17
Change Identity to Safety Numbers in conversation menu
...
Fixes #935
2016-10-08 11:06:20 +09:00
2-4601
669338c717
i18n 'Theme'
...
// FREEBIE
2016-10-07 19:27:05 +09:00
paolo.ingls@gmail.com
d4f7b9984b
Fixed bug920
...
//FREEBIE
2016-10-07 19:23:45 +09:00
lilia
51e902c26f
Remove dead code
2016-10-07 11:02:26 +09:00
lilia
674eeb8313
Remove refs to appWindow
...
We only need the regular window, not the AppWindow interface, which is
specific to chrome apps.
2016-10-07 11:02:26 +09:00
lilia
9da4cdefd7
Style fix
2016-10-07 11:02:26 +09:00
Paolo Inglese
7cd45714a5
Font size should be adjustable
...
//FREEBIE
2016-10-07 11:02:26 +09:00
lilia
fcffcd35af
DRY
2016-10-07 09:29:53 +09:00
2-4601
81e1b84129
Fix 2nd person conjugation in exp. timer messages
...
// FREEBIE
2016-10-07 09:25:19 +09:00
lilia
f8a3ae158c
Remove log message
2016-10-06 18:18:54 +09:00
lilia
34888160bb
Fix re-appearing disappearing message ui
...
Fix a bug where entering the message detail view and then going back
would cause the timer menu to appear.
2016-10-06 02:56:33 +09:00
lilia
94c1ac6f09
Fix message insertion for the first element inserted
2016-10-05 22:43:31 +09:00
lilia
d3a2f5c838
Ignore expireTimer on session reset messages
2016-10-05 22:32:40 +09:00
lilia
4ee2652367
Fix wrong contact in some timer updates
...
Mistakenly showed 'You' for timer updates inferred from incoming
messages.
2016-10-05 22:31:30 +09:00
lilia
73e69fe5eb
Update libsignal-protocol 1.1.7
2016-10-05 22:01:52 +09:00
lilia
7c81e4ed2e
Delete extra space
2016-10-05 21:15:58 +09:00
lilia
790407d42e
Add qr codes
2016-10-05 19:11:39 +09:00
lilia
f05d693994
Switch from fingerprints to safety numbers
2016-10-05 19:11:39 +09:00
lilia
7fe708d195
Insert keychange advisories
...
On click, these open a verification panel for the relevant contact,
within this conversation.
// FREEBIE
2016-10-05 19:11:39 +09:00
lilia
1f0a93bf70
Ensure new installs default to non-blocking
...
// FREEBIE
2016-10-05 19:10:20 +09:00
lilia
1fe90ecdcb
Add frontend for safety numbers approval setting
...
Adds the checkbox under settings.
// FREEBIE
2016-10-05 19:10:20 +09:00
lilia
aa42139477
Implement non blocking option
...
// FREEBIE
2016-10-05 19:10:20 +09:00
lilia
ce315f3f8e
Add Events to SignalProtocolStore
...
Allows triggering and listening for events.
// FREEBIE
2016-10-05 19:10:20 +09:00
lilia
5899654ea5
Remove log message
2016-10-05 19:09:21 +09:00
lilia
de744a6c55
Fix messages being inserted in the wrong place
...
Usually new elements are inserted in a predictable order relative to the
sort order of the models/collection, but it's not garaunteed. This fixes
up message element insertion to handle the general case where elements
can be added in any order and must be displayed in correct order as
determined by the collection's sort function. In the worst case, we'll
have to iterate over the entire list of elements to find the right spot,
but in practice most of the time we can short circuit based on the index
of the model or by looking for the predecessor or successor of the
element in question.
2016-10-05 19:09:21 +09:00
lilia
009098f8dd
Insert inferred timer updates before the corresponding message
2016-10-05 19:09:21 +09:00
lilia
d52050d43f
Fix group timer updates
2016-10-05 19:09:20 +09:00
lilia
0bba096510
Use 'You' instead of your own phone number
2016-10-05 19:09:20 +09:00
lilia
1da44c847b
Fix handling sent messages sans expirationStartTimestamp
2016-10-05 19:09:20 +09:00
lilia
a12569e356
Fix destination on synced timer updates
2016-10-05 19:09:20 +09:00
lilia
86dbbc9f29
Allow null expireTimer in sendmessage
2016-10-05 19:09:20 +09:00
lilia
7eea88a545
Convert expirationStartTimestamp to number
2016-10-05 19:09:20 +09:00
lilia
56aee5e8ef
Update conversation snippets automatically
...
Fixes stale snippets after the message has expired
2016-10-05 19:09:20 +09:00
lilia
8d16bfb65e
Populate conversation snippet for timer updates
2016-09-29 16:17:01 -07:00
lilia
e488c19889
Do not trigger notifications for timer updates
2016-09-29 16:17:01 -07:00
lilia
7a26cf79ee
Insert timer update messages when inferring timer changes
2016-09-29 16:17:01 -07:00
lilia
ad2174e279
Sync expirationStartTimestamp on outgoing messages
...
Linked devices need to know when to start the clock.
2016-09-29 16:17:01 -07:00
lilia
6074a29046
Send timer update messages when changing the timer
2016-09-29 16:17:01 -07:00
lilia
824b7417e9
Apply expireTimer to outgoing messages
2016-09-29 16:17:01 -07:00
lilia
2b2c6ab040
Frontend for timer updates and timer indicator
2016-09-29 16:17:01 -07:00
lilia
448835e4d5
Bail early when processing timer updates
...
Also let expireTimer default to 0.
2016-09-29 13:06:25 -07:00
lilia
4cd2c03687
Add clock svg style
2016-09-28 17:20:03 -07:00
lilia
7331d967d2
Add support for expiration timer updates messages
2016-09-28 17:20:03 -07:00
lilia
e809a0cf8b
Breakout timer rendering into its own view
...
Make width and height constant.
2016-09-28 17:20:03 -07:00
lilia
bd713352e3
Hourglass can start at any percentage
...
This breaks the css-purity of our mixin but is necessary in order to
apply the initial offset of the hourglass animation dynamically, since
jquery can't manipulate arbitrary css on psuedo elements.
2016-09-28 17:20:02 -07:00
lilia
5f92ccd524
Render animated hourglass when messages are expiring
2016-09-28 17:20:02 -07:00
lilia
1383dc141f
Ensure that expired messages are removed from the frontend
2016-09-28 17:20:02 -07:00
lilia
02ea4f2475
Use read receipt envelope to infer startExpirationTime
...
Avoids display of phantom messages that are only received and marked
read locally long after they have expired on another linked device.
2016-09-28 17:20:02 -07:00
lilia
96fd017890
Support for incoming expiring messages
...
When initialized, or when expiration-related attributes change, expiring
messages will set timers to self-destruct. On self-destruct they trigger
'expired' events so that frontend listeners can clean up any collections
and views referencing them.
At startup, load all messages pending expiration so they can start their
timers even if they haven't been loaded in the frontend yet.
Todo: Remove expired conversation snippets from the left pane.
2016-09-28 17:20:02 -07:00
lilia
b888e01044
Add an index on message.expireTimer
...
This allows us to query all expiring messages on startup.
2016-09-28 17:20:02 -07:00
lilia
b3e932dce8
Add protocol support for disappearing messages
2016-09-28 17:20:02 -07:00
lilia
5b5a430114
Support i18n with multiple links
...
We can now pass a variable number of hrefs into i18n_with_links rather
than just one.
2016-09-27 13:34:54 -07:00
lilia
9b645f90c8
Remove Android requirement from install flow
...
// FREEBIE
2016-09-26 10:43:51 -07:00
lilia
b0c59233f3
Add test fixtures
...
Test page loads fixtures and renders the inbox view. This may be useful
for smoke testing style changes or generating screenshots with
pseudo-realistic data.
Includes a couple small changes to get rendering working outside the
app.
2016-09-23 19:51:42 -07:00
lilia
c16e80c5e4
Let key verification view lazy-load keys
...
// FREEBIE
2016-09-20 13:45:21 -07:00
lilia
fe209a2f41
Upgrade libsignal-protocol v1.1.6
2016-09-20 13:45:21 -07:00
lilia
7b3b01bdf6
Refactor registration event
...
Make AccountManager into an event target for better separation between
app and service-library handling of registration events.
2016-09-20 13:42:33 -07:00
lilia
6dcff46e26
Move chrome-specific calls to chromium.js
...
// FREEBIE
2016-09-20 13:37:50 -07:00
lilia
b1afb79a14
Set theme based on master device userAgent
...
// FREEBIE
2016-09-15 16:28:46 -07:00
lilia
2b210b3fcd
Fix undefined websocket port
...
Fixes #889
// FREEBIE
2016-09-12 11:44:52 -07:00
lilia
edd6f58539
Update display when contact colors change
...
// FREEBIE
2016-09-12 11:44:52 -07:00
lilia
9db13310b4
Add port 80
...
// FREEBIE
2016-09-08 15:00:05 -07:00
lilia
384598fbcc
Log websocket urls
...
// FREEBIE
2016-09-08 14:31:20 -07:00
lilia
0487fa3cd1
Add server fallback port 8443
...
// FREEBIE
2016-09-08 14:31:19 -07:00
lilia
487f75dd27
Fix lint
...
// FREEBIE
2016-09-08 11:57:34 -07:00
lilia
f610233ef6
Add support for syncing blocked numbers
...
// FREEBIE
2016-09-07 13:04:45 -07:00
lilia
53f20640af
Add support for syncing colors
...
// FREEBIE
2016-09-07 13:04:45 -07:00
lilia
141cdef2a4
Generalize toast view template
...
// FREEBIE
2016-09-07 13:04:45 -07:00
lilia
ff490994ab
Render emoji in group name in group updates
...
// FREEBIE
2016-09-01 16:01:08 -07:00
lilia
baff77c509
Revert "Remove Android requirement from install flow"
...
This reverts commit 4b9f7d518e
.
Put this back when iOS desktop support is ready for general release.
2016-09-01 14:04:46 -07:00
lilia
1d5471c318
Fix search tests
...
// FREEBIE
2016-09-01 14:01:51 -07:00
lilia
7e0df07e88
Fix tests
...
// FREEBIE
2016-09-01 13:47:50 -07:00
lilia
9deaa95e8c
Strip unicode null from deviceNames
...
Not sure how or why but sometimes deviceNames arrive on the server
containing a null char.
// FREEBIE
2016-09-01 13:19:27 -07:00
lilia
43ca465eb9
Remove unused code
...
// FREEBIE
2016-09-01 13:19:27 -07:00
lilia
1c89142752
Customize emoji conversion
...
Use image tags with :emoji: in a title attribute for an optimal
copy/paste ux.
// FREEBIE
2016-09-01 12:55:23 -07:00
lilia
f042378a37
Upgrade emoji support and switch to apple emoji
...
Use emojijs for replacing unicode with image tags for display. We were
already using it to replace colons with unicode. Additionally it has
a companion data repo that is kept up to date with images from all
the common image sets.
// FREEBIE
2016-09-01 11:51:53 -07:00
lilia
4b9f7d518e
Remove Android requirement from install flow
...
// FREEBIE
2016-08-31 15:04:01 -07:00
lilia
b5191e78c3
More themeing
...
Restyle message input and welcome screen
Cleanup search, headers
// FREEBIE
2016-08-30 18:31:03 -07:00
lilia
5333f89d9d
Fix svg icon colors
...
// FREEBIE
2016-08-30 18:31:02 -07:00
lilia
6c05a71424
Tune up ios bubble style
...
// FREEBIE
2016-08-30 18:31:02 -07:00
lilia
8fbb0d05f5
Add settings ui for theme
...
// FREEBIE
2016-08-30 18:31:02 -07:00
lilia
7b9894d688
Refactor css to support theming
...
Move away from inline style attributes for setting contact colors.
Apply colors by name via css classes instead. Also lays groundwork
for syncing contact colors.
// FREEBIE
2016-08-30 18:31:02 -07:00
lilia
3531667207
Fix closing recorder when clicking away
...
// FREEBIE
2016-08-25 11:40:40 -07:00
lilia
87f4029210
Fix lint
...
// FREEBIE
2016-08-24 16:56:24 -07:00
lilia
3aa72d2244
Address large font size edge cases
...
Fix some visual bugs occuring at large font size:
* Contact names break onto the next line after their avatars in
message detail screen
* Settings menu font-size failed to scale
* Handle Content overflow in modals.
// FREEBIE
2016-08-24 16:47:39 -07:00
lilia
b330b80484
Change font size on ctrl+scroll
...
Fixes #864
// FREEBIE
2016-08-24 16:10:02 -07:00
lilia
9fa7e7f462
Remove unused view
...
// FREEBIE
2016-08-24 16:08:29 -07:00
lilia
645e05c2b9
Add support for new fingerprint format
...
This will be ready to roll whenever Android/iOS is.
// FREEBIE
2016-08-24 01:50:46 -07:00
lilia
254b6621c2
Update libsignal-protocol v1.1.5
...
// FREEBIE
2016-08-24 01:50:46 -07:00
lilia
4f46a164ba
Add voice notes
...
// FREEBIE
2016-08-23 16:16:31 -07:00
lilia
d11f9fd538
Update libsignal-protocol v1.1.4
...
// FREEBIE
2016-08-18 10:41:06 -07:00
lilia
9ab64ec44d
Allow localization of month-day format string
...
The short month-day format ex: 'Aug 8', is not built-in to momentjs, so
we need to localize it.
// FREEBIE
2016-08-18 10:41:05 -07:00
lilia
e5b54d9b6a
Bubble up InvalidStateErrors and log them
...
These may be indicative of a potentially fatal lack of disk space.
// FREEBIE
2016-08-11 12:22:32 -07:00
lilia
83629df560
Log on failure to fetch storage
...
// FREEBIE
2016-08-11 12:22:32 -07:00
lilia
67c7a06c28
Use momentjs for timestamp localization
...
Let momentjs handle proper pluralization of relative times. This comes
at the sacrifice of displaying 'minutes' in the conversation list
timestamp rather than 'min'. Note that we don't use moment's fromNow
instance method so as to preserve the rounding logic that matches the
Android client.
// FREEBIE
2016-08-11 12:22:32 -07:00
lilia
78b8fbc836
Update momentjs
...
// FREEBIE
2016-08-11 12:22:32 -07:00
lilia
4d9b6917d7
Fix timestamp tests
...
These were failing because chrome's i18n functions aren't available in
test.
// FREEBIE
2016-08-05 17:28:16 -07:00
lilia
688b297050
Move window.chrome reference to chromium.js
...
// FREEBIE
2016-08-05 17:13:55 -07:00
lilia
fed8f62617
Remove untranslatable strings from locale file
...
// FREEBIE
2016-08-05 13:41:23 -07:00
lilia
6a3a724dc4
Add momentjs locales
...
// FREEBIE
2016-08-05 13:20:39 -07:00
Benedikt Radtke
e836bfd3f7
Added basic localization for timestamps
...
This commit implements basic localization for the timestamps in conversations and the conversation list.
// FREEBIE
2016-08-04 17:40:13 -07:00
lilia
e07616e2ef
Only create notifications for unread messages
...
In some cases, we have already received a read receipt for an incoming
message by the time we go to create a notification about it. In this
case, we should skip the notification.
// FREEBIE
2016-08-04 15:34:27 -07:00
lilia
8939c61c7c
Log on notification removal
...
// FREEBIE
2016-08-01 20:19:16 -07:00
lilia
4c0ed76909
Update libsignal-protocol v1.1.3
...
// FREEBIE
2016-08-01 20:19:09 -07:00
lilia
186c597e24
Use port 4433 on staging
...
Now with over 9000% more CA-signed cert!
// FREEBIE
2016-07-28 18:39:55 -07:00
lilia
3a50a892dc
Don't sort if already sorted
...
// FREEBIE
2016-07-28 18:39:55 -07:00
lilia
2cea499736
Reduce log noise from prekey messages
...
// FREEBIE
2016-07-28 18:39:53 -07:00
lilia
7efdfc95ee
Log when updating notifications
...
// FREEBIE
2016-07-28 18:39:14 -07:00
lilia
c39d6687e5
Reduce log noise from delivery receipts
...
Stop logging envelope messages on receipts since we log the same info as
a receipt in background.js.
// FREEBIE
2016-07-28 18:39:13 -07:00
lilia
748215e285
Fix style
...
// FREEBIE
2016-07-14 11:09:03 -07:00
Benedikt Constantin Radtke
2870c1fff2
Fixed fastforwarding closing videos' fullscreen mode
...
This commit stops the MessageView from adding the attachment more than once. Previously an attachment was appended to the MessageView every time an update
event was emitted, which happens when forwarding.
// FREEBIE
2016-07-14 11:03:14 -07:00
lilia
8a153e942e
Fix lightbox
...
// FREEBIE
2016-06-30 16:56:51 -07:00
lilia
5bff1d2cab
Scope media pausing to the open conversation
...
// FREEBIE
2016-06-30 12:54:00 -07:00
Benedikt Radtke
d5b003a15e
Fixed media pausing behaviour when clicking the conversation list
...
This commit changes the inbox to stop video and audio elements when selecting a new conversation, and to not stop such elements when the same
conversation was selected (fixes #391 ).
// FREEBIE
2016-06-30 12:47:06 -07:00
lilia
005444d09a
Update libsignal-protocol v1.1.2
...
// FREEBIE
2016-06-30 12:45:27 -07:00
lilia
f670061669
Pressing escape closes the lightbox
...
// FREEBIE
2016-06-30 12:28:36 -07:00
lilia
a069939f65
Refactor attachment saving for DRYness
...
// FREEBIE
2016-06-30 12:28:36 -07:00
Benedikt Radtke
a1345c52b4
Added Save-As dialog for unsupported filetypes
...
Despite the "click to save"-description of unsupported file types, clicking them did not save them.
This commit implements a Save-As dialog instead of opening the file in chrome.
// FREEBIE
2016-06-30 00:18:36 -07:00
lilia
0a7f203565
Log on session save failure
...
// FREEBIE
2016-06-29 18:22:27 -07:00
lilia
5059fd237a
Disable keepalive logging
...
// FREEBIE
2016-06-29 18:22:27 -07:00
lilia
80c6a2802f
Handle sync request where no groups are sent
...
If a user has no groups, no group sync message is sent. This is a normal
result that should result in a success event rather than a timeout.
// FREEBIE
2016-06-26 15:52:57 -07:00
lilia
5fcf2ea66f
Update libsignal-protocol v1.1.1
...
// FREEBIE
2016-06-23 14:17:01 -07:00
lilia
9091233950
Open images in a lightbox
...
Adds file-write permission for saving to disk from lightbox.
Fixes #810
// FREEBIE
2016-06-20 11:55:23 -07:00
lilia
8e1d884a10
Add button for re-importing contacts from phone
...
Add a section under settings for performing a contact sync from your
mobile device. This just re-runs the same import operation that occurs
at install/link time.
// FREEBIE
2016-06-16 16:43:07 -07:00
lilia
167f19153c
Update libsignal-protocol v1.1.0
...
Moves padding operations to the service library.
// FREEBIE
2016-06-14 19:30:26 -07:00
lilia
b8fddfbbdd
Update libsignal-protocol v1.0.0
...
// FREEBIE
2016-06-14 16:27:34 -07:00
lilia
d89c3e8e86
Remove devices with no keys
...
// FREEBIE
2016-06-06 17:59:44 -07:00
lilia
7caecc564d
Process all incoming conflicts before outgoing ones
...
Fixes a session management problem where, after resolving a conflict
with some contact, that contact would get bad mac as a result of us
sending them a new prekey message before processing a pending conflicted
prekey message received from them earlier.
Fixes #806
// FREEBIE
2016-05-26 18:11:17 -07:00
lilia
3cd80d3f1e
Remove tool tip from unregistered user errors
...
// FREEBIE
2016-05-26 10:59:43 -07:00
lilia
58c3fe047e
Make error messages clickable
...
// FREEBIE
2016-05-25 20:39:43 -07:00
lilia
b2f07984df
i18n unregistered user errors
...
// FREEBIE
2016-05-25 20:33:14 -07:00
lilia
b6f785737c
Restyle error icons, move them outside the bubble
2016-05-25 20:32:00 -07:00
lilia
89d3b772d5
Define UnregisteredUserError class
...
// FREEBIE
2016-05-25 20:20:10 -07:00
lilia
81dfdd959f
Don't allow retry on unregistered user errors
...
// FREEBIE
2016-05-24 11:36:04 -07:00
lilia
292260d973
Remove timestamp logging
...
// FREEBIE
2016-05-23 18:25:03 -07:00
lilia
331ca46d75
Fix websocket event name
...
Fixes #798
// FREEBIE
2016-05-23 16:04:06 -07:00
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
2016-05-18 14:29:30 -07:00
lilia
f216262298
Update libsignal-protocol v0.12.0
...
Moves version byte check to protocol lib.
// FREEBIE
2016-05-18 13:15:58 -07:00
lilia
055c0c323e
Remove unneeded property from device object
...
// FREEBIE
2016-05-18 13:15:57 -07:00
lilia
f8e176fd40
Dedupe methods
...
Define textsecure.crypto in terms of libsignal.crypto.
// FREEBIE
2016-05-18 13:15:57 -07:00
lilia
58452066aa
Move device storage methods to outgoing message
...
This is the only place they are called.
// FREEBIE
2016-05-18 13:15:56 -07:00
lilia
daae664965
Remove unused function
...
// FREEBIE
2016-05-18 13:15:56 -07:00
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
2016-05-18 13:15:55 -07:00
lilia
95935f70ee
Remove relay check from sendmessage
...
We don't currently store any relay information about devices,
and
// FREEBIE
2016-05-18 13:15:55 -07:00
lilia
f16803018c
Update libsignal-protocol v0.11.0
...
* Changes return type from decryption functions
* Update components
// FREEBIE
2016-05-18 13:15:44 -07:00
lilia
148bd32671
Update libsignal-protocol v0.10.0
...
* Changes policy for old session deletion
* Renames putIdentityKey to saveIdentity
* Remove device messages
// FREEBIE
2016-05-18 11:11:11 -07:00
lilia
ffa702c934
Update libsignal-protocol v0.9.0
...
* Exposes crypto APIs.
* Move worker methods to libsigna.worker.
* Move ProvisioningCipher to libtextsecure.
2016-05-17 12:03:37 -07:00
lilia
cd2218ada7
Move hard-coded worker url out of libtextsecure
...
// FREEBIE
2016-05-15 17:04:13 -07:00
lilia
d5f4665fa4
MessageReceiver uses SessionCipher to retry conflicts
...
// FREEBIE
2016-05-15 17:02:45 -07:00
lilia
9ecfe6acb0
Use SignalProtocolAddress in MessageReceiver constructor
...
// FREEBIE
2016-05-15 17:02:45 -07:00
lilia
213b44935d
Update libsignal-protocol v0.8.0
...
Reorder identity key check
2016-05-15 17:02:21 -07:00
lilia
eee93987f8
Update libsignal-protocol v0.7.0
...
Remove unused methods.
// FREEBIE
2016-05-14 23:39:59 -07:00
lilia
6266050a67
Remove unused jobqueue
...
// FREEBIE
2016-05-14 23:26:34 -07:00
lilia
050ea87aaf
Get device ids instead of objects
...
// FREEBIE
2016-05-14 23:26:33 -07:00
lilia
7939b6ae98
Remove hasOpenSession from protocol_wrapper
...
// FREEBIE
2016-05-14 23:26:33 -07:00
lilia
0483fa2f97
Remove closeOpenSessionForDevice from protocol_wrapper
...
// FREEBIE
2016-05-14 23:26:33 -07:00
lilia
0d5ec60a7a
Remove handlePreKeyWhisperMessage from protocol_wrapper
...
// FREEBIE
2016-05-14 23:26:32 -07:00
lilia
8010a09045
Remove decryptWhisperMessage from protocol_wrapper
...
// FREEBIE
2016-05-14 23:26:32 -07:00
lilia
891ddacd35
Remove processPreKey from protocol_wrapper
...
Use SessionBuilder directly instead of protocol_wrapper
// FREEBIE
2016-05-14 23:26:32 -07:00
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
2016-05-14 23:26:31 -07:00
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
2016-05-14 23:24:34 -07:00
lilia
92293f9da9
Update libsignal-protocol v0.5.0
...
Renames libsignal.util to libsignal.KeyHelper.
// FREEBIE
2016-05-13 19:47:39 -07:00
lilia
e68031019b
Integrate libsignal.SessionCipher
...
Bypass the old protocolInstance wrapper methods and use the shiny new
SessionCipher class directly.
// FREEBIE
2016-05-12 13:13:15 -07:00
lilia
9e6ad27fc5
Update libsignal-protocol v0.4.0
...
// FREEBIE
2016-05-11 15:30:30 -07:00
lilia
56238136ca
Remove trivial wrapper method
...
// FREEBIE
2016-05-10 19:38:44 -07:00
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
2016-05-10 19:38:42 -07:00
lilia
519d3ec31b
Update libsignal-protocol
...
// FREEBIE
2016-05-10 19:24:33 -07:00
2-4601
d861797d66
i18n 'Permanently delete this conversation?'
...
// FREEBIE
2016-05-05 12:54:15 -07:00
2-4601
b9ecdbf402
i18n 'Error handling incoming message'
...
// FREEBIE
2016-05-05 12:54:15 -07:00
2-4601
60fe1e2cea
i18n 'Received message with unknown identity key'
...
// FREEBIE
2016-05-05 12:54:14 -07:00
2-4601
52992a8f12
i18n 'Secure session ended'
...
// FREEBIE
2016-05-05 12:54:14 -07:00
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
2016-05-04 00:33:05 -07:00
lilia
b385b6e48e
Update libsignal-protocol
...
SessionBuilder / SessionRecord refactor.
// FREEBIE
2016-05-04 00:05:37 -07:00
lilia
e659104cbf
Add isTrustedIdentity to SignalProtocolStore
...
Adds a new required storage method for the protocol library.
// FREEBIE
2016-05-03 23:58:57 -07:00
lilia
7dcaf721ca
Add keepalive logging
...
// FREEBIE
2016-04-28 11:27:15 -07:00
lilia
70fe14e91b
Fix reference errors in isStringable
...
// FREEBIE
2016-04-26 15:15:28 -07:00
lilia
9a1a3bdf64
Rename axolotl to libsignal
...
// FREEBIE
2016-04-22 13:43:30 -07:00
lilia
1d60dc38fb
Rename axolotl storage
...
// FREEBIE
2016-04-22 13:43:30 -07:00
lilia
ee3bc11e3c
Rename axolotlInstance
...
// FREEBIE
2016-04-22 13:32:19 -07:00
lilia
0fe3497d0e
Update libsignal-protocol
...
Remove remaining refs to axolotl from lsp.
// FREEBIE
2016-04-22 13:29:31 -07:00
lilia
4169336776
Update libsignal protobuf package name
...
// FREEBIE
2016-04-21 19:30:34 -07:00
lilia
c1e1dd97ba
Change libsignal-protocol filenames
...
// FREEBIE
2016-04-21 18:42:43 -07:00
lilia
b1d370755a
Rename AxolotlStore
...
// FREEBIE
2016-04-21 18:36:17 -07:00
lilia
1fe5d63015
Update protocol libs
...
Rename storage functions
// FREEBIE
2016-04-21 18:36:16 -07:00
lilia
d5dfffd9da
Darken the scrollbar on hover
...
// FREEBIE
2016-04-21 12:06:40 -07:00
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
2016-04-21 12:06:39 -07:00
lilia
dd7d72a77d
i18n 'Media message'
...
Fixes #736
// FREEBIE
2016-04-18 19:15:36 -07:00
lilia
21bfb61b7a
Maintain scroll position when textarea resizes
...
Fixes #770
// FREEBIE
2016-04-18 19:15:36 -07:00
lilia
3ac7552d2f
Fix errant change event handler from firing
...
A change in the text field was firing the previewImages handler.
// FREEBIE
2016-04-18 19:15:36 -07:00
lilia
172d843368
Always update lastMessage on incoming messages
...
Fixes #742
// FREEBIE
2016-04-18 19:15:35 -07:00
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
2016-04-18 16:01:46 -07:00
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
2016-04-15 14:40:40 -07:00
lilia
72dd93aa02
Clear window attention if all messages are marked read
...
Fixes #758
// FREEBIE
2016-04-14 11:57:56 -07:00
lilia
0cd7f84a05
Refactor read state tracking
...
Adds support for handling early arriving read receipts.
// FREEBIE
2016-04-14 11:57:52 -07:00
lilia
d1e9534542
Refactor delivery receipt tracking
...
Move code for matching receipts to messages (and vice versa) to its own
file.
// FREEBIE
2016-04-13 13:57:56 -07:00
lilia
18012688ea
Log unread message timestamps
...
// FREEBIE
2016-04-13 13:57:55 -07:00
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
2016-04-11 14:55:38 -07:00
lilia
1f4587795e
Add link to github on debug log
...
// FREEBIE
2016-04-09 20:55:21 -07:00
lilia
f3de290f7c
Make debug log link focusable/selectable
...
Add button to open in a new tab. Stye as input group.
// FREEBIE
2016-04-09 20:53:39 -07:00
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
2016-04-09 14:17:47 -07:00
lilia
a5ec2321fd
Use helper function
...
// FREEBIE
2016-04-09 00:16:44 -07:00
lilia
2f90645142
Break up long line
...
// FREEBIE
2016-04-09 00:16:21 -07:00
lilia
2506b2115d
Log when fetching messages
...
// FREEBIE
2016-04-08 15:41:46 -07:00
lilia
2d6d2a92b9
Update libaxolotl
...
// FREEBIE
2016-04-06 17:33:06 -07:00
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
2016-04-04 16:14:15 -07:00
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
2016-04-03 21:11:50 -07:00
lilia
c442a02cb6
Add build support for expiring old releases
...
Builds expire after 90 days.
2016-04-03 20:55:53 -07:00
lilia
af392c077d
Update libaxolotl
...
// FREEBIE
2016-04-03 14:25:30 -07:00
lilia
7e2c6fd6bc
Remove unused argument
...
// FREEBIE
2016-04-01 18:12:38 -07:00
lilia
d8d34e7afc
Icon upgrade
...
Also remove unused images.
// FREEBIE
2016-04-01 13:59:57 -07:00
lilia
1aa975e199
Differentiate active vs selected conversation states
...
// FREEBIE
2016-04-01 11:37:25 -07:00
lilia
ddcdc9e2ff
Log on prekey messages
...
// FREEBIE
2016-03-30 17:18:15 -07:00
lilia
960519d296
Add debug logging
...
// FREEBIE
2016-03-29 12:35:37 -07:00
lilia
8c03d3e088
Fix sorting of the last element
...
// FREEBIE
2016-03-27 15:29:53 -07:00
lilia
8fe00f79b2
Fix sorting on incoming key conflicts
...
// FREEBIE
2016-03-25 14:32:58 -07:00
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
2016-03-25 14:32:57 -07:00
lilia
76652c2622
Update style and copy on key changes
...
// FREEBIE
2016-03-24 13:20:50 -07:00
lilia
512c5bf739
Incoming bubbles have sender's color background
...
// FREEBIE
2016-03-23 17:41:24 -07:00
lilia
5a9358efc9
Reorder object members
...
Group click events together, put custom events at the bottom.
// FREEBIE
2016-03-23 15:09:05 -07:00
lilia
198cc70cef
Remove unusued event handlers
...
The conversation view now handles displaying and listening to the back
button.
// FREEBIE
2016-03-23 15:06:23 -07:00
lilia
6fe9c3f964
Nest key verification inside conflict dialogs
...
// FREEBIE
2016-03-23 15:04:42 -07:00
lilia
c4fcbd8cbe
Fix i18n in tests
...
// FREEBIE
2016-03-23 14:04:42 -07:00
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
2016-03-22 15:38:22 -07:00
lilia
08da29969c
Fix menu behavior
...
Opening the global menu should close the conversation menu and vice
versa.
// FREEBIE
2016-03-22 11:01:37 -07:00
lilia
d24eaa655a
Tweak styles on key verification view
...
// FREEBIE
2016-03-21 18:42:05 -07:00
lilia
b57f26bac4
Ignore clicks on the placeholder and its contents
...
// FREEBIE
2016-03-21 17:46:09 -07:00
lilia
d3b035121d
Clean up bottom bar styles
...
// FREEBIE
2016-03-21 17:17:39 -07:00
lilia
234f937bc7
Conversation subscreens share a header
...
// FREEBIE
2016-03-21 15:37:53 -07:00
lilia
c8aa2246dc
Let groups have blue headers
...
// FREEBIE
2016-03-21 13:02:34 -07:00
lilia
d391f07c1e
Change right header color
...
// FREEBIE
2016-03-21 11:03:50 -07:00
lilia
a925657c45
Fix global menu close handler
...
Previously, clicking on a conversation menu would not close the global
menu.
// FREEBIE
2016-03-20 23:34:56 -07:00
lilia
b094607e0d
Highlight bottom bar when focused
...
// FREEBIE
2016-03-20 23:15:21 -07:00
lilia
8bb8ed8151
Change left pane header color
...
// FREEBIE
2016-03-20 21:01:45 -07:00
lilia
7310afd1b4
Replace message list loading spinner with bar
...
// FREEBIE
2016-03-18 17:59:54 -07:00
lilia
d39a19d889
Fix crash on read receipt event if no listeners
...
// FREEBIE
2016-03-18 17:06:38 -07:00
lilia
647c2761e0
Move restart button into global menu
...
// FREEBIE
2016-03-18 16:21:55 -07:00
lilia
18a5ce8e54
Restyle conversation panel
...
// FREEBIE
2016-03-18 13:09:45 -07:00
lilia
760bfffb50
Show all contacts all the time
...
Contacts without conversation identity appear in alphabetical order at
the end of the inbox.
// FREEBIE
2016-03-18 11:21:11 -07:00
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
2016-03-18 11:21:11 -07:00
lilia
8b3596b956
Delete last timestamp on a convo when deleting messages
...
// FREEBIE
2016-03-18 11:21:11 -07:00
lilia
6f3f33657a
Don't mark read on sync messages
...
There's no longer a need for this since we have read-state syncing.
// FREEBIE
2016-03-18 11:20:52 -07:00
lilia
d84400777f
Tweak storage logging statement
...
// FREEBIE
2016-03-17 21:04:12 -07:00
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
2016-03-17 20:58:56 -07:00
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
2016-03-17 15:41:01 -07:00
lilia
f9a3c7817e
DRY up early receipt processing
...
// FREEBIE
2016-03-17 15:39:28 -07:00
lilia
67900753d1
Log sending read receipts
...
// FREEBIE
2016-03-14 16:26:22 -07:00
lilia
50731439a9
Turn off session logging
...
// FREEBIE
2016-03-14 11:33:20 -07:00
lilia
2128ee63aa
Update libaxolotl
...
// FREEBIE
2016-03-14 11:28:53 -07:00
lilia
84235ef58e
Use forEach instead of loop
...
// FREEBIE
2016-03-13 14:15:16 -07:00
lilia
c02054d5da
Pass ciphertext as ArrayBuffer instead of string
...
// FREEBIE
2016-03-13 04:56:30 -07:00
lilia
6053fe67ba
Use built-in string conversion on protobuf
...
In lieu of a global helper.
// FREEBIE
2016-03-13 04:56:29 -07:00
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
2016-03-13 04:56:28 -07:00
lilia
7dff9ac51b
Update libaxolotl
...
// FREEBIE
2016-03-13 04:56:27 -07:00
lilia
151b9797f6
Perform components concatenation missed in ec6948
...
// FREEBIE
2016-03-12 16:28:14 -08:00
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
2016-03-12 15:34:33 -08:00
lilia
1b72ef6170
Restore notifications heading
...
// FREEBIE
2016-03-11 11:49:21 -08:00
Blake Griffith
0ceb8e7038
i18n notification's settings dialog
...
FREEBIE
2016-03-11 11:46:10 -08:00
Blake Griffith
24e4d9c615
'off' -> 'disable notifications' in settings
...
FREEBIE
2016-03-11 11:46:10 -08:00
lilia
7578991f4e
Remove emoji logging
...
// FREEBIE
2016-03-11 11:01:13 -08:00
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
2016-03-10 18:37:18 -08:00
lilia
f0539fda52
Fix exception when drawAttention is called too early
...
// FREEBIE
2016-03-10 17:44:30 -08:00
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
2016-03-10 17:44:30 -08:00
lilia
a98de39173
Warn if writing to storage too early
...
// FREEBIE
2016-03-10 17:44:29 -08:00
Sam Lanning
662020ce68
Add title text for emoji in messages.
...
Fixes #250
// FREEBIE
2016-03-09 12:46:33 -08:00
Sam Lanning
7b1c06538d
Updated twemoji to v1.4.2
...
This allows us to define the "attributes" option, allowing for emoji titles.
// FREEBIE
2016-03-09 12:43:29 -08:00
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
2016-03-08 12:03:16 -08:00
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
2016-03-04 06:34:31 -08:00
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
2016-02-29 05:08:07 -08:00
lilia
9ea9a8160b
Add logging when opening inbox
...
// FREEBIE
2016-02-27 15:30:02 -08:00
lilia
2b7cbef8b1
Rename a function
...
Avoid confusing this operation with actual receipts, which are something
else.
// FREEBIE
2016-02-26 12:41:29 -08:00
lilia
b77d5df4f2
Fix markRead when messages have not been loaded yet
...
Query the database and not just the in-memory messages.
// FREEBIE
2016-02-26 12:36:14 -08:00
lilia
01053335ac
Don't send empty read status reports
...
// FREEBIE
2016-02-26 12:28:14 -08:00
lilia
f88b33a135
Fix unread message lookup in markRead
...
// FREEBIE
2016-02-26 12:27:44 -08:00
lilia
c4a88dd651
Fix getUnread query
...
Booleans are not valid keys in indexeddb.
https://www.w3.org/TR/IndexedDB/#dfn-valid-key
// FREEBIE
2016-02-26 12:25:56 -08:00
lilia
8fdf58971c
Add missing semicolons
...
// FREEBIE
2016-02-24 23:10:17 -08:00
lilia
c3bbdb393f
Refactor media uploading step
...
Move this to its own function which encapsulates the error handling for
it.
// FREEBIE
2016-02-24 23:10:17 -08:00
lilia
44b1a6451d
Add validation to Message class
...
// FREEBIE
2016-02-24 23:10:16 -08:00
lilia
2e30c4388f
Set destination on end session messages for syncing
...
// FREEBIE
2016-02-24 23:10:16 -08:00
lilia
e91f646920
Fix initial post-sync timestamps
...
Fixes #669
// FREEBIE
2016-02-24 17:11:59 -08:00
lilia
d121effe3b
Add logging for clearing taskbar attention
...
// FREEBIE
2016-02-24 14:36:49 -08:00
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
2016-02-22 17:11:17 -08:00
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
2016-02-22 17:11:17 -08:00
lilia
1f897f32b7
Track and sync unread messages
...
// FREEBIE
2016-02-22 17:11:17 -08:00
lilia
1be45f3775
Derive global unread count from individual counts
...
// FREEBIE
2016-02-22 17:11:17 -08:00
lilia
781ada64ca
Add libtextsecure support for syncing read messages
...
Plumbing for sending and receiving a new sync protobuf for marking
messages read on/from my other devices.
// FREEBIE
2016-02-22 17:11:17 -08:00
lilia
ecf2885a6c
Do post-send tasks when resolving conflicts
...
Fixes #684
// FREEBIE
2016-02-22 17:11:16 -08:00
lilia
731052ad0a
Clear old key conflict errors after failed replay
...
If the replay failed due to a bad mac or other decryption error for some
other reason we still want to clear the conflict. If it failed because
it's still in conflict then the newly returned error will reflect that
and be saved.
// FREEBIE
2016-02-22 17:11:16 -08:00
lilia
cc0b8e835a
Don't show left groups in list of all contacts
...
// FREEBIE
2016-02-22 17:11:16 -08:00
lilia
ef9559d844
Add tests for filtering left groups from search
...
// FREEBIE
2016-02-22 17:11:16 -08:00
lilia
7e8ce5eb54
Omit left groups from search
...
Unless they contain messages.
// FREEBIE
2016-02-22 17:11:16 -08:00
lilia
010297f4c5
Track groups I've left
...
// FREEBIE
2016-02-22 17:11:16 -08:00
lilia
f940676357
Ignore attempts to post empty debug logs
...
Fixes #697
// FREEBIE
2016-02-22 13:59:34 -08:00
lilia
a962d97bfb
Fix debug log submission loading UX
...
This flow broke a bit with transition to modal debug log.
Restructure such that the loading class can be applied to an appropriate
element inside the modal. Ensure that the input elements are hidden when
submit is clicked, the result elements are shown when the log upload is
completed.
// FREEBIE
2016-02-22 12:48:06 -08:00
lilia
7f8c76faca
Make debug log as big as possible
...
Tweak style to make the modal reasonably wide/tall, and use flexbox
to automatically expand the textarea.
// FREEBIE
2016-02-22 12:41:49 -08:00
lilia
636c0f2a60
Put debug log in a modal
...
Also dedupe close-button style
// FREEBIE
2016-02-19 17:34:59 -08:00
lilia
33fde3d4e7
Dedupe modal styles
...
// FREEBIE
2016-02-19 17:34:59 -08:00
lilia
74aeddcbda
Add missing view file
...
// FREEBIE
2016-02-18 16:13:53 -08:00
lilia
173e037fa6
Fix minor style errors
...
And keep it that way, by making jscs config more opinionated.
// FREEBIE
2016-02-18 13:45:22 -08:00
lilia
18e9ded296
Fix storage.put
...
Adding an existing id to a collection is a no-op. To update an existing
item, we must pass {merge: true} as an option.
// FREEBIE
2016-02-18 12:22:43 -08:00
lilia
a3c6061480
Add Notification Settings
...
Fixes #471
// FREEBIE
2016-02-18 12:22:43 -08:00
lilia
4ab2e25df6
Refactor Contact and Conflict views
...
Untangle these two views into their component parts, consolidating all
the key conflict logic in the key conflict view. Contact view now simply
renders basic contact info and miscellaneous errors but not conflicts or
message errors.
// FREEBIE
2016-02-18 12:22:43 -08:00
lilia
1e1b87bbbd
Add session store logging
...
// FREEBIE
2016-02-18 12:22:43 -08:00
lilia
1bd0855d93
Remove duplicate display of network errors
...
Network errors render as a resend dialogue at the top of the message
detail and need not be re-reported in the contact list or errors
section.
// FREEBIE
2016-02-18 12:22:42 -08:00
lilia
f221921127
Tweak conflict style
...
// FREEBIE
2016-02-18 12:22:42 -08:00
lilia
28c763992a
Move error indicators on message bubbles
...
// FREEBIE
2016-02-18 12:22:42 -08:00
lilia
5340791868
Display key conflict dialog inline
...
One less modal.
// FREEBIE
2016-02-18 12:22:42 -08:00
lilia
ad66da9fb5
Move identity conflicts to top of message detail
...
Also restyle them as with network errors
// FREEBIE
2016-02-18 12:22:42 -08:00
lilia
f5436a5123
Clicking on message status icon opens detail view
...
Additionally, hovering over it will apply cursor: pointer. Previously
only the timestamp exhibited this behavior.
// FREEBIE
2016-02-18 12:22:41 -08:00
lilia
496ac30d6f
Process delivery receipts from yourself
...
Fixes #668
// FREEBIE
2016-02-16 17:51:42 -08:00
lilia
cd7bc78b1d
Refactor delivery receipt processing
...
Replace the where, forEach, and found pattern with a find.
// FREEBIE
2016-02-16 17:51:42 -08:00
lilia
b602533084
Serialize calls to sendSyncMessage
...
Fixes #679
// FREEBIE
2016-02-16 17:46:20 -08:00
lilia
6154dbb8db
Fix debug log growing uncontrollably
...
Races between adding new log entries and fetching old ones can cause an
overage of more than one entry.
// FREEBIE
2016-02-12 18:34:58 -08:00
lilia
b8602a3b42
Make migrations more robust
...
Occasionally these will fail if they happen to be executed before the
necessary dependencies (storage, ConversationCollection) are declared.
// FREEBIE
2016-02-12 17:18:37 -08:00
lilia
48626ceafb
Remove spurious storage.fetch from migration
...
This should really only be called once, from background.js.
Calling it twice can cause doubled listeners for the registration_done
event, which in turn leads to duplicate post-registration callbacks,
dual sync requests, and an eventual datastore inconsistency.
Fixes #670
// FREEBIE
2016-02-12 17:02:11 -08:00
lilia
1f2dfc5ea9
Only update notification on add
...
Previously, notifications were persistent until explicitly dismissed
from the notification center (a bell icon in the system tray), but that
ui has been removed from chrome*, so now updating on remove is
unexpectedly creating a new notification pop up.
*http://blog.chromium.org/2015/10/streamlining-notifications-on-desktop.html
Fixes #667
// FREEBIE
2016-02-10 11:37:40 -08:00
lilia
4198987723
Display a message when provisioning socket fails
...
Fixes #464
// FREEBIE
2016-02-09 16:23:17 -08:00
lilia
7e82d1295c
Handle attachment upload errors
...
Adds a new kind of replayable error that handles retry of pre-encryption
failures, e.g., attachment upload.
Fixes #485
// FREEBIE
2016-02-09 13:21:32 -08:00
lilia
910e37649a
Let group messages use new Message class
...
// FREEBIE
2016-02-08 17:07:49 -08:00
lilia
3bffdd96f5
Add sendMessage to handle sending from Message class
...
// FREEBIE
2016-02-08 17:07:49 -08:00
lilia
ecdfa09e97
Create a helper class for constructing messages
...
// FREEBIE
2016-02-08 17:07:48 -08:00
lilia
b73a3aea80
Fix syntax error
...
// FREEBIE
2016-02-08 15:58:06 -08:00
lilia
cee2b3163a
Add missing bind in messageReceiver
...
// FREEBIE
2016-02-08 15:49:34 -08:00
lilia
7dcad67410
Fix handleSentMessage
...
Missing a bind in 27fe7e3
.
// FREEBIE
2016-02-05 11:11:34 -08:00
lilia
d4760452d1
Add signal agent to server requests
...
// FREEBIE
2016-02-04 14:13:04 -08:00
lilia
7bab669ef0
Rebuild components
...
// FREEBIE
2016-02-04 11:28:31 -08:00
lilia
27fe7e355e
Process end session flags in sync messages
...
Because remote clients will delete all sessions in response to an end
session message, regardless of which device it came from, when our
linked device sends an end session message, we must also end all
sessions with the destination.
This change moves the end session flag processing to processDecrypted,
which is shared between handlers of sent messages, data messages, and
messages which are re-tried after resolving identity conflicts.
// FREEBIE
2016-02-04 11:25:53 -08:00
lilia
fe82e469f2
Make end session consistent with android
...
Close all the sessions for a number when receiving an end session
message.
// FREEBIE
2016-02-03 17:56:24 -08:00
lilia
bf632bfa54
Fix migrations
...
Migrations should always call next() exactly once.
// FREEBIE
2016-02-03 17:56:23 -08:00
lilia
87ddcef333
Make debug log persistent
...
Save log entries in indexedDB rather than just in memory. Reload them
whenever the background page is refreshed.
// FREEBIE
2016-02-03 13:30:55 -08:00
lilia
86132a38a8
Log envelopes and session end events
...
Help debug bad session errors by logging some envelope info about the
message we are about to decrypt. With this, if there is a decryption
error (e.g., bad mac or no session) it is clear from the logs what
number and device message sent the bad message.
Also log when we send and receive end session messages and when we close
sessions for certain devices.
// FREEBIE
2016-02-02 16:16:42 -08:00
lilia
137b992f87
Fix "Delete Messages" not deleting all messages
...
Since the introduction of infinite scroll, the delete messages function
has only deleted the currently loaded set of messages in a conversation.
To fix this, we should fetch all the messages and then delete them.
Fixes #645
// FREEBIE
2016-01-27 15:06:16 -08:00
lilia
080c233a93
Add timestamp update interval test
...
Break out delay computation into its own function and add tests,
including a regression test for #646 .
// FREEBIE
2016-01-27 12:24:50 -08:00
codedust
9b390baea0
Fix a bug that causes 100% CPU load in timestamp_view.js
...
When `millis_since` becomes larger than one week, `delay` becomes
negative and is set to Zero. This causes an infinite loop and therefore
100% CPU usage (single thread).
// FREEBIE
2016-01-27 11:47:03 -08:00
lilia
b0def76801
Remove unused code
...
Well that never worked.
Closes #458
// FREEBIE
2016-01-26 14:56:16 -08:00
Lorenz Hübschle-Schneider
e876d8f6ed
Display relative timestamps in conversation list
...
This mimicks Signal-Android's relative timestamps.
Previously, only the date was displayed.
Fixes #284
2016-01-26 10:54:40 -08:00
Sam Lanning
0569d4c889
Replace conversation panel js resizing with flex styling.
...
// FREEBIE
2016-01-25 14:37:03 -08:00
Sam Lanning
c4a9ac94b4
Improve Confirmation Dialog
...
Some basic modifications to the Confirmation Dialog:
* Always attached to <body> regardless of view that called it.
* Always centered horizontally on screen.
* A black semi-transparent overlay is now displayed over everything, and under
the dialog.
* Various other style changes.
fixes #389
// FREEBIE
2016-01-25 14:33:38 -08:00
lilia
9d644d4037
Update libphonenumber
...
Fixes #531
// FREEBIE
2016-01-22 15:38:31 -08:00
lilia
a9cba1471a
Update our own key on re-install
...
Previously we would delete our own key from the trust store when
re-linking, in case it changed. We can also immediately take one step
further and store the new key. Typically this happens in the course of
requesting sync info from the master device, except in the case of
standalone clients.
Closes #596
// FREEBIE
2016-01-21 19:25:55 -08:00
lilia
43071d94d6
Log invalid number inputs
...
// FREEBIE
2016-01-21 13:59:04 -08:00
lilia
05681ce35b
Don't render placeholder markup unless necessary
...
Rather than always rendering divs for the key and placeholder, render
the placeholder only if the key is missing.
// FREEBIE
2016-01-19 19:49:27 -08:00
jakob
6c7f2cf0fc
Show help text for unknown contact identity
...
Adds a new message string "theirIdentityUnknown".
Fixes #576
// FREEBIE
2016-01-19 18:56:33 -08:00
2-4601
ea0e013e81
Add a trifle of i18n to KeyVerificationView
...
Two strings were left behind:
- "Their identity (they read)"
- "Your identity (you read)"
I saved them.
// FREEBIE
2016-01-17 15:36:58 -08:00
Sam Lanning
ac25b62fdc
Improve implementation of i18n for Install Flow following comments on #611
...
* Move install flow i18n logic to install_view.js (from options.js)
* Switch to using placeholders (instead of jQuery) for i18n messages with html.
* Switch to using moustache template instead of jQuery for i18n substitution.
// FREEBIE
2016-01-17 15:10:15 -08:00
Sam Lanning
0825d3e22f
Implement i18n for Install Flow
...
Fixes #600
// FREEBIE
2016-01-17 15:10:15 -08:00
lilia
3a494bf2a3
Log when we draw attention to the window
...
Hopefully help debug spurious cries for window attention.
// FREEBIE
2016-01-16 17:19:47 -08:00
lilia
7301a4c0fb
Quick fix for inbox not opening on launch
...
Fixes #610
// FREEBIE
2016-01-16 09:02:48 -08:00
lilia
30aa13079f
Fix sync request argument check
...
Fixes #609
// FREEBIE
2016-01-15 01:40:40 -08:00
lilia
34ae81c30d
Redo previous migration
...
This time, wait for storage to be ready.
Fixes #608
// FREEBIE
2016-01-15 01:40:26 -08:00
lilia
d6da77b6f4
Throw exception on bad args to SyncRequest
...
// FREEBIE
2016-01-14 15:57:38 -08:00
lilia
1b68e652cc
Fire group sync completion event despite errors
...
Sometimes an error is thrown while processing groups from a group sync
message. We still want to fire the groupsync event when we're done
handling all the data, even if some of it was bad.
2016-01-14 15:44:44 -08:00
lilia
75b2c9c5de
Fix crash when removing a listener
...
// FREEBIE
2016-01-14 15:44:43 -08:00
lilia
f7c4fd2fed
DRY up event target implementations
...
Dedupe event target code and make it extensible.
// FREEBIE
2016-01-14 15:44:42 -08:00
lilia
925c1bdb33
Add SyncRequest class
...
Similar in function to an xhr request, a textsecure.SyncRequest object
is initialized from a message sender and receiver pair and initiates a
request for sync from the master device. It later fires a success event
when both contacts and groups are done syncing, or a timeout event after
one minute.
// FREEBIE
2016-01-14 15:44:42 -08:00
Karel Bilek
d8381cfc47
Dispatch an event after processing a group sync
...
Related #521
2016-01-14 11:18:21 -08:00
lilia
6a268f0325
Migrate registration state
...
Follow up to 5223e6e
for existing installations that never set this flag.
// FREEBIE
2016-01-14 10:38:46 -08:00
lilia
cdd139b44c
Refresh group contacts when rendering member list
...
Fix #581
// FREEBIE
2016-01-12 11:06:14 -08:00
lilia
b2bed9c51c
Fix display of empty group updates
...
Group updates in which nothing change should still display 'Updated the
group'. Previously they would display as empty message bubbles. Fixed by
ensuring that the 'group_update' attribute is set on the model, even if
it is an empty object.
// FREEBIE
2016-01-12 10:44:52 -08:00
lilia
5223e6ed30
Stop ask to re-link forever
...
Clear the registration flag when we detect that our credentials have
been invalidated, but retain the knowledge that we've been registered
before, so as to preserve post-first-install behaviors like skipping the
introductory install screens, and accessing the main ui.
Fix #541
// FREEBIE
2016-01-11 16:40:57 -08:00
lilia
96520e9fd4
Move envelope decode before ack
...
We should not ack envelope protobufs that fail to decode correctly. If
the server happens to send us such a thing it probably indicates a
protocol mismatch between it and the client, in which case the client
needs to update and re-receive the failed message.
// FREEBIE
2016-01-11 12:14:42 -08:00
lilia
44824df6cb
Refactor for clarity
...
// FREEBIE
2016-01-11 11:00:44 -08:00
Matt Corallo
dac084b604
Send message ACKs immediately after recv, instead of after process
2016-01-11 10:55:53 -08:00
Felix Epp
a65166ae3b
Fix #583 from/to label translatable
...
I just added i18n calls and the corresponding keys for en + de.
2016-01-11 10:46:33 -08:00
lilia
ceaf94e05b
Rename variable for consistency
...
// FREEBIE
2016-01-08 06:19:09 -08:00
Felix Epp
62af9ff678
Add user-agent string to DebugLog // fixes WhisperSystems/Signal-Desktop#404
...
The user-agent string includes the information needed (OS + Chrome version) and the console.get() function seems just right. The debugLog itself is not manipulated.
2016-01-02 04:28:45 -08:00
Karel Bilek
557d33bf88
Fixing upper bounds on contact search ( fixes #545 )
2016-01-02 04:23:21 -08:00
lilia
c6956f81d0
i18n DebugLogView
...
// FREEBIE
2016-01-02 02:51:25 -08:00
lilia
1d6e391dd6
Prefer single quotes
...
// FREEBIE
2016-01-02 02:51:25 -08:00
lilia
0e2d2d60c2
i18n KeyConflictDialogue
...
// FREEBIE
2016-01-02 02:51:25 -08:00
lilia
3172c49436
i18n ContactView
...
Part of the MessageDetailView
// FREEBIE
2016-01-02 02:51:25 -08:00
lilia
d502f1bdee
i18n KeyConflictView
...
Also refactor generic error view to make this simpler.
// FREEBIE
2016-01-02 02:51:25 -08:00
lilia
ccdbfc3e12
i18n AttachmentView
...
// FREEBIE
2016-01-02 02:51:24 -08:00
lilia
47e33a14ac
i18n UnsupportedFileTypeToast
...
// FREEBIE
2016-01-02 02:51:24 -08:00
lilia
42f15011fa
i18n FileSizeToast
...
// FREEBIE
2016-01-02 02:51:24 -08:00
lilia
4066223d72
i18n SocketView
...
// FREEBIE
2016-01-02 02:51:24 -08:00
lilia
836a7cb8c5
i18n InboxView
...
// FREEBIE
2016-01-02 02:51:24 -08:00