Commit Graph

17 Commits

Author SHA1 Message Date
Michael Kirk
dfd0f8073d When failing to send to new identity, save it.
Remove creation of "old style" blocking SN alerts

// FREEBIE
2017-06-07 23:22:21 -04:00
Matthew Chen
702f7677c6 Sketch out OWSIdentityManager.
// FREEBIE
2017-06-06 14:12:50 -04:00
Matthew Chen
31e216519a Respond to CR.
* Add [TSInteraction compareForSorting].
* Add a separate database view for safety number changes.

// FREEBIE
2017-05-30 10:05:13 -04:00
Matthew Chen
7c5a11b221 Changes for unseen indicator.
* Create separate database views for “unseen” and “unread” messages.
* Add “unseen tracking” to info and error messages.
* Rationalize “timestamp” vs. “receipt timestamp”.
* Ensure microsecond precision for interaction sorting.
* Add OWSFail() macros.

// FREEBIE
2017-05-30 10:05:13 -04:00
Michael Kirk
f2f3acb897 IdentityKeyStore changes
1) Always accept keys from incoming messages

2) Block sending only if it's a recent change, or if always
   block is enabled

// FREEBIE
2017-05-24 18:01:48 -07:00
Michael Kirk
47b1c31b50 Contact Name in SN changed notifications
// FREEBIE
2017-05-19 11:44:05 -04:00
Matthew Chen
42e005a498 Avoid lost messages by acknowledges message receipt after the message is processed.
// FREEBIE
2017-04-17 16:05:59 -04:00
Michael Kirk
bb38fce54e Ensure that deleting sessions happens on session queue
// FREEBIE
2017-04-06 19:24:16 -04:00
Michael Kirk
b0343ee1d1 Only fetch PreKey once.
Previously we were retrying as if it might succeed, and running into
rate-limit errors.

Also, added a specific rate limit error message.

// FREEBIE
2016-11-10 09:59:07 -05:00
Michael Kirk
4ba1e86ec1 Explain send failures for text and media messages
Motivation
----------
We were often swallowing errors or yielding generic errors when it would
be better to provide specific errors.

We also didn't create an attachment when attachments failed to send,
making it impossible to show the user what was happening with an
in-progress or failed attachment.

Primary Changes
---------------
- Funnel all message sending through MessageSender, and remove message sending
  from MessagesManager.
  - Record most recent sending error so we can expose it in the UI
  - Can resend attachments.
  - Update message status for attachments, just like text messages
- Extracted UploadingService from MessagesManager
  - Saving attachment stream before uploading gives uniform API for send vs.
    resend
  - update status for downloading transcript attachments
- TSAttachments have a local id, separate from the server allocated id
  This allows us to save the attachment before the allocation request. Which is
  is good because:
  1. can show feedback to user faster.
  2. allows us to show an error when allocation fails.

Code Cleanup
------------
- Replaced a lot of global singleton access with injected dependencies to make
  for easier testing.
- Never save group meta messages. Rather than checking before (hopefully) every
  save, do it in the save method.
- Don't use callbacks for sync code.
- Handle errors on writing attachment data
- Fix old long broken tests that weren't even running. =(
- Removed dead code
- Use constants vs define
- Port flaky travis fixes from Signal-iOS

// FREEBIE
2016-10-24 09:36:51 -04:00
Michael Kirk
c1ade86a8b New fingerprint format
In coordination with Desktop and Android, iOS will be using all-numeric
fingerprints, aka "Safety Numbers".

Furthermore, the concept of verifying one identity and then the other
has been removed. Instead we ask users to exchange a single number, or
scan a single QR code. These credentials are built by combining the
users identities.

// FREEBIE
2016-10-11 09:24:40 -04:00
Michael Kirk
6ec21ade9b TSContactThread doesn't need to know protobufs
Just pass in the relay since that's the only thing we care about

// FREEBIE
2016-09-02 12:28:58 -04:00
Michael Kirk
1d0b645fc9 Update to new protocol (#23)
* new protobufs from libsignal-service-java@a1c93edc40e3ce201fa4e70339a3e6f4e197e319
* Makefile to build ObjC classes from *.proto
* refactored some touched code to minimize duplication
* removed unused protos
* deleted some dead code
* renamed method for clarity

// FREEBIE
2016-08-22 16:09:58 -04:00
Michael Kirk
2858694ee0 style changes // fix compiler warnings
- log errors
- forward declare where possible
- clang-format
- remove inaccurate file headers
- include Pods in Example app build target to get SignalServiceKit warnings
- Fix those warnings!

// FREEBIE
2016-07-31 08:48:46 -07:00
Michael Kirk
36cab4691c Accepting keychange only resends to single recipient (#18)
// FREEBIE
2016-07-19 08:32:09 -07:00
Michael Kirk
d66c8bd427 Avoid deadlock while accepting new key (#17)
Using description in log output crashes when the description is a media
message, since printing media description uses a transaction within our
existing transaction.

Instead we'll use a simpler debugDescription for simple text building,
like logging.

// FREEBIE
2016-07-18 16:00:59 -07:00
Frederic Jacobs
5d91a5bd4f Init Commit 2015-12-22 15:51:11 +01:00