Commit Graph

4045 Commits (d59e21e7f02c0b9b0b8ce0f427372ecb56f22744)

Author SHA1 Message Date
Matthew Chen ae84528dc3 Update avatar colors; add shaded conversation color constants, modify color picker to be color-name-based, not color-based, use shaded conversation colors, remove JSQ. 7 years ago
Matthew Chen a5628c4204 Rework layout of message status in home view. 7 years ago
Matthew Chen 0701d2465b Replace shadow with stroke. 7 years ago
Matthew Chen 8106158780 Move unread badge on home view; propose shadow. 7 years ago
Matthew Chen d13624897d Fix reminder changes in home view. 7 years ago
Matthew Chen 0eb13dd827 Fix nag reminder v. dark theme. 7 years ago
Matthew Chen b30bfec21f Fix contact offer button margins. 7 years ago
Matthew Chen 0b7d269017 Rename DebugContactsUtils. 7 years ago
Matthew Chen bcee59f5e5 Add contact utils class. 7 years ago
Matthew Chen 66fc389fba Get SSK tests building and running. 7 years ago
Matthew Chen 87836f506b Move more singletons to SSKEnvironment. 7 years ago
Matthew Chen 8cf5f3e58f New grayscale palette. 7 years ago
Matthew Chen 29bb69032a DRY up the debounce of db extension version increment. 7 years ago
Matthew Chen 20de087441 Repair corrupt thread view. 7 years ago
Matthew Chen a7a05e9bbf Respond to CR. Rework how CallNotificationsAdapter adaptee is populated. 7 years ago
Matthew Chen e1db60c1c0 Rework creation of singletons. 7 years ago
Matthew Chen 0c6f6cdafd Fix compilation errors in Signal tests. 7 years ago
Matthew Chen b883209f91 Refine logging. 7 years ago
Michael Kirk 920a82564f Merge tag '2.29.3.3' 7 years ago
Matthew Chen 9b94580dae Update assertions.
* Streamline precompiled headers.
* Remove obsolete assertions in Constraints.h.
7 years ago
Michael Kirk df67e883f3 BlockList vs. "zero length" group names 7 years ago
Michael Kirk 24ea8262d5 consolidate blocked-group state tracking 7 years ago
Michael Kirk 0f9b0936df Use cached group details when rendering blocklist 7 years ago
Michael Kirk b09831d8d0 copy updates 7 years ago
Michael Kirk fd492f379a Use BlockListCache where possible 7 years ago
Michael Kirk 2eca462efc can view conversation settings for left group 7 years ago
Michael Kirk 2c49232db0 remove barely used getters
Lock contention on these methods is less important because we're not iterating
over their access, e.g. per tableViewCell
7 years ago
Michael Kirk 448936d156 BlockListCache
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.
7 years ago
Michael Kirk 28d28cf2b6 remove unused code 7 years ago
Michael Kirk b6eb1476cb Leave group when blocking it 7 years ago
Michael Kirk 8aba5725cf BlockListViewController v. group blocking 7 years ago
Michael Kirk 809b3766c1 Home view cell v. group blocking 7 years ago
Michael Kirk c6de8c579c WIP: Localizations 7 years ago
Michael Kirk b1da5e93d9 group blocking v. conversation view 7 years ago
Michael Kirk eadb04efcc WIP: ContactViewHelper incorporates group blocking
-[ ] 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
7 years ago
Michael Kirk b282d51da0 SyncMessages for blocked groups 7 years ago
Michael Kirk 236c17f65e WIP: group blocking
-[ ] 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
7 years ago
Matthew Chen 3fe7d7f9be Remove more usage of logTag. 7 years ago
Matthew Chen df7acfeed3 Simplify OWSPreferences access. 7 years ago
Matthew Chen cc117b385c Modify environment accessors to use our 'shared' convention. 7 years ago
Matthew Chen 3a12446be8 Modify environment accessors to use our 'shared' convention. 7 years ago
Matthew Chen bd05cdc031 Rename TextSecureKitEnv to SSKEnvironment. 7 years ago
Matthew Chen b642a5fabe Update log. 7 years ago
Matthew Chen bcceda1861 Respond to CR. 7 years ago
Matthew Chen cfb511aa57 Respond to CR. 7 years ago
Matthew Chen eb616a3411 Respond to CR. 7 years ago
Matthew Chen 399dd13cee Add test app context; use mock "document" and "shared data container" directories in tests, use mock keychain storage in tests. 7 years ago
Matthew Chen f9eab5cd24 Merge remote-tracking branch 'origin/release/2.29.2' 7 years ago
Michael Kirk 01a6a3d98e avoid overflow in debug logging 7 years ago
Michael Kirk 503cb046e4 remove unused FunctionalUtil code 7 years ago
Michael Kirk 48a85aab1b remove unused files
These were ported to SignalMessaging
7 years ago
Michael Kirk c7662b5a86 Step 2/2 %s/OWSAssert/OWSAssertDebug for existing previous assert semantics
Going forward, we want to prefer safer asserts, but we don't want to blindly
apply crashing asserts across the codebase
7 years ago
Matthew Chen 1c325cd210 Respond to CR. 7 years ago
Matthew Chen b1f2b9e75c Clean up thumbnail-related logic. 7 years ago
Matthew Chen dc3467dcda Tidy up attachment usage. 7 years ago
Matthew Chen 0be12da3dd Use thumbnails in media views. 7 years ago
Matthew Chen 5d96af98bc Use large thumbnail in media views. 7 years ago
Matthew Chen 30ed6caf06 Use thumbnails as video stills in conversation view. 7 years ago
Matthew Chen a2fad57964 Load GIFs from disk in media view; don't cache GIF data in memory. 7 years ago
Matthew Chen 12307aeeed Load GIFs from disk in media view; don't cache GIF data in memory. 7 years ago
Matthew Chen ad0d094831 Fix build breakage. 7 years ago
Matthew Chen 748b243156 Restore full-screen thumbnails. 7 years ago
Matthew Chen 8748dc9b2e Modify new thumbnail system to include video and GIF thumbnails. 7 years ago
Matthew Chen 206432fdf0 Add failure methods to thumbnail service. 7 years ago
Matthew Chen cf469da943 Use new thumbnails in conversation cells. 7 years ago
Matthew Chen 3437361d70 Use new thumbnails in media gallery thumbnails. 7 years ago
Matthew Chen 446ceb2b9c Rename AttachmentStream methods. 7 years ago
Matthew Chen 498828f93c Rename AttachmentStream methods. 7 years ago
Matthew Chen 44a3a81469 Update logging and asserts in hotfix changes. 7 years ago
Matthew Chen 9ab4da5c81 cherry-pick Merge branch 'charlesmchen/logSdp' 7 years ago
Michael Kirk d57c2f5157 enable sw decoders 7 years ago
Michael Kirk 5d9cd86d13 size toolbar WRT draft 7 years ago
Matthew Chen fac7f6932f Rename TSGroupMetaMessage enum values. 7 years ago
Matthew Chen f4d1f25656 Merge remote-tracking branch 'origin/release/2.29.1' 7 years ago
Michael Kirk 2cdca0299c show generic file icon for invalid GIF 7 years ago
Michael Kirk e715bf9ea2 image sizing
Validate image sizing
7 years ago
Matthew Chen 7df8976559 Fix breakage in production builds. 7 years ago
Matthew Chen 1cc0fbcb12 Elaborate logging around 'perform updates' crash. 7 years ago
Matthew Chen 9477606732 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen f473f60111 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen cc5a480baa Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen 03829779cc Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen c0d486b1f1 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen 3a50377902 Apply OWS log functions in Objective-C. 7 years ago
Matthew Chen 0b5b74a901 Respond to CR. 7 years ago
Matthew Chen 490ac5dd76 Redact ice-pwd from SDP. 7 years ago
Matthew Chen 02daca11af Redact ice-pwd from SDP. 7 years ago
Matthew Chen 2d06c05a4f Log call session description. 7 years ago
Matthew Chen 329f8d6f45 Log call session description. 7 years ago
Matthew Chen 713606271c Rename fail macros in Obj-C. 7 years ago
Matthew Chen 5b50e81b4f Rename fail macros in Swift. 7 years ago
Matthew Chen 7be8f30877 Apply -> Never. 7 years ago
Matthew Chen d4f7b5d45b Respond to CR. 7 years ago
Matthew Chen f34bdd34bc Respond to CR. 7 years ago
Matthew Chen e1049fdfcc Respond to CR. 7 years ago
Matthew Chen cf6f3841a8 Apply new Swift logging. 7 years ago
Michael Kirk 7e8b2e3034 Faster conversation presentation.
There are multiple places in the codebase we present a conversation.

We used to have some very conservative machinery around how this was done, for
fear of failing to present the call view controller, which would have left a
hidden call in the background. We've since addressed that concern more
thoroughly via the separate calling UIWindow.

As such, the remaining presentation machinery is overly complex and inflexible
for what we need.

Sometimes we want to animate-push the conversation. (tap on home, tap on "send message" in contact card/group members)
Sometimes we want to dismiss a modal, to reveal the conversation behind it (contact picker, group creation)
Sometimes we want to present the conversation with no animation (becoming active from a notification)

We also want to ensure that we're never pushing more than one conversation view
controller, which was previously a problem since we were "pushing" a newly
constructed VC in response to these myriad actions. It turned out there were
certain code paths that caused multiple actions to be fired in rapid succession
which pushed multiple ConversationVC's.

The built-in method: `setViewControllers:animated` easily ensures we only have
one ConversationVC on the stack, while being composable enough to faciliate the
various more efficient animations we desire.

The only thing lost with the complex methods is that the naive
`presentViewController:` can fail, e.g. if another view is already presented.
E.g. if an alert appears *just* before the user taps compose, the contact
picker will fail to present.

Since we no longer depend on this for presenting the CallViewController, this
isn't catostrophic, and in fact, arguable preferable, since we want the user to
read and dismiss any alert explicitly.

// FREEBIE
7 years ago
Michael Kirk 464b854eb1 CR: follow naming conventions 7 years ago
Michael Kirk 9c9f3875a7 Link styling 7 years ago
Michael Kirk 5148747c12 clean up long text VC 7 years ago