Commit graph

679 commits

Author SHA1 Message Date
Michael Kirk 3e7e67e276 Async migrations framework
* nonblocking by default
* track success of each migration independently

// FREEBIE
2016-09-28 17:09:11 -04:00
Michael Kirk 3b687da0ec Upgrade SSK to setup db async where possible
fixes #1358

// FREEBIE
2016-09-28 17:09:11 -04:00
Michael Kirk 2ab6955967 More logging, scrub phone numbers from file logs (#1357)
Phone number are still logged in TTY for development.

// FREEBIE
2016-09-27 21:20:58 -04:00
Michael Kirk 1433ee2655 Fix crash on boot =/ (#1349)
I botched a migration 6 months ago, which left some lingering TSRecipients serialized in our data store, laying in wait to explode the next time we enumerate every object in the database (e.g. when we add an index).

The bloom filter migration failed to remove TSRecipients in the somewhat rare event that the local user had no downloaded bloom filters. This could happen e.g. if they were low on disk space at the time of running the migration, I believe the app would remove the bloom filter cache.

// FREEBIE
2016-09-26 21:57:34 -04:00
Michael Kirk 14570cb6cf bumping minor version
since 2.5.0.19 was approved for release we have to bump the minor
version to upload the build.

// FREEBIE
2016-09-23 18:29:37 -04:00
Michael Kirk 0c4f1d41b6 Fix contact sync in SSK (#1345)
* bump version
* update translations

// FREEBIE
2016-09-23 17:32:03 -04:00
Michael Kirk 891acb163b Bump version
// FREEBIE
2016-09-21 13:23:44 -04:00
Michael Kirk be0556f68a fix "last active" date
// FREEBIE
2016-09-21 12:53:17 -04:00
Michael Kirk 5372173c4a Fix groups breaking without avatar (#1336)
- Group updates were appearing as "unsupported attachment"
- Couldn't message in a new group unless it had attachment.

// FREEBIE
2016-09-20 19:16:05 -04:00
Michael Kirk 720b167b3b Fix multiple keychange errors (#1334)
* Don't attempt to send a message unless we've successfully built device-messages
* Only process message exception when we're done with retries.

// FREEBIE
2016-09-19 22:47:47 -04:00
Michael Kirk ed06555567 Merge branch 'release/2.5.0' into release/2.5.0-with-master
// FREEBIE
2016-09-17 16:06:33 -04:00
Michael Kirk 197933817c Fix height of network status on iphone5.
Abandon dynamic type since other (standard) table cells don't use it.

// FREEBIE
2016-09-17 13:51:34 -04:00
Michael Kirk 63513bed12 Apple now requires camera permission explanation
Even though it's pretty obvious why we need your camera when you push a
"take photo" button...

Unfortunately this warning will be confusing if someone's first exposure
to it is to scan an identity code, but that seems like an edge case not
worth pegging an extra sentence of copy to an already unnecessary
warning.

Also, we're enabling push notifications for dev, per apple build
submission feedback.

// FREEBIE
2016-09-17 13:51:34 -04:00
Michael Kirk f753cfeed4 Fix XCode8 code signing
// FREEBIE
2016-09-17 13:51:34 -04:00
Michael Kirk 7c6e9e07b8 Read receipts remove lockscreen notifications
No need to have a notification for a message you've already read on
desktop.

// FREEBIE
2016-09-17 13:51:33 -04:00
Ronny b59a0e47d7 Disable group header interaction (#1328)
prevent clickability of the group header cell in the group members view
2016-09-17 12:44:46 -04:00
nixnuex 50cd4f54fc verification code field: improved user experience (#1325) 2016-09-17 12:36:17 -04:00
Michael Kirk f7198d5eaa Don't crash when receiving read receipts after message
// FREEBIE
2016-09-14 13:26:55 -04:00
Michael Kirk d8be0b5d22 New translations
// FREEBIE
2016-09-14 13:26:55 -04:00
Michael Kirk 0a64022748 Must specify team for XCode 8 build
// FREEBIE
2016-09-12 16:47:33 -04:00
Michael Kirk 90dab190f3 Update SSK to send useragent upon provisioning
We do this to coordinate a theme choice on the desktop

// FREEBIE
2016-09-12 14:44:27 -04:00
Michael Kirk c7ee430790 Support for receiving voice messages from android (aac) (#1321)
We already support receiving them from Desktop (mp3)

Plus some Xcode 8 turds in the image assets.

// FREEBIE
2016-09-12 10:09:30 -04:00
Michael Kirk a03e1e717f Merge pull request #1320 from WhisperSystems/dt
Multi Device (Desktop) Integration #250 

// FREEBIE
2016-09-10 18:42:28 -04:00
Michael Kirk 5200cccbe3 Update translations
* New bg (Bulgarian) localization!
* New sq (Albanian) localization!
* replace unfinished bg_BG localization with complete bg localization
* caps keys to make it easier to see missing localizations
* pull with newly pushed source keys

// FREEBIE
2016-09-09 15:17:15 -04:00
Michael Kirk 6bd2453d7d Fix choppy paperclip icon on iphone6
Previously ios was generating the asset for us from our vector (pdf),
but apparently it does a crappy job. Most notably on small thin lines
like our paperclip.

// FREEBIE
2016-09-09 11:40:33 -04:00
Michael Kirk 33f63e76d1 Fix devices icon intermittently showing
Because it was not rendering correctly in all cases, we're foregoing the
templated image, and using a colored asset.

// FREEBIE
2016-09-09 11:40:32 -04:00
Michael Kirk a595cb9326 Desktop Integration Fixups
Work done in SSK
* remove sync data files after sync
* fix race condition with read receiptsA

Update YapDatabase

// FREEBIE
2016-09-08 17:32:28 -04:00
Michael Kirk 019310f284 Deselect table rows when swiping back in table views
// FREEBIE
2016-09-07 22:50:21 -04:00
Michael Kirk 7e67fb1939 Some style for the QR code scanner.
Also made identity key scanner appear faster. Previously we were
waiting for camera to initialize. Now we do this after the view has
loaded - with a black background, the affect is preferable than
lagging on the transition.

// FREEBIE
2016-09-07 22:43:19 -04:00
Michael Kirk f28400146f bump build
// FREEBIE
2016-09-07 17:51:54 -04:00
Michael Kirk 7c3a07960f Device manager fixes
* Avoid intermittent crash in device manager via YapDatabaseModified
* Properly align refresh text when expecting new device
* Avoid glitchy activityIndicator while polling
* Expose edit mode toggle

Much of the code changes here were in the corresponding SSK update.

// FREEBIE
2016-09-06 17:16:42 -04:00
Michael Kirk dee26e6e0a Use PNG constant
// FREEBIE
2016-09-06 15:57:44 -04:00
Michael Kirk 9006ff604f Multi device read receipts.
All the heavy lifting is in SignalServiceKit.

// FREEBIE
2016-09-06 15:57:44 -04:00
Michael Kirk 428f7fca19 Adapt to nullability annotations in SignalServiceKit
// FREEBIE
2016-09-06 15:57:44 -04:00
Michael Kirk 92290a5d4d Fix: Inbox count not updating while viewing archive
e.g. If I'm viewing the archive when a new message comes in

// FREEBIE
2016-09-06 15:57:44 -04:00
Michael Kirk ef6784ed95 Device Manager
* List linked devices
* Adding a new device
* Removing a device

TODO: design on the QRScanner

// FREEBIE
2016-09-06 15:57:44 -04:00
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
2016-09-02 12:40:21 -04:00
Michael Kirk 6545161192 thread is set during notification callback.
It should *not* be non-atomic

// FREEBIE
2016-08-23 14:24:48 -04:00
Michael Kirk eef2002224 Clean up settings (#1316)
* Remove unused (hidden) button from settings
* dynamic type for settings cells
* prefer property vs ivar access
* property attributes

// FREEBIE
2016-08-22 17:41:11 -04:00
Michael Kirk cc2d47fbd3 Update protocol (#1315)
* Update to latest SignalServiceProtocol
* Show SignalServiceKit compiler warnings

// FREEBIE

* Update to latest signal protocol

// FREEBIE
2016-08-22 16:54:31 -04:00
Michael Kirk e56d41edc7 Otherwise we'll never run future migrations. (#1314)
// FREEBIE
2016-08-21 14:15:50 -04:00
Michael Kirk bff6e5613a Avoid collision with iOS10 SSKeychain framework (#1308)
FIXES #1296

Our pod SSKeychain was renamed to -> SAMKeychain to avoid collision with
the iOS10 library SSKeychain.

* log failure to write keychain (this seems to only happen on simulator)
* ensure we exit if we fail to set DB cipher key

// FREEBIE
2016-08-18 14:12:23 -04:00
James Barclay f8a0be4c70 Return immutable data from generateSecureRandomData:length and use OSStatus to check the status of SecRandomCopyBytes. (#1306) 2016-08-17 16:09:57 -04:00
Michael Kirk b29174a374 Merge pull request #1305 from WhisperSystems/default-screen-security
Enable screen security by default / code cleanup
2016-08-15 10:40:10 -04:00
Michael Kirk 9a86ca76ce screen security is enabled by default
// FREEBIE
2016-08-15 10:07:14 -04:00
Michael Kirk 58548c68cc code cleanup
- refactor screen protection code for clarity
- remove unused settings cell class
- remove unused preferences

// FREEBIE
2016-08-15 10:07:14 -04:00
Michael Kirk 006c4ba958 Update dependencies. (#1304)
* SSK update adds emoji for incoming animated GIFs

// FREEBIE
2016-08-15 10:06:51 -04:00
Adam Stiles 52861a6ef5 Fix incorrect GIF message bubble sizing (#1300)
TSAnimatedAdapter is used when rendering GIFs. TSAnimatedAdapter
inherits from JSQMediaItem but does not provide a custom implementation
of the hash method. The default implementation of hash in JSQMediaItem
results in all messages of a given interaction type (incoming,
outgoing) sharing a cached bubble size. For this reason, JSQMediaItem
subclasses are required to implement hash (see
https://github.com/jessesquires/JSQMessagesViewController/issues/631).

This commit fixes issue #1275 by implementing hash in TSAnimatedAdapter
the same way TSPhotoAdapter does.
2016-08-15 09:39:46 -04:00
Michael Kirk 6120bd9e8e Orphan-data cleanup no longer causes timeout (#1303)
On older devices with lots of data, the orphan data cleaner can time
out. Here we're trading certainty that the migration completed for
confidence that the boot process doesn't time out.

// FREEBIE
2016-08-15 08:06:34 -04:00
Vitali Lovich 547cd9797a Improve audio waveform scrolling performance (#1292)
The object is already cached & the waveform view constructed when scrolling,
so there's no need to re-create the view.

This doesn't fix the problem with the wave-form generation on the first
view of the message.  That is a more critical problem in the underlying
SCWaveformView class which renders on the main thread instead of doing
it asynchronously.

FIXES #1258
2016-08-02 10:52:20 -06:00