Commit Graph

1522 Commits (030096bf912dfb00a2209739a99ba677142dcf32)

Author SHA1 Message Date
lilia 2b2c6ab040 Frontend for timer updates and timer indicator 9 years ago
lilia 448835e4d5 Bail early when processing timer updates
Also let expireTimer default to 0.
9 years ago
lilia 4cd2c03687 Add clock svg style 9 years ago
lilia 7331d967d2 Add support for expiration timer updates messages 9 years ago
lilia e809a0cf8b Breakout timer rendering into its own view
Make width and height constant.
9 years ago
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.
9 years ago
lilia 5f92ccd524 Render animated hourglass when messages are expiring 9 years ago
lilia 1383dc141f Ensure that expired messages are removed from the frontend 9 years ago
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.
9 years ago
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.
9 years ago
lilia b888e01044 Add an index on message.expireTimer
This allows us to query all expiring messages on startup.
9 years ago
lilia b3e932dce8 Add protocol support for disappearing messages 9 years ago
lilia 5b5a430114 Support i18n with multiple links
We can now pass a variable number of hrefs into i18n_with_links rather
than just one.
9 years ago
lilia 9b645f90c8 Remove Android requirement from install flow
// FREEBIE
9 years ago
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.
9 years ago
lilia c16e80c5e4 Let key verification view lazy-load keys
// FREEBIE
9 years ago
lilia fe209a2f41 Upgrade libsignal-protocol v1.1.6 9 years ago
lilia 7b3b01bdf6 Refactor registration event
Make AccountManager into an event target for better separation between
app and service-library handling of registration events.
9 years ago
lilia 6dcff46e26 Move chrome-specific calls to chromium.js
// FREEBIE
9 years ago
lilia b1afb79a14 Set theme based on master device userAgent
// FREEBIE
9 years ago
lilia 2b210b3fcd Fix undefined websocket port
Fixes #889

// FREEBIE
9 years ago
lilia edd6f58539 Update display when contact colors change
// FREEBIE
9 years ago
lilia 9db13310b4 Add port 80
// FREEBIE
9 years ago
lilia 384598fbcc Log websocket urls
// FREEBIE
9 years ago
lilia 0487fa3cd1 Add server fallback port 8443
// FREEBIE
9 years ago
lilia 487f75dd27 Fix lint
// FREEBIE
9 years ago
lilia f610233ef6 Add support for syncing blocked numbers
// FREEBIE
9 years ago
lilia 53f20640af Add support for syncing colors
// FREEBIE
9 years ago
lilia 141cdef2a4 Generalize toast view template
// FREEBIE
9 years ago
lilia ff490994ab Render emoji in group name in group updates
// FREEBIE
9 years ago
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.
9 years ago
lilia 1d5471c318 Fix search tests
// FREEBIE
9 years ago
lilia 7e0df07e88 Fix tests
// FREEBIE
9 years ago
lilia 9deaa95e8c Strip unicode null from deviceNames
Not sure how or why but sometimes deviceNames arrive on the server
containing a null char.

// FREEBIE
9 years ago
lilia 43ca465eb9 Remove unused code
// FREEBIE
9 years ago
lilia 1c89142752 Customize emoji conversion
Use image tags with :emoji: in a title attribute for an optimal
copy/paste ux.

// FREEBIE
9 years ago
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
9 years ago
lilia 4b9f7d518e Remove Android requirement from install flow
// FREEBIE
9 years ago
lilia b5191e78c3 More themeing
Restyle message input and welcome screen
Cleanup search, headers

// FREEBIE
9 years ago
lilia 5333f89d9d Fix svg icon colors
// FREEBIE
9 years ago
lilia 6c05a71424 Tune up ios bubble style
// FREEBIE
9 years ago
lilia 8fbb0d05f5 Add settings ui for theme
// FREEBIE
9 years ago
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
9 years ago
lilia 3531667207 Fix closing recorder when clicking away
// FREEBIE
9 years ago
lilia 87f4029210 Fix lint
// FREEBIE
9 years ago
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
9 years ago
lilia b330b80484 Change font size on ctrl+scroll
Fixes #864

// FREEBIE
9 years ago
lilia 9fa7e7f462 Remove unused view
// FREEBIE
9 years ago
lilia 645e05c2b9 Add support for new fingerprint format
This will be ready to roll whenever Android/iOS is.

// FREEBIE
9 years ago
lilia 254b6621c2 Update libsignal-protocol v1.1.5
// FREEBIE
9 years ago
lilia 4f46a164ba Add voice notes
// FREEBIE
9 years ago
lilia d11f9fd538 Update libsignal-protocol v1.1.4
// FREEBIE
9 years ago
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
9 years ago
lilia e5b54d9b6a Bubble up InvalidStateErrors and log them
These may be indicative of a potentially fatal lack of disk space.

// FREEBIE
9 years ago
lilia 83629df560 Log on failure to fetch storage
// FREEBIE
9 years ago
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
9 years ago
lilia 78b8fbc836 Update momentjs
// FREEBIE
9 years ago
lilia 4d9b6917d7 Fix timestamp tests
These were failing because chrome's i18n functions aren't available in
test.

// FREEBIE
9 years ago
lilia 688b297050 Move window.chrome reference to chromium.js
// FREEBIE
9 years ago
lilia fed8f62617 Remove untranslatable strings from locale file
// FREEBIE
9 years ago
lilia 6a3a724dc4 Add momentjs locales
// FREEBIE
9 years ago
Benedikt Radtke e836bfd3f7 Added basic localization for timestamps
This commit implements basic localization for the timestamps in conversations and the conversation list.

// FREEBIE
9 years ago
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
9 years ago
lilia 8939c61c7c Log on notification removal
// FREEBIE
9 years ago
lilia 4c0ed76909 Update libsignal-protocol v1.1.3
// FREEBIE
9 years ago
lilia 186c597e24 Use port 4433 on staging
Now with over 9000% more CA-signed cert!

// FREEBIE
9 years ago
lilia 3a50a892dc Don't sort if already sorted
// FREEBIE
9 years ago
lilia 2cea499736 Reduce log noise from prekey messages
// FREEBIE
9 years ago
lilia 7efdfc95ee Log when updating notifications
// FREEBIE
9 years ago
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
9 years ago
lilia 748215e285 Fix style
// FREEBIE
9 years ago
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
9 years ago
lilia 8a153e942e Fix lightbox
// FREEBIE
9 years ago
lilia 5bff1d2cab Scope media pausing to the open conversation
// FREEBIE
9 years ago
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
9 years ago
lilia 005444d09a Update libsignal-protocol v1.1.2
// FREEBIE
9 years ago
lilia f670061669 Pressing escape closes the lightbox
// FREEBIE
9 years ago
lilia a069939f65 Refactor attachment saving for DRYness
// FREEBIE
9 years ago
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
9 years ago
lilia 0a7f203565 Log on session save failure
// FREEBIE
9 years ago
lilia 5059fd237a Disable keepalive logging
// FREEBIE
9 years ago
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
9 years ago
lilia 5fcf2ea66f Update libsignal-protocol v1.1.1
// FREEBIE
9 years ago
lilia 9091233950 Open images in a lightbox
Adds file-write permission for saving to disk from lightbox.

Fixes #810

// FREEBIE
9 years ago
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
9 years ago
lilia 167f19153c Update libsignal-protocol v1.1.0
Moves padding operations to the service library.

// FREEBIE
9 years ago
lilia b8fddfbbdd Update libsignal-protocol v1.0.0
// FREEBIE
9 years ago
lilia d89c3e8e86 Remove devices with no keys
// FREEBIE
9 years ago
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
9 years ago
lilia 3cd80d3f1e Remove tool tip from unregistered user errors
// FREEBIE
9 years ago
lilia 58c3fe047e Make error messages clickable
// FREEBIE
9 years ago
lilia b2f07984df i18n unregistered user errors
// FREEBIE
9 years ago
lilia b6f785737c Restyle error icons, move them outside the bubble 9 years ago
lilia 89d3b772d5 Define UnregisteredUserError class
// FREEBIE
9 years ago
lilia 81dfdd959f Don't allow retry on unregistered user errors
// FREEBIE
9 years ago
lilia 292260d973 Remove timestamp logging
// FREEBIE
9 years ago
lilia 331ca46d75 Fix websocket event name
Fixes #798

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

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

// FREEBIE
9 years ago
lilia 055c0c323e Remove unneeded property from device object
// FREEBIE
9 years ago