alecglassford
ef4b4da2a3
Make search clear button ("x") persist w/o hover
...
This makes the "x" in the search bar always visible when there is
text in the search box, even if the mouse is not hovering, hopefully
making for a clearer UI around search and resolving issue #741
The implementation adds the "x.svg" as a background image to the search
box when it is classed with .active, in addition to the
-webkit-search-cancel-button, which is still there for the actual
functionality but only appears on mouse hover (one tiny snag is that
coloring appears slightly different on hover, at least on my screen -
don't know if this is a problem).
I accounted for both ltr and rtl text-direction by using
getComputedStyle(...).direction to detect from the input's dir="auto"
- if there's a more elegant way to do this, please suggest. An ideal
solution would use the :dir pseudo-class but it's not implemented
in Chrome yet - https://developer.mozilla.org/en-US/docs/Web/CSS/:dir
For now, I added the direction-checking to inbox_view.js. I see that
input.search is also used in new_group_update_view.js and
recipient_input_view.js but neither of these views seem to be in use (?)
and they don't set the .active class anyway, so I ignored them.
Update: Amended version a few hours later - fixed and manually tested
color and spacing for iOS and Android Dark themes. Also made some new
SASS variables to make things DRYer and fixed my tab size.
2017-04-08 00:06:48 -07:00
lilia
a72c2968f2
Handle unknown request types
...
// FREEBIE
2017-04-07 19:35:25 -07:00
lilia
d1114edcd4
Update libsignal-protocol-javascript 1.1.10
...
// FREEBIE
2017-03-28 11:37:50 -07:00
lilia
611bbaef35
Don't hardcode the attachment server url
...
There may come a day when we may need to change this url from the server
side. On that day, clients should continue to operate normally. The
service should be able to change attachment server locations without
requiring a client update.
// FREEBIE
2017-03-10 15:24:19 -08:00
lilia
43de0cc2ec
Add attachment digests
...
// FREEBIE
2017-03-10 14:40:45 -08:00
lilia
f1a1a819ba
Stop parsing attachment ids from attachment urls
...
See 2111294
Attachment ids are now available in string form from the server
response to `putAttachment`.
// FREEBIE
2017-03-10 10:44:26 -08:00
lilia
4c945acb76
Remove unused object store reference
...
// FREEBIE
2017-03-04 17:57:32 -08:00
lilia
58d2f71e09
Add migration to clean up old expiring messages
...
Expiring messages received before 0.31.0 may not have an expires_at time
populated. Loading these messages once will update their expires_at if
it wasn't already set. To avoid loading too many messages into memory,
add them individually, and remove them from the collection as soon as
they are added, allowing them to be garbage collected immediately.
// FREEBIE
2017-03-01 18:05:36 -08:00
lilia
25ee61d3cb
Fix timers after suspend/resume/pause
...
We use timers to decide when to query and delete expired messages or
when to perform signed key rotations.
Internally, timers are counters that get updated when the CPU ticks, so
if the CPU sleeps, the timer will stop counting, and start again after
it wakes up, ignoring the intervening passage of wall clock time.
To fix this, without having to query the database or other potentially
high overhead operations too often, use an interval to frequently check
the wall clock time. If time jumps forward, trigger a global event so
other listeners can update their possibly-inaccurate timers.
https://stackoverflow.com/questions/6346849/what-happens-to-settimeout-when-the-computer-goes-to-sleep
https://stackoverflow.com/questions/4079115/can-any-desktop-browsers-detect-when-the-computer-resumes-from-sleep
// FREEBIE
2017-03-01 14:36:40 -08:00
lilia
886557a2aa
Drop chrome.runtime.onMessage events
...
We can use Backbone.Events instead.
// FREEBIE
2017-02-28 11:49:56 -08:00
lilia
bba25b22e2
Log session deletions
2017-02-28 11:29:26 -08:00
lilia
527e7878a8
Fix unresolved promise in removeSession
...
Previously if there was no session to remove, the promise returned from
removeSession would never resolve, potentially blocking sending for that
recipient until restart.
// FREEBIE
2017-02-28 11:29:26 -08:00
lilia
e4b9c51f88
Rework expiring messages management
...
// FREEBIE
2017-02-22 16:18:01 -08:00
lilia
08e8c00329
Restore setting lastMessage in handleDataMessage
2017-02-22 16:15:27 -08:00
lilia
0e31644c28
Remove spurious update to conversation on delivery receipts
...
Previously this would trigger the conversation to refresh it's last
message.
// FREEBIE
2017-02-22 15:41:12 -08:00
lilia
b7fac17ec8
Avoid querying groups on delivery receipts if possible
2017-02-22 15:41:12 -08:00
lilia
ace59147ab
Reduce unnecessary updates on conversations at startup
2017-02-22 01:22:44 -08:00
lilia
280f7a74b1
Fix key change errors while retrying key change errors
2017-02-22 01:17:21 -08:00
lilia
e1662f8537
Drop unneeded binds
...
There are no references to `this` in these functions.
// FREEBIE
2017-02-22 01:17:21 -08:00
lilia
7cbaac5590
Provisioning socket events don't block AccountManager tasks
...
// FREEBIE
2017-02-22 01:17:21 -08:00
lilia
38a830c561
Fixup account manager task queue
...
Such that it still pumps tasks if one of them throws/rejects.
// FREEBIE
2017-02-22 01:17:20 -08:00
lilia
51131df23b
Update libsignal-protocol-javascript 1.1.9
...
// FREEBIE
2017-02-22 01:17:20 -08:00
lilia
6509646bdb
Set expireTimer to null to unset
...
// FREEBIE
2017-02-22 01:17:20 -08:00
lilia
0fac2e1d68
Log when we see a 0 registrationId
...
Most likely an indicator that the device we're dealing with is a 3rd
party client.
// FREEBIE
2017-02-20 19:03:08 -08:00
lilia
da9b6c5245
Add logging for install and update events
...
// FREEBIE
2017-02-17 12:50:26 -08:00
lilia
54b856139a
Fix fetchExpiring
2017-02-17 12:10:20 -08:00
lilia
e648a4b095
Revert "Remove unregistered group members"
...
This reverts commit a768b94471
.
d2ddfc7
was enough to fix #989 . Removing unregistered members from the
group (as opposed to silently ignorning them) creates greater potential
for getting out of sync with the member lists on other devices.
// FREEBIE
2017-02-16 18:06:20 -08:00
lilia
dfe9ee9679
Remove dead code
2017-02-16 18:06:20 -08:00
lilia
536dd7b951
Add signed key rotation scheduler
...
Rotate signed prekey every 48hrs, waiting for online access if
necessary. After a rotation attempt is made, schedule the next run for
48hrs in the future.
We use a timeout to "wake up" and handle the rotation. This timeout gets
set on startup and whenever the next rotation time is changed. For
paranoia's sake, always clear the current timeout before setting the
next one.
Since new registrations necessarily upload new signed keys, we reset the
scheduled time to T+48hrs on `registration_done` events.
// FREEBIE
2017-02-16 18:06:20 -08:00
lilia
b92dd45a22
Add signed key rotation and deletion routines
...
// FREEBIE
2017-02-16 18:06:19 -08:00
lilia
cd0fe7037b
Add replayable error for signed key failure
...
Disable message sending if signed key updates fail too many times, but
allow the user to retry sending.
// FREEBIE
2017-02-16 18:06:19 -08:00
lilia
e0fd188d42
Add loadSignedPreKeys to SignalProtocolStore
2017-02-16 14:59:04 -08:00
lilia
37ad742ccf
Support for server endpoint to set signed key
2017-02-16 14:59:03 -08:00
lilia
54536360ff
Return created_at and keyId with signed prekeys
...
Use `.get()` rather than `attributes.property` access because created_at
may not be present for old keys
// FREEBIE
2017-02-15 13:44:31 -08:00
lilia
829d147d19
Add creation timestamps to signed keys
2017-02-14 15:26:34 -08:00
lilia
dfc292ac70
Serialize prekey refreshes & other account mgmt
...
Fixes #1060
// FREEBIE
2017-02-14 15:24:09 -08:00
lilia
f0f6bbb8c0
Update libsignal-protocol 1.1.8
...
// FREEBIE
2017-02-09 10:58:36 -08:00
lilia
819ba8ee74
Support for undefined preKey
2017-02-09 10:58:36 -08:00
haffenloher
a768b94471
Remove unregistered group members
...
Locally remove unregistered users from group membership lists.
Fixes #989
Related to Whispersystems/Signal-Android#6175
Closes #1052
// FREEBIE
2017-02-08 17:13:36 -08:00
haffenloher
d2ddfc72e4
Throw UnregisteredUserErrors in getKeysForNumber()
2017-02-08 17:13:36 -08:00
haffenloher
e8de2f0c52
Increase image constraints to 6 MB / 4096 px
...
Matches WhisperSystems/Signal-Android@d2be49af
Closes #1055
// FREEBIE
2017-02-08 17:05:33 -08:00
lilia
053bf20185
Group updates never have body or attachments
...
Why would they? And group.added isn't used anywhere else.
// FREEBIE
2017-02-08 16:56:29 -08:00
haffenloher
04f0142b23
Ignore missing members in incoming group updates
...
Previously, updateNumbers would throw an Error, so the whole group
update was discarded.
Signal-Android handles this the same way in
GroupMessageProcessor.handleGroupUpdate().
Closes #1056
2017-02-08 16:46:09 -08:00
beejaygee
76c165a10a
Add copy and paste for images
...
Switch comparison operator to ===
Move to stricter parsing of clipboard items
2017-02-07 19:26:09 +08:00
Blake Griffith
1e498294e0
Add attachment_views_test.js tests
2017-02-06 21:23:35 -08:00
lilia
aa55b6a538
Confirm device name with enter key
...
Use form and submit elements for their built in mouse and keyboard event
handlers.
// FREEBIE
2017-02-06 20:10:40 -08:00
lilia
4230b11f82
Support future compatibility for new timer options
...
If some future client ever sends us an arbitrary timer value which we do
not currently support, present it as a duration in seconds in timer
update messages and ui, where we would otherwise have rendered nothing,
e.g., "You set the timer to ."
// FREEBIE
2017-02-06 18:22:20 -08:00
lilia
7e06e014c4
Add debug logging for #1030
...
// FREEBIE
2017-02-03 21:28:01 -08:00
karissa
eb5c95e287
Add a few missing translatable strings to conversation search view
2017-02-03 20:48:05 -08:00
Asa Ayers
bda0430805
Add an option to play audio notifications
2017-02-02 09:00:14 -06:00
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