Pre-keys are refreshed at regular (throttled) intervals, but the "refresh" operation will only actually upload new pre-keys if the server says we're running low. In addition, after the "refresh", there's a "rotation" operation for the signed pre-key if the current one is more than two days old. This only runs if the refresh was skipped, since uploading new one-time pre-keys is already an opportunity to rotate the signed pre-key (and it's worth doing so, since pre-keys running low can indicate high traffic). None of this has changed. However, we can now do this for both ACI and PNI pre-keys. This reworked +[TSPreKeyManager checkPreKeysWithShouldThrottle:] quite a bit to declare the proper operation dependencies, which isn't *strictly* necessary because the queue they're executed on is already limited to a maxConcurrentOperationCount of 1. We could remove that at this point with proper use of "barrier" operations, but since all the operations are hitting the server and account updates have to be serialized on *that* end, there doesn't seem to be much of a benefit. |
||
|---|---|---|
| .. | ||
| protobuf | ||
| Resources | ||
| src | ||
| tests | ||
| Utilities | ||
| .clang-format | ||
| .gitignore | ||
| .travis.yml | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
SignalServiceKit
SignalServiceKit is an Objective-C library for communicating with the Signal messaging service for iOS & OS X
To use SignalServiceKit via CocoaPods add the following to your Podfile
pod 'SignalServiceKit', git: 'https://github.com/signalapp/Signal-iOS.git'