Signal-iOS/SignalMessaging
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
..
attachments Add SignalUI framework target. 2021-10-19 09:39:53 -03:00
categories UI tweaks to context menus 2022-01-31 09:31:17 +01:00
contacts Introduce Refinery to help batch DB queries. 2022-03-04 10:44:07 -08:00
environment Additional avatar logging 2022-02-25 17:28:08 -08:00
groups Group updates: use an autoreleasepool for each group change processed 2022-02-10 10:35:29 -08:00
Notifications Always log when we present a user notification for an incoming message 2022-03-01 16:19:38 -08:00
Payments Cleanup old feature flags 2022-01-24 10:53:55 -08:00
profiles Introduce Refinery to help batch DB queries. 2022-03-04 10:44:07 -08:00
Storage Service Perform CDS requests against HSM backed service 2022-02-22 12:41:04 -08:00
Subscriptions removed checks testing for iOS12.0 or newer (#4030) 2022-02-25 17:39:12 +01:00
utils improve ContactsManagerCache performance (#4026) 2022-03-03 09:30:31 +01:00
Info.plist Shared framework between app and extension 2017-11-29 13:58:27 -08:00
SignalMessaging-Prefix.pch Respond to CR. 2021-10-21 09:21:33 -03:00
SignalMessaging.h Copy in AFNetworking's query string encoding implementation 2021-12-17 14:52:59 -08:00