Commit Graph

1197 Commits (1f2dfc5ea98b1b75eda90cbe4bf0cf436b4626ab)

Author SHA1 Message Date
lilia 1f2dfc5ea9 Only update notification on add
Previously, notifications were persistent until explicitly dismissed
from the notification center (a bell icon in the system tray), but that
ui has been removed from chrome*, so now updating on remove is
unexpectedly creating a new notification pop up.

*http://blog.chromium.org/2015/10/streamlining-notifications-on-desktop.html

Fixes #667

// FREEBIE
9 years ago
lilia 4198987723 Display a message when provisioning socket fails
Fixes #464

// FREEBIE
9 years ago
lilia 7e82d1295c Handle attachment upload errors
Adds a new kind of replayable error that handles retry of pre-encryption
failures, e.g., attachment upload.

Fixes #485

// FREEBIE
9 years ago
lilia 910e37649a Let group messages use new Message class
// FREEBIE
9 years ago
lilia 3bffdd96f5 Add sendMessage to handle sending from Message class
// FREEBIE
9 years ago
lilia ecdfa09e97 Create a helper class for constructing messages
// FREEBIE
9 years ago
lilia b73a3aea80 Fix syntax error
// FREEBIE
9 years ago
lilia cee2b3163a Add missing bind in messageReceiver
// FREEBIE
9 years ago
lilia 7dcad67410 Fix handleSentMessage
Missing a bind in 27fe7e3.

// FREEBIE
9 years ago
lilia d4760452d1 Add signal agent to server requests
// FREEBIE
9 years ago
lilia 7bab669ef0 Rebuild components
// FREEBIE
9 years ago
lilia 27fe7e355e Process end session flags in sync messages
Because remote clients will delete all sessions in response to an end
session message, regardless of which device it came from, when our
linked device sends an end session message, we must also end all
sessions with the destination.

This change moves the end session flag processing to processDecrypted,
which is shared between handlers of sent messages, data messages, and
messages which are re-tried after resolving identity conflicts.

// FREEBIE
9 years ago
lilia fe82e469f2 Make end session consistent with android
Close all the sessions for a number when receiving an end session
message.

// FREEBIE
9 years ago
lilia bf632bfa54 Fix migrations
Migrations should always call next() exactly once.

// FREEBIE
9 years ago
lilia 87ddcef333 Make debug log persistent
Save log entries in indexedDB rather than just in memory. Reload them
whenever the background page is refreshed.

// FREEBIE
9 years ago
lilia 86132a38a8 Log envelopes and session end events
Help debug bad session errors by logging some envelope info about the
message we are about to decrypt. With this, if there is a decryption
error (e.g., bad mac or no session) it is clear from the logs what
number and device message sent the bad message.

Also log when we send and receive end session messages and when we close
sessions for certain devices.

// FREEBIE
9 years ago
lilia 137b992f87 Fix "Delete Messages" not deleting all messages
Since the introduction of infinite scroll, the delete messages function
has only deleted the currently loaded set of messages in a conversation.
To fix this, we should fetch all the messages and then delete them.

Fixes #645

// FREEBIE
9 years ago
lilia 080c233a93 Add timestamp update interval test
Break out delay computation into its own function and add tests,
including a regression test for #646.

// FREEBIE
9 years ago
codedust 9b390baea0 Fix a bug that causes 100% CPU load in timestamp_view.js
When `millis_since` becomes larger than one week, `delay` becomes
negative and is set to Zero. This causes an infinite loop and therefore
100% CPU usage (single thread).

// FREEBIE
9 years ago
lilia b0def76801 Remove unused code
Well that never worked.

Closes #458

// FREEBIE
9 years ago
Lorenz Hübschle-Schneider e876d8f6ed Display relative timestamps in conversation list
This mimicks Signal-Android's relative timestamps.
Previously, only the date was displayed.

Fixes #284
9 years ago
Sam Lanning 0569d4c889 Replace conversation panel js resizing with flex styling.
// FREEBIE
9 years ago
Sam Lanning c4a9ac94b4 Improve Confirmation Dialog
Some basic modifications to the Confirmation Dialog:
* Always attached to <body> regardless of view that called it.
* Always centered horizontally on screen.
* A black semi-transparent overlay is now displayed over everything, and under
  the dialog.
* Various other style changes.

fixes #389

// FREEBIE
9 years ago
lilia 9d644d4037 Update libphonenumber
Fixes #531

// FREEBIE
9 years ago
lilia a9cba1471a Update our own key on re-install
Previously we would delete our own key from the trust store when
re-linking, in case it changed. We can also immediately take one step
further and store the new key. Typically this happens in the course of
requesting sync info from the master device, except in the case of
standalone clients.

Closes #596

// FREEBIE
9 years ago
lilia 43071d94d6 Log invalid number inputs
// FREEBIE
9 years ago
lilia 05681ce35b Don't render placeholder markup unless necessary
Rather than always rendering divs for the key and placeholder, render
the placeholder only if the key is missing.

// FREEBIE
9 years ago
jakob 6c7f2cf0fc Show help text for unknown contact identity
Adds a new message string "theirIdentityUnknown".

Fixes #576

// FREEBIE
9 years ago
2-4601 ea0e013e81 Add a trifle of i18n to KeyVerificationView
Two strings were left behind:
- "Their identity (they read)"
- "Your identity (you read)"

I saved them.

// FREEBIE
9 years ago
Sam Lanning ac25b62fdc Improve implementation of i18n for Install Flow following comments on #611
* Move install flow i18n logic to install_view.js (from options.js)
* Switch to using placeholders (instead of jQuery) for i18n messages with html.
* Switch to using moustache template instead of jQuery for i18n substitution.

// FREEBIE
9 years ago
Sam Lanning 0825d3e22f Implement i18n for Install Flow
Fixes #600

// FREEBIE
9 years ago
lilia 3a494bf2a3 Log when we draw attention to the window
Hopefully help debug spurious cries for window attention.

// FREEBIE
9 years ago
lilia 7301a4c0fb Quick fix for inbox not opening on launch
Fixes #610

// FREEBIE
9 years ago
lilia 30aa13079f Fix sync request argument check
Fixes #609

// FREEBIE
9 years ago
lilia 34ae81c30d Redo previous migration
This time, wait for storage to be ready.

Fixes #608

// FREEBIE
9 years ago
lilia d6da77b6f4 Throw exception on bad args to SyncRequest
// FREEBIE
9 years ago
lilia 1b68e652cc Fire group sync completion event despite errors
Sometimes an error is thrown while processing groups from a group sync
message. We still want to fire the groupsync event when we're done
handling all the data, even if some of it was bad.
9 years ago
lilia 75b2c9c5de Fix crash when removing a listener
// FREEBIE
9 years ago
lilia f7c4fd2fed DRY up event target implementations
Dedupe event target code and make it extensible.

// FREEBIE
9 years ago
lilia 925c1bdb33 Add SyncRequest class
Similar in function to an xhr request, a textsecure.SyncRequest object
is initialized from a message sender and receiver pair and initiates a
request for sync from the master device. It later fires a success event
when both contacts and groups are done syncing, or a timeout event after
one minute.

// FREEBIE
9 years ago
Karel Bilek d8381cfc47 Dispatch an event after processing a group sync
Related #521
9 years ago
lilia 6a268f0325 Migrate registration state
Follow up to 5223e6e for existing installations that never set this flag.

// FREEBIE
9 years ago
lilia cdd139b44c Refresh group contacts when rendering member list
Fix #581

// FREEBIE
9 years ago
lilia b2bed9c51c Fix display of empty group updates
Group updates in which nothing change should still display 'Updated the
group'. Previously they would display as empty message bubbles. Fixed by
ensuring that the 'group_update' attribute is set on the model, even if
it is an empty object.

// FREEBIE
9 years ago
lilia 5223e6ed30 Stop ask to re-link forever
Clear the registration flag when we detect that our credentials have
been invalidated, but retain the knowledge that we've been registered
before, so as to preserve post-first-install behaviors like skipping the
introductory install screens, and accessing the main ui.

Fix #541

// FREEBIE
9 years ago
lilia 96520e9fd4 Move envelope decode before ack
We should not ack envelope protobufs that fail to decode correctly. If
the server happens to send us such a thing it probably indicates a
protocol mismatch between it and the client, in which case the client
needs to update and re-receive the failed message.

// FREEBIE
9 years ago
lilia 44824df6cb Refactor for clarity
// FREEBIE
9 years ago
Matt Corallo dac084b604 Send message ACKs immediately after recv, instead of after process 9 years ago
Felix Epp a65166ae3b Fix #583 from/to label translatable
I just added i18n calls and the corresponding keys for en + de.
9 years ago
lilia ceaf94e05b Rename variable for consistency
// FREEBIE
9 years ago