Signal-iOS/Signal
George Nachman 36119e4367 Introduce Refinery to help batch DB queries.
This PR is the first in a series that will
optimize looking up full names of group members.

The biggest source of slowness when opening a
group chat is looking up the full names of group
members in the search for duplicates. It is slow
because it requires multiple db queries for each
member.

The characterstic feature of this algorithm is the
iterative process of assigning names to signal
addresses. For example, some contacts' names may
be cached. For others, their profiles must be
fetched. For those without profiles, their phone
numbers must be formatted (which requires fetching
SignalAccounts). For those without phone numbers,
their user names must be formatted.

This PR creates a class called Refinery. Its job
is to make it easy to assign values to keys
through multiple passes, where each pass may
succeed only for a subset of keys.

This is useful because we will eventually issue a
single DB query for some of these passes.
2022-03-04 10:44:07 -08:00
..
AudioFiles Don't use CallKit for video calls received while the app is active 2020-08-17 15:41:10 -07:00
Fonts Restructure AvatarBuilder to support new avatar styles 2021-07-15 20:04:22 -07:00
Images.xcassets Improvements to user flow in in-app camera controllers. 2022-03-02 17:56:40 -08:00
Lottie Adjust megaphone priority and remove old megaphones 2022-01-24 10:42:34 -08:00
NSE-Images.xcassets Cache built avatars to disk for NSE 2022-02-14 11:59:13 -08:00
Settings.bundle Import SignalMetadataKit wholesale into SignalServiceKit 2022-01-26 09:50:55 -08:00
Sounds Autoplay subsequent audio messages 2021-04-29 18:01:21 -07:00
src Swap hands 2022-03-03 17:11:23 -08:00
test Introduce Refinery to help batch DB queries. 2022-03-04 10:44:07 -08:00
translations Sync translations 2022-03-03 15:04:13 -08:00
.swiftlint.yml
iTunesArtwork@3x.png
main.m Call UIApplicationMain() outside of autoreleasepool 2021-04-08 13:35:17 -07:00
Signal-AppStore.entitlements iOS 15 communication notification support for messages 2021-08-17 10:48:39 -10:00
Signal-Info.plist "Bump build to 5.32.0.2." (nightly-03-04-2022) 2022-03-04 04:00:10 -08:00
Signal-Prefix.pch Label the "slow write transactions" logging with the source of the transaction. 2020-06-07 10:37:55 -03:00
Signal.entitlements iOS 15 communication notification support for messages 2021-08-17 10:48:39 -10:00
SignalTSan.supp
SignalUBSan.supp