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