Commit Graph

2354 Commits (a5a9118c5c8c02543f85a1c6cc68b29837292f2f)
 

Author SHA1 Message Date
lilia 6890138509 Bump version 8 years ago
lilia 1beea04f06 Update translations
// FREEBIE
8 years ago
lilia d1114edcd4 Update libsignal-protocol-javascript 1.1.10
// FREEBIE
8 years ago
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
8 years ago
lilia 30c551e89e Bump version 8 years ago
lilia 9949d0d269 Update translations 8 years ago
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
8 years ago
lilia 43de0cc2ec Add attachment digests
// FREEBIE
8 years ago
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
8 years ago
lilia e4a84d6850 Remove unused html file 8 years ago
lilia 9b11a17ac9 Bump version
// FREEBIE
8 years ago
lilia 51e77b37bd Update translations
// FREEBIE
8 years ago
lilia 4c945acb76 Remove unused object store reference
// FREEBIE
8 years ago
lilia 13a1df5bdd Bump version 8 years ago
lilia c680be5db7 Update translations 8 years ago
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
8 years ago
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
8 years ago
lilia 31b9311f62 Bump version 8 years ago
lilia 8f17b98fde Update translations 8 years ago
lilia 886557a2aa Drop chrome.runtime.onMessage events
We can use Backbone.Events instead.

// FREEBIE
8 years ago
lilia bba25b22e2 Log session deletions 8 years ago
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
8 years ago
lilia e4b9c51f88 Rework expiring messages management
// FREEBIE
8 years ago
lilia 08e8c00329 Restore setting lastMessage in handleDataMessage 8 years ago
lilia 0e31644c28 Remove spurious update to conversation on delivery receipts
Previously this would trigger the conversation to refresh it's last
message.

// FREEBIE
8 years ago
lilia b7fac17ec8 Avoid querying groups on delivery receipts if possible 8 years ago
lilia c8a0fe5a92 Add CallMessage protos 8 years ago
lilia ace59147ab Reduce unnecessary updates on conversations at startup 8 years ago
lilia 280f7a74b1 Fix key change errors while retrying key change errors 8 years ago
lilia e1662f8537 Drop unneeded binds
There are no references to `this` in these functions.

// FREEBIE
8 years ago
lilia 7cbaac5590 Provisioning socket events don't block AccountManager tasks
// FREEBIE
8 years ago
lilia 38a830c561 Fixup account manager task queue
Such that it still pumps tasks if one of them throws/rejects.

// FREEBIE
8 years ago
lilia 51131df23b Update libsignal-protocol-javascript 1.1.9
// FREEBIE
8 years ago
lilia 6509646bdb Set expireTimer to null to unset
// FREEBIE
8 years ago
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
8 years ago
lilia da9b6c5245 Add logging for install and update events
// FREEBIE
8 years ago
lilia 54b856139a Fix fetchExpiring 8 years ago
lilia e8925063bc Bump version 8 years ago
lilia 4e21e783db Fix tests 8 years ago
lilia cda22880a0 Update translations 8 years ago
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
8 years ago
lilia dfe9ee9679 Remove dead code 8 years ago
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
8 years ago
lilia b92dd45a22 Add signed key rotation and deletion routines
// FREEBIE
8 years ago
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
8 years ago
lilia e0fd188d42 Add loadSignedPreKeys to SignalProtocolStore 8 years ago
lilia 37ad742ccf Support for server endpoint to set signed key 8 years ago
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
8 years ago
lilia 829d147d19 Add creation timestamps to signed keys 8 years ago
lilia dfc292ac70 Serialize prekey refreshes & other account mgmt
Fixes #1060

// FREEBIE
8 years ago