Commit Graph

17 Commits

Author SHA1 Message Date
Michael Kirk
8fed13f9bb Don't start expiration timer until message is sent.
Started extracting a MessageSender class from TSMessagesManager+send for
easier testability and in hopes of further slimming down that son of a
gun.

// FREEBIE
2016-10-11 09:24:40 -04:00
Michael Kirk
0b4d81002f Fix attachment deleting for outgoing messages
Broken in the disappearing messages beta due to sloppy refactoring. =(

// FREEBIE
2016-10-11 09:24:40 -04:00
Michael Kirk
40cdc7f224 disappearing messages
* Support for disappearing messages
* update inbox thread preview when receiving message

// FREEBIE
2016-10-11 09:24:40 -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
2dba7d141a Fix contact/group sync messages. (#32)
Initially we don't have device messages for our remote device. We need to send the empty device list to get the updated list of remote devices.

Introduced lots of dependency injection to make MessagesManager more testable.

// FREEBIE
2016-09-23 16:55:56 -04:00
Michael Kirk
c8a5f50763 Fixup DevicesManager
* By providing a view extension for secondary devices we can use that in
  a view mapping to power our devices view controller, and avoid any race
  conditions with uncommitted transactions.

* Fix crash when you're not in your own contacts

* New device appears on top

* Don't show "edit" button unless there are devices, or rather, the helpers to do so.

* Fix glitchy refresh

  Saving unchanged records was causing the tableview to redraw, which was
  mostly invisible, except that if the refresh indicator were running, it
  would twitch.

// FREEBIE
2016-09-09 15:11:40 -04:00
Michael Kirk
fb9f0f9a4d Some nullability annotations
- prefer empty list (null object pattern!) for attachments vs nil
- stop passing nil args to init

// FREEBIE
2016-09-02 19:45:02 -04:00
Michael Kirk
9093be2b0d Device provisioning
// FREEBIE
2016-09-02 12:28:58 -04:00
Michael Kirk
28281ccfdd Delete lingering group avatar attachments
The images for group avatars are stored directly in the datbase, which
is fine since they are small. But then there's no reason to have them
lingering on the filesystem.

Also removed the unused group associatedAttachmentId property.

// FREEBIE
2016-07-31 08:49:01 -07:00
Michael Kirk
e61c818738 Clarify message.attachments -> attachmentIds
What we *previously* refered to as attachments are actually just the
attachment's id (NSString). This has tripped me up a few too many
times.

Also, use generics with attachment id's array.

// FREEBIE
2016-07-31 08:49:01 -07:00
Michael Kirk
0f9a3334c1 Ensure interactions removed when thread is deleted
In theory, this should have already been handled by the
YapDatabaseRelationship extension via edges.

However, in practice, there were situations (cause unknown) where
interactions would exist without an edge to their corresponding thread.

Rather than being clever with the edge/callback machinery, now threads
explicitly delete all their interactions, and interactions delete all
their attachments (when applicable).

Also, a class to clean up spurious interactions / attachments

In the process:
- refactored TSYapDatabaseObject init to specify designated initializer
- added some testing niceties to TSYapDatabaseObject

// FREEBIE
2016-07-31 08:49:01 -07: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
f537b6f192 Fix (and test) description for corrupted attachments (#16)
// FREEBIE
2016-07-07 16:05:58 -07:00
Michael Kirk
80671b247f Extract phone formatting method (#14)
* refactor and backfill tests for phone number parsing
* bump version to 0.0.5
2016-06-28 10:22:36 -07:00
Michael Kirk
9ab38efe9e There is no longer a distinction between redphone/text secure users. (#12)
We only support voice+text clients 

* remove voice parameter since we always support voice
* test TSAttributes

Plus re-styled touched code:
* don't access ivars outside of init/dealloc
* remove unused code


// FREEBIE
2016-06-27 19:48:37 -07:00
Michael Kirk
3024225655 Get tests + ci running 2016-04-23 20:08:51 -07:00
Frederic Jacobs
5d91a5bd4f Init Commit 2015-12-22 15:51:11 +01:00