This disgusting hack removes GRDB's notification center observers, which prevents it from calling `DatabasePool.releaseMemory()`. `releaseMemory` is harmful because it places all future reads behind a dispatch barrier. The effect is that even very short reads block on any db reads that precede the barrier. Some of those can be very slow, such as orphan message handling. The practical effect of this barrier is that the main thread gets stuck on what should be a very quick operation, such as loading your own avatar data. iOS can kill the app with 8badf00d. This change is a temporary workaround. A proper solution has been added to a PR that I sent to GRDB, which you can see here: https://github.com/groue/GRDB.swift/pull/1253 Once that is accepted upstream we should update GRDB and revert this commit. This change should fix IOS-2474 and doubtless many other issues. |
||
|---|---|---|
| .. | ||
| 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'