Commit Graph

215 Commits (a54ed8b201c9fb3092aa8b9c8397cbc25f8b3e7d)

Author SHA1 Message Date
Matthew Chen a561bf5e22 Fix database conversion tests. 7 years ago
Matthew Chen 9085609087 Fix interaction initializers and tests. 7 years ago
Michael Kirk 00e5e1b0d6 Fixup some tests
// FREEBIE
7 years ago
Matthew Chen 4746948dfe Respond to CR. 7 years ago
Matthew Chen f10b549940 Clean up ahead of PR. 7 years ago
Matthew Chen 68ba8976c5 Clean up ahead of PR. 7 years ago
Matthew Chen 76b4deffe4 Respond to CR. 7 years ago
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 7 years ago
Matthew Chen 99aedca45f Strip out special casing for pre-iOS 9 users. 7 years ago
Matthew Chen 70ba1720d9 Filter unicode ordering letters. 7 years ago
Matthew Chen d648a258d1 Merge branch 'hotfix/2.19.7' 7 years ago
Matthew Chen abfd333a17 Address Indic script crash. 7 years ago
Michael Kirk 6f959ff292 CR: be more conservative about deriving key spec, clear old passphrase
after deriving key spec.

// FREEBIE
7 years ago
Michael Kirk d22fc664f2 more granular key access
// FREEBIE
7 years ago
Michael Kirk 426c9baa16 Key material changes
- For new installs, generate raw key-spec rather than derive it
- Adapt to separated concerns of the key derivation migration from the unencrypted header migration
- Reduce number of places where we delete/generate keying information
- Only store relevant keying material

// FREEBIE
7 years ago
Michael Kirk 938b9c85b8 Don't crash on clean install
Otherwise we'll error when retrieving non-existent password.

// FREEBIE
7 years ago
Michael Kirk 44bbaeef5a fixup test 7 years ago
Michael Kirk c4edb0b534 Fixup some tests
// FREEBIE
7 years ago
Matthew Chen 5cf89a0f3d Register all database views asynchronously. 7 years ago
Matthew Chen b3e6278a45 Clean up ahead of PR. 7 years ago
Matthew Chen 5d422e03d1 Add support for key specs. 7 years ago
Matthew Chen c5079ed3d7 Add support for key specs. 7 years ago
Matthew Chen 2773fcb5d9 Clean up ahead of PR. 7 years ago
Matthew Chen 149199138c Clean up ahead of PR. 7 years ago
Matthew Chen a05acd0174 Add protocol context to protocol kit. 7 years ago
Matthew Chen d0f1706a49 Modify YapDatabase to read converted database. 7 years ago
Michael Kirk acc97b197b Properly force checkpoint at end of conversion
// FREEBIE
7 years ago
Matthew Chen eadb64b75a Elaborate test suite around database conversion. 7 years ago
Matthew Chen 45e44ca085 Modify YapDatabase to read converted database, part 3. 7 years ago
Matthew Chen 173da64bc4 Modify YapDatabase to read converted database, part 1. 7 years ago
Matthew Chen 3b681aba36 Successfully convert database. 7 years ago
Matthew Chen cc15092eb7 Resolve issues around database conversion. 7 years ago
Michael Kirk 11a709a621 WIP: set plaintext header length
Fix test to try to convert test db, previously it was using the
non-existent TSStorage database.

// FREEBIE
7 years ago
Michael Kirk 71dc7f55d3 Copy DB setup / keying from Yap into conversion
// FREEBIE
7 years ago
Michael Kirk 05035e40a6 Fixup tests
// FREEBIE
7 years ago
Matthew Chen 1bff0f2b0e Incomplete commit starting work on loading databases for conversion. 7 years ago
Matthew Chen 5ba5b763e4 Add tests around database conversion. 7 years ago
Matthew Chen 9258b0883e Clean up TSStorageManager usage. 8 years ago
Matthew Chen f7bcf1d04d Fix tests. 8 years ago
Matthew Chen 99f0b9d3e8 Fix issues around statics. 8 years ago
Matthew Chen 53f51bcd0b Clean up ahead of PR. 8 years ago
Matthew Chen 69e0bcd308 Fix tests. 8 years ago
Matthew Chen 9e44a73068 Fix tests vs. SAE. 8 years ago
Matthew Chen e7bd33df45 Fix tests broken by SAE. 8 years ago
Matthew Chen 9da165b846 Continue conversion of app setup. 8 years ago
Matthew Chen ce899edf10 Respond to CR. 8 years ago
Michael Kirk 71bafcc8f0 Search SignalAccounts by profile name
...and fixup some tests
8 years ago
Matthew Chen ddf4bf28cc Load attachments for conversation view items using long-lived db connection. 8 years ago
Matthew Chen 0a926567ed Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9cc4521d07 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c8c09ec19c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7e585b72aa Fix tests broken by the JSQ rewrite.
// FREEBIE
8 years ago
Matthew Chen 3927815a35 Fix tests broken by the JSQ rewrite.
// FREEBIE
8 years ago
Michael Kirk 0f859d6b20 Merge branch 'release/2.18.0' 8 years ago
Michael Kirk 3080cb512b Compose View: collation index and group search
- Include table index for contacts
- Fix extra spacing in OWS table view
- Separate search results into contact/invite sections
- Include groups in search results when composing new message
- Compose Screen search matches on group member names

// FREEBIE
8 years ago
Matthew Chen fb408f980c Remove JSQ.
// FREEBIE
8 years ago
Matthew Chen 183f0f1ccd Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 80e5f281c6 Rename app preferences class.
// FREEBIE
8 years ago
Michael Kirk f6720f9afa properly clear all cached avatar images
// FREEBIE
8 years ago
Michael Kirk d6d403ce69 fix some tests
// FREEBIE
8 years ago
Matthew Chen 6ec756de44 Move profile manager to Signal.
// FREEBIE
8 years ago
Michael Kirk 2067697ed4 Add comment and clearer tests per CR
// FREEBIE
8 years ago
Michael Kirk 4f1ee98489 scrub any data that slips through to logs
Similar to phone number scrubbing, we leave a short prefix of the data
to help with debugging without leaking much data.

// FREEBIE
8 years ago
Matthew Chen 1e67bb52e3 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2202fe70fe Fix broken tests.
// FREEBIE
8 years ago
Matthew Chen f584c4b434 Fix broken tests.
// FREEBIE
8 years ago
Matthew Chen 0b28285deb Fix broken tests.
// FREEBIE
8 years ago
Michael Kirk d15da6e6d4 fix bubble calculator tests
// FREEBIE
8 years ago
Michael Kirk 82180f6a97 fix compilation problems
// FREEBIE
8 years ago
Matthew Chen 2bec1db541 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d42588b957 Improve appearance of generic attachments and the attachment approval dialog.
// FREEBIE
8 years ago
Matthew Chen d12a582ee3 Rename source directories with a space in their name.
// FREEBIE
8 years ago
Michael Kirk 0b49037179 Remove some more RP related code
// FREEBIE
8 years ago
Matthew Chen 9db33a9651 Remove RedPhone code.
// FREEBIE
8 years ago
Michael Kirk 4b52a90c8e Fix test
//FREEBIE
8 years ago
Michael Kirk 6466e9f41f [SSK] Better logging for envelopes
Leave last 3 digits of recipientId when scrubbing logs.

This is in line with other Signal clients, and makes it possible to
trace interactions.

// FREEBIE
8 years ago
Michael Kirk 6036e20079 Filter high diacritical text, regardless of length
// FREEBIE
8 years ago
Michael Kirk da32570dc6 [SSK] remove convoluted dependency
Moved query method to PhoneNumberUtil since that's they only caller.
Moved corresponding tests to SSK

// FREEBIE
8 years ago
Matthew Chen a264d9aa9b Responding to CR.
// FREEBIE
8 years ago
Matthew Chen a226a4a1b3 Respond to CR.
// FREEBIE
8 years ago
Michael Kirk 3e651fb8df filter undisplayable text
// FREEBIE
8 years ago
Michael Kirk f37b8bac0f Fix test to use updated PeerConnectionClient API
// FREEBIE
8 years ago
Matthew Chen f4453eb995 Enable WebRTC-based audio and video calls by default.
// FREEBIE
8 years ago
Matthew Chen 3c3f782e7d Clean up prekey usage.
// FREEBIE
8 years ago
Matthew Chen 97001018ae Clean up prekey logic.
// FREEBIE
8 years ago
Matthew Chen ca76ec6f36 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d9bcd563b1 Avoid possible deadlock in PeerConnectionClient.
// FREEBIE
8 years ago
Matthew Chen b415b6142f Respond to CR, mainly by fixing broken tests.
// FREEBIE
8 years ago
Michael Kirk dbb29d7d7e Don't require recording permissions until call is ringing.
We do this by manually managing the RTCAudioSession.
Unfortunately to do this we have to include a couple of RTC headers not
exported by the default build of WebRTC.framework (see: Libraries/WebRTC)

// FREEBIE
8 years ago
Michael Kirk ca218ebb64 update call signatures for test fakes
// FREEBIE
8 years ago
Michael Kirk 32789bd960 Move RTCDataChannelDelegate to PeerConnectionClient
- minimizes CallService exposure to WebRTC

// FREEBIE
8 years ago
Michael Kirk 8998853aff Move RTCPeerConnectionDelegate to PeerConnectionClient
This makes sense as PeerConnectionClient is our interface to WebRTC

- Makes it easier to test PeerConnectionClient and CallService
- Allows us to shrink CallService class a bit (it's huge)

// FREEBIE
8 years ago
Daniel Rosado 76d01863db [Invite Flow] Use email address to collate contacts when no given or family name is provided
* Add tests to ContactsPicker collate contacts functionality
9 years ago
Michael Kirk 7bcf5190b4 Address some lingering emoji cropping
This is an expedient, but not good, "fix". Some messages are going to
have extra space at the bottom of the bubble. But, for the time being,
that's preferable to getting messages clipped.

// FREEBIE
9 years ago
Michael Kirk ddf0890408 Fix crash on nil message
// FREEBIE
9 years ago
Michael Kirk bd370f1de4 Fix cropped Chinese/Japanese messages
The earlier fix for the broken ios10 emoji font ended up breaking
messages for some users with a tall font.

Here we have a lighter touch - ensuring we don't touch messages that
don't use emoji.

Also, introduce a different approach to the fix, rather than trying to
compute the bounding rect of an appropriately attributed string, just
add an extra bit of height per line.

This approach isn't ideal for long messages with only one emoji line in
them, but the previous approach was incompatible with Chinese messages
that also contain emoji. See the new
`MesssagesBubblesSizeCalculatorTest.swift` for test cases considered.

// FREEBIE
9 years ago
Michael Kirk 1dd06a5e6c Fix registration flow / Keep push tokens in sync
* Separate registering an account from registering for push notifications
  * Allows us to complete registration without prompting user for
    notification settings.

UX Changes
----------
* Automatically keep push tokens in sync on startup.
  Push tokens *can* change, though they rarely do. It happens more often
  for people switching between appstore/beta builds.

  fixes #1174

* Show alert with registration failure
  * add secret 8-tap debug log gesture to registration flow

* Move registration to separate flow
  * don't see flash of inbox when first launching

* show useful error messages when given wrong code / no code

* remove background fetch
  We werent using it, but only relying on a side effect of it which is
  no longer necessary.

Code Changes
------------

* More registration logging.

* Install PromiseKit with carthage

  Our dependencies are not yet framework compatible, so we can't use
  cocoapods.

* Merge preferences util "category" into superclass.

  The immediate reason for this is Swift interop was assuming optional
  types were not optional, and exploding when a value was nil.

  This is clearer anyway, since we were treating it like a subclass, and
  it was the only thing using the class anyway.

* auto-genstrings now searches *.swift (and *.h, which was previously
  broken) for translateable strings.

// FREEBIE
9 years ago
Michael Kirk 33f6a95520 Explain send failures for text and media messages
fixes #1231

Motivation
----------
Previously when messages failed to send, there was no reason given.
Furthermore, when media messages failed to send there was no indication
that any attempt to send the message even occurred, nor a retry
dialog.

UX Changes
----------
- Show "uploading" status for media
- Show specific error message in retry-send dialog
- Only scroll to bottom when new message is inserted
- Show specific errors when group creation fails

Code Changes
-----------
- Updated incorrect references to TSMessageAdapters which were actually
  references to OWSMessageData
- MessageSender was extracted from SSK MessagesManager
- access MessagesManager as property
- idiomatic init/properties for Env
- log contact intersections
- Move scroll-to-bottom animation to main thread.

// FREEBIE
9 years ago
Michael Kirk 2ab6955967 More logging, scrub phone numbers from file logs (#1357)
Phone number are still logged in TTY for development.

// FREEBIE
9 years ago
Michael Kirk 84156698c4 Provision device from QRCode.
NEEDS DESIGN - will likely have an intermediate "device manager" screen.

* extracted QRCode Scanner into re-usable ViewController

// FREEBIE
9 years ago