Commit Graph

813 Commits (2eb3ec6d0cfe59385e3391a669ebff8d1d5270f3)

Author SHA1 Message Date
Michael Kirk 2eb3ec6d0c benchmark migration 7 years ago
Michael Kirk b281b37637 replace thread.lastMessageDate/archivalDate -> thread.lastSortId, thread.archivedAsOfSortId
Update migration accordingly

Date shown on home view cell is message.receivedAt
7 years ago
Michael Kirk c27d35f8f2 sort search results by sortId 7 years ago
Michael Kirk ab55e85304 step 1: timestampForSorting audit, change signature
No change in functionality in this commit, I just broke the signature to have a
systematic audit of the callsites. Added TODO's with the plan for each call.
7 years ago
Michael Kirk df61316495 minimize diff senderTimestamp -> timestamp 7 years ago
Michael Kirk 00d0d1e002 Remove legacy Error backdating - no changes in functionality
Historically we would backdate the SN change messages, but since adopting
non-blocking SN changes long ago, they're already sorted properly by creation
time, so backdating has been unnecessary for a while.

I also audited that all other error messages are saved directly after creation.

I applied deprecation attributes as appropriate as I audited.
7 years ago
Michael Kirk eef1368ad3 Timestamp audit step1: change signature
There is no change in functionality in this commit.

Apart from clarifying what the timestamp means (it's the timestamp of the
*sender*), this intentionally breaks all the call sites, so I could have a sane
way to thoroughly audit wherever we're passing in timestamps, to see where
we're depending on them to affect sort order.

For the sake of a cleaner diff of meaningful changes, instead of "fixing"
everything in this commit, I've just added comments and renamed signatures.
7 years ago
Michael Kirk 6c5fbc6de5 Update existing contact offers in place
WIP: migration / autoincrement logic

TODO:

-[x] contact offer
-[ ] verify all paths that utilized timestampForSorting, e.g. make sure SN appear before the message they affect, etc.
-[x] Monotonic ID
-[x] New extension which sorts by id
-[x] Migration
  -[ ] batch migration?

fixup contact offers
7 years ago
Michael Kirk a60d8eb161 WIP: migration / autoincrement logic
TODO:

-[ ] contact offer
-[ ] verify all paths that utilized timestampForSorting, e.g. make sure SN appear before the message they affect, etc.
-[x] Monotonic ID
-[x] New extension which sorts by id
-[x] Migration
  -[ ] batch migration?
7 years ago
Matthew Chen 87836f506b Move more singletons to SSKEnvironment. 7 years ago
Matthew Chen 6a712366ae Tweak gray 95. 7 years ago
Matthew Chen 922c505559 Respond to CR. 7 years ago
Matthew Chen ef6689410b Design feedback from Myles. 7 years ago
Matthew Chen 8cf5f3e58f New grayscale palette. 7 years ago
Matthew Chen 3b2c5bfc7b Modify mock environments to register all db views. 7 years ago
Matthew Chen e1db60c1c0 Rework creation of singletons. 7 years ago
Michael Kirk 21e67e9a1d New resolutions for call banner, rename to accommodate multiple X devices.
Only apply work-around to legacy versions where required.
7 years ago
Michael Kirk 3df0e72eda Extract SPK rotation and CreatePreKey operations 7 years ago
Michael Kirk 920a82564f Merge tag '2.29.3.3' 7 years ago
Michael Kirk e7f9598e68 disable dark theme switch for production 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 b447e68597 clarify post-unblock-group copy 7 years ago
Michael Kirk c1b88b5f48 copy cleanup: remove redundant body 7 years ago
Michael Kirk 0f9b0936df Use cached group details when rendering blocklist 7 years ago
Michael Kirk 1f15ba6dc5 Cache group details on blocking manager
In case the group thread is later deleted.
7 years ago
Michael Kirk c0991fce74 enable dark theme for beta 7 years ago
Michael Kirk 7b7da4bc13 add docs to BlockListCache 7 years ago
Michael Kirk fd492f379a Use BlockListCache where possible 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 c6de8c579c WIP: Localizations 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 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 3935b019f4 Add base class for tests. 7 years ago
Matthew Chen 3fe7d7f9be Remove more usage of logTag. 7 years ago
Michael Kirk 5bafc7b6d6 Don't allow enabling dark theme in production yet 7 years ago
Matthew Chen df7acfeed3 Simplify OWSPreferences access. 7 years ago
Matthew Chen 106ecf2e8e Respond to CR. 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 f9eab5cd24 Merge remote-tracking branch 'origin/release/2.29.2' 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 34a05cdb85 Refine image validation. 7 years ago
Matthew Chen 51e8fdcb25 Use small thumbnail when creating quoted reply. 7 years ago
Matthew Chen 206432fdf0 Add failure methods to thumbnail service. 7 years ago