block manager synchronizes on self for coherent read/writes to blocking state
across threads, but we want to be able to have performant reads on the main
thread.
-[ ] UI
-[ ] Conversation Settings
-[x] Show switch for group
-[ ] localize
-[ ] migrate existing localizations? (nice to have)
-[ ] can view conversation settings (but not edit them) in left group
-[ ] special block copy for groups
-[ ] special unblock copy for groups
-[ ] ConversationViewHelper
-[x] Track blocked groups
-[ ] HomeView
-[ ] ConversationView
-[ ] Any others?
-[ ] Rename? Extract BlockList cache?
-[ ] Block List
-[ ] Group Section
-[ ] Unblock group
-[ ] Interstitial interacting with blocked threads (e.g. thread picker)
-[ ] BlockListUIUtils w/ thread
-[x] Block
-[x] Unblock
-[ ] Replace usages where possible
-[x] block manager
-[ ] Sync
-[x] tentative protos
-[ ] confirm protos w/ team
-[x] send new protos
-[ ] Message Processing
-[ ] Drop messages from blocked groups
-[ ] UI
-[ ] Conversation Settings
-[x] Show switch for group
-[ ] localize
-[ ] migrate existing localizations? (nice to have)
-[ ] can view conversation settings (but not edit them) in left group
-[ ] special block copy for groups
-[ ] special unblock copy for groups
-[ ] Block List
-[ ] Group Section
-[ ] Unblock group
-[ ] Interstitial interacting with blocked threads (e.g. thread picker)
-[ ] BlockListUIUtils w/ thread
-[x] Block
-[x] Unblock
-[ ] Replace usages where possible
-[x] block manager
-[ ] Sync
-[x] tentative protos
-[ ] confirm protos w/ team
-[ ] send new protos
-[ ] Message Processing
-[ ] Drop messages from blocked groups