Commit graph

4358 commits

Author SHA1 Message Date
Matthew Chen a26086b303 Show attachment upload progress indicators. 2018-11-08 15:34:03 -05:00
Matthew Chen c1a5e1e258 Rename to media album. 2018-11-08 15:33:57 -05:00
Matthew Chen 3daf7d4744 Add OWSAttachmentDownloads. 2018-11-08 15:31:00 -05:00
Michael Kirk 03aba93985 CR: use id for hashvalue, make clearer that we don't expect to use incrementing ID's for uniqueId 2018-11-08 13:11:30 -06:00
Michael Kirk 7cf53293da restore Share/Delete functionality to gallery items in the post multi-attachment world 2018-11-08 12:52:09 -06:00
Michael Kirk 42bf267607 fixup plumbing for incoming messages/synced transcripts 2018-11-08 12:52:09 -06:00
Michael Kirk e096406e56 migrate existing attachments to album-compatible gallery schema 2018-11-08 12:52:09 -06:00
Michael Kirk 57681bd6f3 Gallery supports album messages 2018-11-08 12:52:09 -06:00
Michael Kirk 27cb91e9c8 Plumb through messageAlbumId so an Attachment knows what album (if any) it
belongs to.
2018-11-08 12:52:08 -06:00
Matthew Chen f37c4f71ad Add footer to 'typing indicators' setting. 2018-11-08 13:49:39 -05:00
Matthew Chen 02a9cc9181 Remove stroke on album items. 2018-11-08 13:46:02 -05:00
Matthew Chen 9a44f24bc1 Reduce typing indicators. 2018-11-07 14:31:47 -05:00
Matthew Chen f382cd770e Fix build break. 2018-11-07 12:32:30 -05:00
Matthew Chen 777e2b9251 Rename to media album. 2018-11-07 12:26:57 -05:00
Matthew Chen 2dfd4b2c0d Rename to media album. 2018-11-07 12:24:53 -05:00
Michael Kirk 3ff3779f17 CR: remove unnecessary assert 2018-11-07 10:12:50 -06:00
Matthew Chen c7c02f03d1 Display caption indicators for media albums in conversation view. 2018-11-07 11:12:13 -05:00
Michael Kirk 7cef41f8e2 Multi-approval 2018-11-07 10:09:21 -06:00
Matthew Chen 57de089118 Add support for album captions to models. 2018-11-07 10:54:17 -05:00
Matthew Chen 60c5a84dd2 Fix issues in media gallery cells; Improve debug galleries. 2018-11-07 09:56:49 -05:00
Matthew Chen 88a1186e4e Restore XCode 9 compatability. 2018-11-07 09:56:17 -05:00
Matthew Chen cdfd2779a3 Fix a couple small bugs in the typing indicators. 2018-11-06 17:21:24 -05:00
Matthew Chen 5aa6467d20 Fix issues in media gallery cells. 2018-11-06 15:35:48 -05:00
Matthew Chen f45693ec34 Respond to CR. 2018-11-06 15:34:18 -05:00
Matthew Chen 736d7c7351 Fix media gallery cell edge cases. 2018-11-06 15:23:09 -05:00
Matthew Chen d538301632 Fix media gallery cell edge cases. 2018-11-06 15:23:09 -05:00
Matthew Chen 34e85dd90e Fix media gallery cell edge cases. 2018-11-06 15:23:09 -05:00
Matthew Chen ee3bdca336 Fix media gallery cell edge cases. 2018-11-06 15:23:09 -05:00
Matthew Chen cfcb6cb15b Clean up ahead of PR. 2018-11-06 15:23:09 -05:00
Matthew Chen 0c76e1c02d Use ConversationMediaView to simplify media rendering in conversation view cells. 2018-11-06 15:23:09 -05:00
Matthew Chen f2c0a6f7dd Clean up ahead of PR. 2018-11-06 15:23:09 -05:00
Matthew Chen c89bdd2a15 Modify MediaGalleryCellView to handle animated images and videos. 2018-11-06 15:23:09 -05:00
Matthew Chen 2c9a556786 Remove overzealous assert in ConversationViewModel. 2018-11-06 15:23:09 -05:00
Matthew Chen cf057e3af3 Modify MediaGalleryCellView to handle still images. 2018-11-06 15:23:09 -05:00
Matthew Chen ec6de40bd9 Modify MessageBubbleView to support media galleries. 2018-11-06 15:23:09 -05:00
Matthew Chen 0341f5dc2b Modify ConversationViewItem to support media galleries. 2018-11-06 15:23:09 -05:00
Matthew Chen f2c0985907 Add 'is valid media?' method. 2018-11-06 15:23:09 -05:00
Michael Kirk 4c5d46e8f8 Custom photo picker, respects theme/call banner
- share GridViewCell
- Multiple image selection, with feature flag, cant currently approve multiple
2018-11-05 22:23:40 -06:00
Matthew Chen 2ca32fddcc Preserve ordering in incremental diffs. 2018-11-05 16:53:39 -05:00
Matthew Chen aa5e6b456e Preserve ordering in incremental diffs. 2018-11-05 16:53:39 -05:00
Matthew Chen 39c820b866 Distinguish 'app will/did become ready' events. 2018-11-05 09:04:57 -05:00
Matthew Chen eb2e16872e Distinguish 'app will/did become ready' events. 2018-11-05 09:04:57 -05:00
Matthew Chen af249de681 Fix race in CVM startup. 2018-11-05 09:02:05 -05:00
Matthew Chen 47fda2e377 Add debug UI for multi-image sends. 2018-11-02 13:04:05 -04:00
Matthew Chen ecba67b511 Add debug UI for multi-image sends. 2018-11-02 13:04:05 -04:00
Matthew Chen f6591fac25 Add debug UI for multi-image sends. 2018-11-02 13:04:05 -04:00
Matthew Chen d04f1e6e36 Add debug UI for multi-image sends. 2018-11-02 13:04:05 -04:00
Matthew Chen f893980468 Add debug UI function to make group with unregistered users. 2018-11-02 12:59:16 -04:00
Matthew Chen b8e9cd6b58 Respond to CR. 2018-11-01 16:44:48 -04:00
Matthew Chen 22c922bf5b Respond to CR. 2018-11-01 16:44:47 -04:00
Matthew Chen 650469c6a7 Respond to CR. 2018-11-01 16:44:47 -04:00
Matthew Chen 4088bebe05 Clean up ahead of PR. 2018-11-01 16:44:47 -04:00
Matthew Chen 94eaed0024 Fix rebase breakage. 2018-11-01 16:44:47 -04:00
Matthew Chen f8a5a41415 Apply dark theme to typing indicator. 2018-11-01 16:44:47 -04:00
Matthew Chen 37ae4ef360 Add typing indicator animation. 2018-11-01 16:44:47 -04:00
Matthew Chen 63d88ef5cb Sketch out TypingIndicatorCell. 2018-11-01 16:44:47 -04:00
Matthew Chen eedc9f9a26 Sketch out "typing indicators" interaction and cell. 2018-11-01 16:44:47 -04:00
Matthew Chen 50381cc94c Add typing indicators in home view. 2018-11-01 16:44:47 -04:00
Michael Kirk d9a4c6e837 typing indicator upgrade screen 2018-11-01 14:31:25 -06:00
Michael Kirk 77bd9b8852 Extract most Gallery functionality from the gallery NavigationController.
By not overriding the initializer for an OWSNavigationController subclass,
we can use the dynamic disaptch intialization chain.

The root difficulty here is that super.init(navBarClass:) wants to call
self.init(nibNam)
2018-11-01 12:53:59 -06:00
Michael Kirk 6d8a7ed800 things working 2018-11-01 12:53:59 -06:00
Michael Kirk 1af750363a fix media-gallery doesn't respect call banner 2018-11-01 12:53:59 -06:00
Matthew Chen 834bba8880 Respond to CR. 2018-11-01 14:51:47 -04:00
Matthew Chen 32d3eed7ba Add ConversationViewModel. 2018-11-01 14:51:47 -04:00
Matthew Chen a09cb16e74 Add typing indicators setting. 2018-11-01 14:28:39 -04:00
Michael Kirk f24ef7a0e8 separate title view for landscape 2018-11-01 08:43:59 -06:00
Michael Kirk 432fcc016c Gallery tile landscape 2018-11-01 08:43:59 -06:00
Michael Kirk 19f2d0db48 WIP: Media Landscape Mode 2018-11-01 08:43:59 -06:00
Matthew Chen 3d0e7386a4 Respond to CR. 2018-10-31 12:19:07 -04:00
Matthew Chen a98c82645c Start work on typing indicators.
* Update proto schema to reflect typing indicators.
* Sketch out OWSTypingIndicatorMessage.
* Add "online" to the service message params.
* Sketch out logic to send typing indicator messages.
* Sketch out OWSTypingIndicators class.
2018-10-31 12:11:29 -04:00
Matthew Chen 40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 2018-10-31 11:42:41 -04:00
Michael Kirk 82d64405d0 fixup blogpost url 2018-10-30 17:08:02 -06:00
Matthew Chen 2541be1619 Apply refinements to UD logic. 2018-10-30 16:18:22 -04:00
Michael Kirk 3d9cd4f4ed CR: comments and code clarity 2018-10-30 11:35:34 -06:00
Michael Kirk cb9aa6304c find -E . -type f -regex ".*\.(m|h)" -exec sed -i "" -e "s/try_/throws_/" {} \; 2018-10-30 11:35:34 -06:00
Michael Kirk 3a6aafc454 Swift Exception wrap NSData+keyVersionByte 2018-10-30 11:35:34 -06:00
Matthew Chen 5535abd01b Update "sealed sender" blog post URL. 2018-10-30 10:55:30 -04:00
Matthew Chen 9fa16cc66f Fix small bug in the re-registration flow. 2018-10-29 16:41:43 -04:00
Michael Kirk b0a6d18576 leave proximity enabled as long as CallViewController exists 2018-10-26 15:32:12 -06:00
Michael Kirk 5632bd2d83 Use reference counting to disable proximity monitoring after audio message
Multiple overlapping activities require proximity monitoring (namely,
CallViewController and listening to audio messages).

These activities can overlap arbitrarily, so we use a reference counting
strategy to keep proximity monitoring on as long as one of these activities is
active.
2018-10-26 15:32:12 -06:00
Matthew Chen ed4fa2e8cb Respond to CR. 2018-10-26 14:44:53 -04:00
Matthew Chen 38f3321e9a Improve startup logging. 2018-10-26 14:44:53 -04:00
Michael Kirk 0c2bb439f9 kick-queue upon reachability 2018-10-25 11:56:39 -06:00
Michael Kirk 54c63c7a2e Reachability Singleton 2018-10-25 11:56:39 -06:00
Michael Kirk b8e4bfff86 shuffle isReady->isSetup, centralize starting workStep 2018-10-25 11:56:39 -06:00
Michael Kirk 037bdebfab clarify backoff delay examples 2018-10-25 11:54:59 -06:00
Michael Kirk 86a0efedc6 Don't delete session upon starting retry 2018-10-25 11:54:59 -06:00
Michael Kirk 3560f3be5c Durable send operation
TODO
-[x] respect order of queue
-[x] replacements
  -[x] those w/o completion handler
  -[x] basic send+log operation persists
  -[x] send+ui completion
  -[x] share extension
  -[x] update state jobs
-[x] App Lifecyle
  -[x] settable
  -[x] Mark as ready on startup
  -[x] Fail appropriate jobs on startup

NICE TO HAVE
-[x] concurrent per senders
-[ ] longer retry (e.g. 24hrs)
-[ ] App Lifecyle
  -[x] retry failed jobs on startup?
  -[ ] reachability

DONE
-[x] basic passing test
-[x] datamodel
-[x] queue/classes
2018-10-25 11:54:59 -06:00
Michael Kirk e20df022c8 always show footer for in-progress sending 2018-10-25 11:54:58 -06:00
Michael Kirk 3a1769c81a unrelated swift fix 2018-10-25 11:54:58 -06:00
Matthew Chen 25ed886e72 Update home and group cells' dependencies. 2018-10-25 09:48:58 -04:00
Matthew Chen 28f37a7a34 Update contacts cells' dependencies. 2018-10-25 09:48:57 -04:00
Matthew Chen 8e1103c28f Log WebRTC version. 2018-10-24 16:58:45 -04:00
Matthew Chen 81d6b60ad5 Fix icon layout in privacy settings. 2018-10-24 11:43:28 -04:00
Michael Kirk ce9ca1bdaa audio player type 2018-10-24 07:46:27 -06:00
Michael Kirk 3b4188f34b hoist audio session singleton to Environment 2018-10-24 07:46:25 -06:00
Michael Kirk 3d022adf4e WIP: audio activities 2018-10-24 07:44:50 -06:00
Matthew Chen 55ab6c39d4 Rework UD settings. 2018-10-23 15:08:02 -04:00
Matthew Chen f765c6c1bb Update UD settings copy. 2018-10-23 15:08:02 -04:00
Matthew Chen 1a53005e08 Respond to CR. 2018-10-22 14:43:07 -04:00
Matthew Chen 8fec73dda5 Fix edge cases around UD v. linked devices. 2018-10-22 12:33:09 -04:00
Matthew Chen d656ae1017 Fix edge cases around UD v. linked devices. 2018-10-22 12:31:28 -04:00
Matthew Chen 94c7b72361 Only send "sent message transcript" sync messages using UD. 2018-10-19 16:45:50 -04:00
Matthew Chen 99d0495ec7 Respond to CR. 2018-10-18 16:58:02 -04:00
Matthew Chen bbcbbafaab Sync local profile key after rotating it. 2018-10-18 16:47:18 -04:00
Matthew Chen a746874391 Improve the debug logs email template. 2018-10-18 16:18:58 -04:00
Matthew Chen 693b3e13a9 Revert "Sync local profile key after rotating it."
This reverts commit ddbd20e706.
2018-10-18 16:00:48 -04:00
Matthew Chen ddbd20e706 Sync local profile key after rotating it. 2018-10-18 15:59:43 -04:00
Matthew Chen a9b4b06c8f Retain code verification promise. 2018-10-17 10:43:31 -04:00
Matthew Chen 275414cbda Respond to CR. 2018-10-16 17:42:54 -04:00
Matthew Chen 7c1f1882d8 Sync "show UD indicators" setting. 2018-10-16 17:42:54 -04:00
Matthew Chen 866338fba6 Refine debug logs UI. 2018-10-16 16:46:38 -04:00
Matthew Chen 829851bd7b Hang PushManager on AppEnvironment. 2018-10-16 11:47:54 -04:00
Matthew Chen b1e52c30b3 Fix build breakage. 2018-10-16 10:42:51 -04:00
Matthew Chen 72d21f5119 Enable orphan data cleaner. 2018-10-15 17:00:54 -04:00
Matthew Chen 48c4576c06 Fix failing test. 2018-10-15 15:51:43 -04:00
Matthew Chen 8830f0a594 Clean up ahead of PR. 2018-10-15 15:11:20 -04:00
Matthew Chen 0b4ed1175d Create AppEnvironment. 2018-10-15 15:08:37 -04:00
Matthew Chen d7e52367ff Create AppEnvironment. 2018-10-15 15:08:37 -04:00
Michael Kirk 5b8d712add add missing retain in peer connection client 2018-10-15 09:40:44 -06:00
Michael Kirk d6a6024f37 Update PromiseKit 2018-10-13 16:04:20 -06:00
Michael Kirk 92e8b117f5 fixup debug contacts 2018-10-12 16:20:03 -06:00
Matthew Chen c9922cda3e Respond to CR. 2018-10-12 17:38:13 -04:00
Matthew Chen 8fdf6009f9 Sync contacts after rotating profile key. 2018-10-12 17:19:00 -04:00
Matthew Chen eb7abdfc64 Account attributes updates. 2018-10-12 17:19:00 -04:00
Matthew Chen f1d93d4472 Merge remote-tracking branch 'origin/release/2.30.2' 2018-10-12 16:00:42 -04:00
Michael Kirk 43884af191 remove redundant "failed to download" method 2018-10-12 09:31:26 -06:00
Michael Kirk efe07e1ddb Secret sender icon in message details 2018-10-12 09:31:03 -06:00
Michael Kirk 4435d16f9c dark theme toggle in app settings 2018-10-11 13:40:51 -06:00
Matthew Chen c907721a18 Rotate profile key if blocklist intersects profile whitelist. 2018-10-11 13:02:02 -04:00
Michael Kirk 1544f8db46 Optionally show UD status in message details 2018-10-11 09:04:35 -06:00
Michael Kirk 221ce513f1 extract dependencies, no change in behavior 2018-10-11 09:02:49 -06:00
Michael Kirk c680908646 add toggle for unrestricted access 2018-10-11 09:02:49 -06:00
Matthew Chen a6eed30127 Add 'is ud' property to outgoing messages. 2018-10-10 14:32:14 -04:00
Matthew Chen cba8c67983 Add 'is ud' property to incoming messages. 2018-10-10 14:29:40 -04:00
Matthew Chen 17541a8888 Change conversation bubble colors. 2018-10-09 16:06:23 -04:00
Michael Kirk ac12169627 Keep home view controller in the navigation stack when entering an archived conversation. 2018-10-09 12:47:29 -04:00
Matthew Chen acdd7f2805 Fix settings button glitch on iOS 10. 2018-10-09 12:20:46 -04:00
Matthew Chen 21b383f4e2 Remove server GUID from TSIncomingMessage. 2018-10-05 13:02:35 -04:00
Matthew Chen 3b06434d4f Split out second web socket. 2018-10-05 12:48:19 -04:00
Matthew Chen c137e95ae5 Move socket manager to hang on SSKEnvironment. 2018-10-05 12:47:11 -04:00
Matthew Chen f9e90215b3 Respond to CR. 2018-10-05 09:28:53 -04:00
Michael Kirk 2b805e4eae Constantize ConversationColorName, map previous incorrect values 2018-10-04 18:21:35 -06:00
Matthew Chen ccb67f49a3 Fix issues in UD send & receive. 2018-10-04 11:56:37 -04:00
Matthew Chen 0b41e5e240 Rework profile fetch to reflect UD changes. 2018-10-04 11:56:37 -04:00
Matthew Chen 2eeba2d79f Fix spurious assert in orphan data clenaer. 2018-10-04 11:56:37 -04:00
Michael Kirk f243914fe5 NSTemporaryDirectory -> OWSTemporaryDirectory/AccessibleAfterFirstAuth
Remove redundant move - AFNetworking alread moves the CFNetwork tmp file for
us.
2018-10-03 14:01:36 -06:00
Michael Kirk e1e355bfec fixup filebrowser 2018-10-03 09:50:42 -06:00
Matthew Chen 3eb84ed0e0 Move message processing singletons to SSKEnvironment. 2018-10-03 09:25:29 -04:00
Matthew Chen 580d0486b6 Respond to CR. 2018-10-03 09:15:51 -04:00
Matthew Chen 9f2a15925a Add new envelope properties for UD. 2018-10-03 09:15:32 -04:00
Matthew Chen 4ab281346a Respond to CR. 2018-10-03 09:09:24 -04:00
Matthew Chen 39f1be65f3 Respond to CR. 2018-10-03 08:59:55 -04:00
Matthew Chen 1b1312c455 Clean up ahead of CR. 2018-10-03 08:59:55 -04:00
Matthew Chen 1d40cbfb41 Rework account attributes; persist manual message fetch; add "unrestricted UD" setting. 2018-10-03 08:59:55 -04:00
Michael Kirk 6560358375 Fix failed attachment downloads in beta 2018-10-02 14:38:05 -06:00
Matthew Chen f7379deb69 Add setup method to UD manager. Try to verify server certificate expiration. 2018-10-02 13:24:12 -04:00
Matthew Chen 71da312336 Post-SMK ud changes. 2018-10-02 13:19:41 -04:00
Michael Kirk dcb65854eb More scaleable across device sizes. 2018-10-02 09:49:37 -06:00
Michael Kirk bdb5bd5596 minimize diff 2018-10-02 09:49:37 -06:00
Michael Kirk 375c8bee04 Use stand accessoryView mechanics 2018-10-02 09:49:37 -06:00
Michael Kirk 5127352f7a update color picker cell per design 2018-10-02 09:49:37 -06:00
Michael Kirk 7805e00441 work around multiple review's appearing 2018-10-02 08:29:29 -06:00
Michael Kirk 006021ea41 Fix: group color change doesn't immediately apply
Because we were fetching a new thread instance, instead of updating the
existing thread instance, classes which were bound to the old thread instance
weren't updating. This affected the HeaderView.AvatarView.thread and the
ConversationStyle.thread.
2018-10-01 17:06:09 -06:00
Matthew Chen a224401879 Respond to CR. 2018-10-01 09:12:38 -04:00
Matthew Chen 24d7a97616 Fix rebase breakage. 2018-10-01 09:08:41 -04:00
Matthew Chen 7d727b7ac9 Modify proto wrapper builders to require required fields. 2018-10-01 09:08:23 -04:00
Matthew Chen 74e456f90e Modify proto wrapper builders to require required fields. 2018-10-01 09:08:23 -04:00
Matthew Chen 3738155c81 Fix build breakage from SMK. 2018-10-01 09:08:02 -04:00
Matthew Chen 8ae200ac21 Fix build breakage around SignalCoreKit. 2018-10-01 09:07:40 -04:00
Matthew Chen b77528ca0a Fix asserts & logging. 2018-10-01 09:07:40 -04:00
Matthew Chen 0125535d4d Pull out SignalCoreKit. 2018-10-01 09:06:40 -04:00
Matthew Chen 9474a1bfcb Fix "broken settings button layout in iOS 9" issue. 2018-09-28 17:25:44 -04:00
Matthew Chen 908d6dfd78 Ensure unread badges in home view are always at least a circle. 2018-09-28 16:41:51 -04:00
Michael Kirk 56387f3574 demo conversation colors when selecting 2018-09-28 13:35:57 -06:00
Michael Kirk 06eae47e09 ConversationViewItem -> protocol 2018-09-28 12:58:33 -06:00
Matthew Chen ebae75af00 Revert 'new sort id'. 2018-09-27 19:40:51 -04:00
Matthew Chen b076f14964 Swift exit(). 2018-09-27 16:56:54 -04:00
Matthew Chen 1e82caed03 Remove dark theme feature flag. 2018-09-27 15:41:43 -04:00
Michael Kirk 4765ed9a06 Color picker
TODO

-[x] tap to select/deselect
-[x] initially selected
-[x] integrate into conversation settings
-[x] colorPickerDelegate
-[x] translate strings
-[] reorder colors
-[x] SheetView: add top handle

Nice to have:

-[] SheetView: interactively swipe/unswipe to dismiss?
-[] preview color in bubbles
2018-09-27 13:34:23 -06:00
Joshua Lund 97d0543cef String cleanup:
* Made our Title Case usage a little more consistent.
* Standardized on the ellipses special character.
* Rephrased a few buttons and descriptions.
2018-09-27 15:30:58 -04:00
Michael Kirk 79add78d51 Merge branch 'release/2.30.1' 2018-09-27 13:03:35 -06:00
Matthew Chen 2ef878bfc9 Add crash gesture to about view. 2018-09-27 12:32:09 -04:00
Matthew Chen 5a99cd347f Pull out OWSConversationColor to its own file. 2018-09-27 12:24:14 -04:00
Matthew Chen 1c1d305a71 Respond to CR. 2018-09-27 11:42:32 -04:00
Matthew Chen 27488f078a Replace old "default profile avatar" icon with default avatar for local user. 2018-09-27 11:24:20 -04:00
Matthew Chen b5c5d1c3ef Use local avatar as app settings button. 2018-09-27 09:53:40 -04:00
Matthew Chen cbaf40d4ce Respond to CR. 2018-09-27 09:52:12 -04:00
Matthew Chen d161e5ff3d Add inner shadows to media thumbnails. 2018-09-27 09:42:29 -04:00
Matthew Chen 6715e3d1ad Respond to CR. 2018-09-27 09:28:16 -04:00
Matthew Chen b20cd57383 Rename OWSConversationColor. 2018-09-27 09:15:15 -04:00
Matthew Chen b3ad6e27dc Rework conversation message bubble colors; add "conversation colors" class. 2018-09-27 09:07:47 -04:00
Matthew Chen 26a2d568de Add "conversation color mode" enum. 2018-09-27 09:07:47 -04:00
Matthew Chen e5150267c2 Rework the conversation color constants. 2018-09-27 09:07:47 -04:00
Matthew Chen da63731447 Respond to CR. 2018-09-27 09:07:03 -04:00
Matthew Chen 8db4595bdc Rework group avatars to reflect conversation colors. 2018-09-27 08:55:20 -04:00
Matthew Chen 25d56b30c1 Rework group avatars to reflect conversation colors. 2018-09-27 08:55:20 -04:00
Michael Kirk c21020d7e7 Use received date for footer-collapse supression 2018-09-26 09:52:34 -06:00
Michael Kirk 6f8eddc955 unread indicator uses sortId
- removed timestamp parameter. This wasn't totally obvious, previously we were tracking two pieces of state

1. `unreadIndicator.firstUnseenTimestamp`:
    the first unseen timestamp for a conversation that exists in the database
2. `unreadIndicator.timestamp`:
    the timestamp of the first interaction *after* the unread indicator that fits in the loading window

We don't actually need to track `2` because it was only used in a comparison like:

   viewItem.interaction.timestampForSorting >= unreadIndicator.timestamp

But by definition, unreadIndicator.firstUnseenTimestamp is always less than or
equal to unreadIndicator.timestamp. Put into terms of the `sortId` corallary,
the sortId of the first unseen interaction in the database is always less than
or equal to the sortId of the first unseen interaction that fits in the loading
window.

In other words, there's no situation where

   viewItem.interaction.sortId >= unreadIndicator.firstUnseenSortId
2018-09-26 09:52:34 -06:00
Michael Kirk 3240e0d9d0 Be explicit about receivedAt time
We were often using `timestampForLegacySorting`, which is convoluted for when
we actually just want received time.

In some sense this is a superficial change, but it's part of auditing that
we've completed moved away from timestampForLegacySorting.
2018-09-26 09:52:34 -06:00