Commit Graph
2310 Commits
Author SHA1 Message Date
lilia be65cd1cd7 Update translations
// FREEBIE
2017-04-07 19:35:25 -07:00
lilia a72c2968f2 Handle unknown request types
// FREEBIE
2017-04-07 19:35:25 -07:00
Jon Long 3684001695 Add text under the logo on the first screen
Per https://github.com/WhisperSystems/Signal-Desktop/pull/1097#issuecomment-287477960
2017-04-07 19:35:25 -07:00
Jon Long d0d3f80291 Improve Responsiveness on Install Screen
Handles the edge case where images in the Install steps can obscure the text below them at certain window dimensions.

In most cases, it's not possible to replicate this behavior due to minimum dimension settings in `chromium.js`. However, some window managers (such as i3) can ignore those settings, producing this bug.

This fix introduces a flexible, responsive layout to the Install steps, with the goal of keeping the action buttons in a consistent position while adapting the rest of the content to the remaining available space. The result is a clean, usable screen at any window size.

In the rare instance that a window's dimensions are less than that of the minimums set in `chromium.js`, scrollbars will appear to keep the smallest acceptable layout intact.

Potential side effects:

- Each `.step` element contains an`.inner` flexbox wrapper, which arranges its children in a column. The layout works best when each `flex-item` is an element that wraps the content inside of it. I think I accounted for all the possibilities on the Install screen, but any future `.step` items might want to keep that pattern in mind.

Resolves #1059
FREEBIE
2017-04-07 19:35:25 -07:00
hniestl 37fa5f1376 Update logo
This commit updates the logo at the 2nd step. Fixes #1111
2017-04-07 19:35:25 -07:00
Jon Long 9f9db07484 Update TextSecure Staging URL instructions
Small change to clarify where the TextSecure server URL should be changed to the staging value in local builds. 

It looks like the Android variable has been updated from `TEXTSECURE_URL` to `SIGNAL_URL` (https://github.com/WhisperSystems/Signal-Android/commit/ae40715526aa0fbad583783be63115bb46b1c2c8#diff-c197962302397baf3a4cc36463dce5eaR179) and the iOS counterpart is named `textSecureServerURL`.

FREEBIE
2017-04-07 19:34:18 -07:00
lilia 6890138509 Bump version v0.34.0 2017-03-30 15:12:25 -07:00
lilia 1beea04f06 Update translations
// FREEBIE
2017-03-30 15:12:11 -07:00
lilia d1114edcd4 Update libsignal-protocol-javascript 1.1.10
// FREEBIE
2017-03-28 11:37:50 -07:00
lilia 7a7739a3f6 Add text-security css class
Adding the class `.text-security` to the body element will (should) turn
all names, phone numbers, and message bodies into unreadable squares.
Nice to have when you want to screenshot without leaking too much info.
Note that emojis and images are not obscured.

This isn't fully baked or exposed as a feature. You have manually
inspect and tweak the DOM to enable it, but I leave it here for the
benefit of devs and other "frequent flyers" of our issue tracker.

// FREEBIE
2017-03-14 15:56:47 -07:00
lilia 30c551e89e Bump version v0.33.0 2017-03-10 16:10:21 -08:00
lilia 9949d0d269 Update translations 2017-03-10 16:09:58 -08: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 e4a84d6850 Remove unused html file 2017-03-05 20:39:30 -08:00
lilia 9b11a17ac9 Bump version
// FREEBIE
2017-03-04 17:57:53 -08:00
lilia 51e77b37bd Update translations
// FREEBIE
2017-03-04 17:57:47 -08:00
lilia 4c945acb76 Remove unused object store reference
// FREEBIE
2017-03-04 17:57:32 -08:00
lilia 13a1df5bdd Bump version v0.32.0 2017-03-02 15:14:16 -08:00
lilia c680be5db7 Update translations 2017-03-02 15:00:45 -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 31b9311f62 Bump version v0.31.0 2017-02-28 12:06:21 -08:00
lilia 8f17b98fde Update translations 2017-02-28 12:06:03 -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 c8a0fe5a92 Add CallMessage protos 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 e8925063bc Bump version v0.30.0 2017-02-16 19:32:23 -08:00
lilia 4e21e783db Fix tests 2017-02-16 19:32:23 -08:00
lilia cda22880a0 Update translations 2017-02-16 18:30:26 -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