Commit Graph

47 Commits (1502b0ae3ed0664ebbf68c2204e3dfbaa0bfdff5)

Author SHA1 Message Date
Greyson Parrelli 19d5ba5c0e Upload attachments in a separate job. 6 years ago
Greyson Parrelli a498176043 Switch logs to use new Log class. 7 years ago
Greyson Parrelli 0d386d3c14 Fix progress bar showing for self-sends.
For self-sends, we were never marking attachments as uploaded. I made is
so that happens now, but to prevent it for showing for already-sent
messages, we also don't show controls for self-send conversations.
7 years ago
Greyson Parrelli 42f1baaf61 Imported JobManager as a source dependency.
We have to make some changes, and it's gotten to the point where
maintaining it as a separate library is more hassle than it's worth,
especially with Google releasing WorkManager as the preferred job
scheduling library.
7 years ago
Moxie Marlinspike f36b296e2e Migrate from SQLite and ciphertext blobs to SQLCipher + KeyStore 7 years ago
Moxie Marlinspike f17af19d09 Access all RecipientDatabase settings directly from Recipient
// FREEBIE
8 years ago
Moxie Marlinspike d1790dfe17 Rename RecipientPreferences -> RecipientSettings
// FREEBIE
8 years ago
Moxie Marlinspike 8e6ca53023 Rename RecipientPreferencesDatabase -> RecipientDatabase
// FREEBIE
8 years ago
Moxie Marlinspike 5a5e47f2df Move "directory" information into RecipientPreferencesDatabase
// FREEBIE
8 years ago
Moxie Marlinspike 375207f073 Switch MMS groups to use the group database infrastructure
Eliminate the concept of 'Recipients' (plural). There is now just
a 'Recipient', which contains an Address that is either an individual
or a group ID.

MMS groups now exist as part of the group database, just like push
groups.

// FREEBIE
8 years ago
Moxie Marlinspike 737810475e Remove the Canonical Address Database
This was a holdover from Signal's origins as a pure SMS app.
It causes problems, depends on undefined device specific behavior,
and should no longer be necessary now that we have all the
information we need to E164 all numbers.

// FREEBIE
8 years ago
Moxie Marlinspike 51d6144591 Significant MMS changes
1) Remove all our PDU code and switch to the PDU code from the
   klinker library

2) Switch to using the system Lollipop MMS library by default,
   and falling back to our own custom library if that fails.

3) Format SMIL differently, using code from klinker instead of
   what we've pieced together.

4) Pull per-carrier MMS media constraints from the XML config
   files in the klinker library, instead of hardcoding it at 280kb.

Hopefully this is an improvement, but given that MMS is involved,
it will probably make things worse instead.
8 years ago
Moxie Marlinspike cb670d6783 Improve UI send latency
// FREEBIE
8 years ago
Moxie Marlinspike cdf3a849e9 Reduce DB updates on send path, move support SDK up to 24
// FREEBIE
8 years ago
Moxie Marlinspike 541718fd11 Support for censorship circumvention in Egypt and UAE
// FREEBIE
9 years ago
Moxie Marlinspike d7e4928f22 Support for disappearing messages
// FREEBIE
9 years ago
Moxie Marlinspike 7b589c4300 TextSecure is now SignalService
// FREEBIE
9 years ago
haffenloher 72064d8827 Exclude the user's own number from notifyNewUsers
Closes #5229
// FREEBIE
9 years ago
Moxie Marlinspike 6da86e482d Support for dual-sim SMS/MMS functionality
Allow source selection for sending SMS/MMS, and display the
SIM that received SMS/MMS.

Fixes #555
Closes #5199
// FREEBIE
9 years ago
Moxie Marlinspike 09e52834a6 Refactor "parts" to contain MMS/PDU madness to MMS code paths.
Closes #4248
// FREEBIE
10 years ago
Moxie Marlinspike 31e20ca87e Distinguish between secure and insecure call in conversation menu.
// FREEBIE
10 years ago
Moxie Marlinspike 8d9ae731ef Only use MasterSecret for local message encryption.
Not for the axolotl store.

// FREEBIE
10 years ago
Moxie Marlinspike 2cfc714b64 Support for receiving incoming sync messages.
Closes #3188
// FREEBIE
10 years ago
Moxie Marlinspike 004f050741 libtextsecure javadoc and minor API refactoring
// FREEBIE
10 years ago
Moxie Marlinspike 00d7b5c284 Better UX handling on identity key mismatches.
1) Migrate from GSON to Jackson everywhere.

2) Add support for storing identity key conflicts on message rows.

3) Add limited support for surfacing identity key conflicts in UI.
10 years ago
Moxie Marlinspike baaa3514d4 Fix delivery receipts in group messages.
Fixes #2056
Fixes #2067
Fixes #2087
11 years ago
Moxie Marlinspike fb31319e52 Put everything under either internal or api. 11 years ago
Moxie Marlinspike 08ed90c5ec Split out Util functions. 11 years ago
Moxie Marlinspike 28cb1ed85b Move DirectoryUtil up to parent. 11 years ago
Moxie Marlinspike 601e233d47 Add account management interface to libtextsecure api 11 years ago
Moxie Marlinspike cafe03a70a Transition the outbound pipeline to JobManager jobs. 11 years ago
Moxie Marlinspike a3f1d9cdfd Beginning of libtextsecure refactor.
1) Break out appropriate components.

2) Switch the incoming pipeline from SendReceiveService to
   the JobManager.
11 years ago
Moxie Marlinspike 9768de2d5e Short circuit self-send.
// FREEBIE
11 years ago
Moxie Marlinspike 68747142d6 Add correct contextual menu options on 'Send' button.
[Send TextSecure message | Send unencrypted SMS | Send encrypted SMS]

// FREEBIE
11 years ago
Moxie Marlinspike 9614dc9055 Refactor group database model and flow.
1) Use existing DB types instead of adding new columns.

2) Store group attributes in message body, like everything else.
11 years ago
Moxie Marlinspike b9f4fba98a Handle identity key mismatch on outgoing group messages.
Additionally, make the group creation process asynchronous.
11 years ago
Moxie Marlinspike 49daa45dca wip 11 years ago
Moxie Marlinspike dadabdfaa8 Make UI responsive to UniversalTransport upgrades. 11 years ago
Moxie Marlinspike b8f663b69c Move common crypto classes into TextSecureLibrary.
1) Move all the crypto classes from securesms.crypto.

2) Move all the crypto storage from securesms.database.keys

3) Replace the old imported BC code with spongycastle.
11 years ago
Ruben Pollan 04eafd5fab Allow to resend a failed message
Add an option to the context menu of the message to resend it if it has
failed.
12 years ago
Moxie Marlinspike c86e414c5f Include (somehow missed) support for send/receive encrypted MMS. 12 years ago
Moxie Marlinspike dd0aecc811 First cut at group messaging refactor. 12 years ago
Moxie Marlinspike 83e260436b Major storage layer refactoring to set the stage for clean GCM.
1) We now try to hand out cursors at a minimum.  There has always been
   a fairly clean insertion layer that handles encrypting message bodies,
   but the process of decrypting message bodies has always been less than
   ideal.  Here we introduce a "Reader" interface that will decrypt message
   bodies when appropriate and return objects that encapsulate record state.

   No more MessageDisplayHelper.  The MmsSmsDatabase interface is also more
   sane.

2) We finally rid ourselves of the technical debt associated with TextSecure's
   initial usage of the default SMS DB.  In that world, we weren't able to use
   anything other than the default "Inbox, Outbox, Sent" types to describe a
   message, and had to overload the message content itself with a set of
   local "prefixes" to describe what it was (encrypted, asymetric encrypted,
   remote encrypted, a key exchange, procssed key exchange), and so on.

   This includes a major schema update that transforms the "type" field into
   a bitmask that describes everything that used to be encoded in a prefix,
   and prefixes have been completely eliminated from the system.

   No more Prefix.java

3) Refactoring of the MultipartMessageHandler code.  It's less of a mess, and
   hopefully more clear as to what's going on.

The next step is to remove what we can from SmsTransportDetails and genericize
that interface for a GCM equivalent.
12 years ago
Moxie Marlinspike 5df88cc0a7 Scrub recipients for MMS messages so they'll be valid PLMN. 12 years ago
Moxie Marlinspike 187ec95817 Add collating support for group SMS/MMS messages.
1) When sending an SMS or MMS to multiple recipients, only show one
ConversationItem, but provide statistics on the number of recipients
delivered to.

2) Still break up the messages for secure and insecure messages.
13 years ago
Moxie Marlinspike c13a3a8181 Fix "Group Threads" so that messages are encrypted when possible.
1) Change the MessageSender logic so that individual SMS messages
are encrypted whenever there is a secure session, unless the UI
explicitly specifies otherwise.

2) Change the MMS logic so that messages to a recipient with a
secure session are all sent individually, instead of including
those recipients into the batch plaintext message.
13 years ago
Moxie Marlinspike bbea3fe1b1 Initial Project Import 14 years ago