When profile updates are applied, we diff them to avoid redundant saves and the resulting work (like reloading all cells of the conversation). The diff often failed spuriously because OWSUserProfileBadgeInfo did not implement `isEqual:` and instead relied on `NSObject`'s default implementation using pointer equality. This commit makes two changes: 1. Implement `-[OWSUserProfileBadgeInfo isEqual:]` 2. Force the ProfileBadge to be loaded prior to comparing snapshots so the comparison will be correct. This significantly reduces the number of database calls when opening a large chat. It may possibly increase the amount of DB work needed for smaller groups by loading the profile badge earlier. |
||
|---|---|---|
| .. | ||
| 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'