Signal-iOS/SignalServiceKit
George Nachman d9947bdd33 Fix diffing profiles.
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.
2022-02-02 09:45:30 -08:00
..
protobuf Ignore messages with StoryContext 2022-01-26 10:28:52 -08:00
Resources Add support for new certificate authority 2022-01-26 12:59:45 -06:00
src Fix diffing profiles. 2022-02-02 09:45:30 -08:00
tests Disable broken test 2022-02-01 10:23:40 -08:00
Utilities Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00
.clang-format
.gitignore
.travis.yml
CONTRIBUTING.md Update URL in documentation 2021-08-24 22:46:06 -05:00
LICENSE
README.md Convert to just using CocoaPods for dependencies 2020-01-02 12:03:57 -08:00

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'