Commit Graph

1746 Commits (7e3ccad22a92e6320ebe2ef77fcbf0888a3f905e)

Author SHA1 Message Date
Michael Kirk 06b763dfc4 Remove unused methods/tests 6 years ago
Michael Kirk 8472801c4b fix link error when launching SSK tests 6 years ago
Michael Kirk c710b7f8f2 Fixup certificate parsing tests
Skip failure when running tests when we're explicitly testing failure cases.

Be more specific about failure conditions via NSError param
6 years ago
Matthew Chen da4f41defc Fix missing albumMessageId. 6 years ago
Michael Kirk 5da525ce2e Merge remote-tracking branch 'origin/release/2.31.0' 6 years ago
Matthew Chen 1be757788b Prevent long version strings from being scrubbed in the logs. 6 years ago
Matthew Chen 29b4702311 Fix build break. 6 years ago
Michael Kirk 366b228c01 use UUID for TSInteractions.uniqueId 6 years ago
Matthew Chen c9c9d35d19 Discard receipts for unregistered users. 6 years ago
Matthew Chen cd224a1590 Render single media as albums. 6 years ago
Matthew Chen 654325c6dc Add download progress indicators. 6 years ago
Matthew Chen 3daf7d4744 Add OWSAttachmentDownloads. 6 years ago
Michael Kirk 03aba93985 CR: use id for hashvalue, make clearer that we don't expect to use incrementing ID's for uniqueId 6 years ago
Michael Kirk 7cf53293da restore Share/Delete functionality to gallery items in the post multi-attachment world 6 years ago
Michael Kirk 42bf267607 fixup plumbing for incoming messages/synced transcripts 6 years ago
Michael Kirk e096406e56 migrate existing attachments to album-compatible gallery schema 6 years ago
Michael Kirk 57681bd6f3 Gallery supports album messages 6 years ago
Michael Kirk 27cb91e9c8 Plumb through messageAlbumId so an Attachment knows what album (if any) it
belongs to.
6 years ago
Matthew Chen 8b5a993694 Tweak timing of typing indicators. 6 years ago
Matthew Chen 2b5a79f123 Cycle websocket after learning of new linked devices via 409/410. 6 years ago
Matthew Chen f6322cb087 Fix logging in request maker. 6 years ago
Matthew Chen 47022377c2 Respond to CR. 6 years ago
Matthew Chen 954f32b775 Never use UD for sync messages. 6 years ago
Matthew Chen 8ff8f17b21 Never use UD for sync messages. 6 years ago
Matthew Chen 3a46a344ac Never use UD for sync messages. 6 years ago
Matthew Chen 2dfd4b2c0d Rename to media album. 6 years ago
Matthew Chen b7fd48ec40 Respond to CR. 6 years ago
Matthew Chen 9cdf8d06fd Ignore typing indicators from self. 6 years ago
Matthew Chen 57de089118 Add support for album captions to models. 6 years ago
Matthew Chen 3816cb4bf4 Update proto schema to reflect album captions. 6 years ago
Matthew Chen cdfd2779a3 Fix a couple small bugs in the typing indicators. 6 years ago
Matthew Chen 5aa6467d20 Fix issues in media gallery cells. 6 years ago
Matthew Chen 0341f5dc2b Modify ConversationViewItem to support media galleries. 6 years ago
Matthew Chen f2c0985907 Add 'is valid media?' method. 6 years ago
Matthew Chen 1c7add2b8f Respond to CR. 6 years ago
Matthew Chen 39c820b866 Distinguish 'app will/did become ready' events. 6 years ago
Matthew Chen eb2e16872e Distinguish 'app will/did become ready' events. 6 years ago
Matthew Chen 1c21c31c2b Fix failed reloads in SignalRecipient. 6 years ago
Matthew Chen c7d427029b Respond to CR. 6 years ago
Matthew Chen 47fda2e377 Add debug UI for multi-image sends. 6 years ago
Matthew Chen ecba67b511 Add debug UI for multi-image sends. 6 years ago
Matthew Chen f6591fac25 Add debug UI for multi-image sends. 6 years ago
Matthew Chen b90fee08bd Merge remote-tracking branch 'origin/release/2.31.0' 6 years ago
Matthew Chen 650469c6a7 Respond to CR. 6 years ago
Matthew Chen 63d88ef5cb Sketch out TypingIndicatorCell. 6 years ago
Matthew Chen eedc9f9a26 Sketch out "typing indicators" interaction and cell. 6 years ago
Matthew Chen 50381cc94c Add typing indicators in home view. 6 years ago
Matthew Chen b063a49d56 Rework typing indicators API. 6 years ago
Matthew Chen 3eab5b82cc Respond to CR. 6 years ago
Matthew Chen 3011175cef Fix "413 on prekey fetch" errors. 6 years ago
Matthew Chen e89d8b40d7 Fix "413 on prekey fetch" errors. 6 years ago
Matthew Chen 3cc1988f20 Fix "413 on prekey fetch" errors. 6 years ago
Matthew Chen 97e234f785 Fix "413 on prekey fetch" errors. 6 years ago
Matthew Chen 1db5a157ce Respond to CR. 6 years ago
Matthew Chen a5ebe394d1 Include typing indicators in configuration sync messages; emit when that value changes. 6 years ago
Matthew Chen 33f5398ba8 Update proto schema for configuration messages to reflect typing indicators setting. 6 years ago
Matthew Chen ea734ad171 Respond to CR. 6 years ago
Matthew Chen a09cb16e74 Add typing indicators setting. 6 years ago
Michael Kirk 85f85d9c3a fix debug crash 6 years ago
Michael Kirk fe15a260ef Merge branch 'release/2.31.0' 6 years ago
Matthew Chen 3729398507 Request profile fetches on main thread. 6 years ago
Matthew Chen 3d0e7386a4 Respond to CR. 6 years ago
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.
6 years ago
Matthew Chen 40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 6 years ago
Matthew Chen 698e48f2d8 Respond to security review. 6 years ago
Matthew Chen 7d8b20d091 Apply refinements to UD logic. 6 years ago
Matthew Chen 44f6774396 Apply refinements to UD logic. 6 years ago
Matthew Chen c28d131f97 Respond to CR. 6 years ago
Matthew Chen e11d43d1f8 Respond to CR. 6 years ago
Matthew Chen ee87f1b489 Fix test breakage. 6 years ago
Matthew Chen c5f4711595 Apply refinements to UD logic. 6 years ago
Matthew Chen 2541be1619 Apply refinements to UD logic. 6 years ago
Michael Kirk 1dea927a3f Remove some usage of throwswrapped_ in udmanager since we don't need to
propogate the wrapped exception anyway.
6 years ago
Michael Kirk 3d9cd4f4ed CR: comments and code clarity 6 years ago
Michael Kirk 3bef78335d find -E . -type f -regex ".*\.(m|h|swift)" -exec sed -i "" -e "s/trywrapped_/throwswrapped_/g" {} \; 6 years ago
Michael Kirk cb9aa6304c find -E . -type f -regex ".*\.(m|h)" -exec sed -i "" -e "s/try_/throws_/" {} \; 6 years ago
Michael Kirk 8544c86427 Swift Exception wrap HKDFKit 6 years ago
Michael Kirk c4f8975308 Swift Exception wrap Curve25519 6 years ago
Michael Kirk c686e766b1 Exception audit, fail directly where intended 6 years ago
Michael Kirk 9d2731c9b8 exception auditing OWSRaiseException 6 years ago
Michael Kirk 3a6aafc454 Swift Exception wrap NSData+keyVersionByte 6 years ago
Michael Kirk 5f5ec9b82a ExceptionWrap loadPreKey 6 years ago
Michael Kirk b622b3a020 Exception wrap TSDerivedSecrets for Swift 6 years ago
Michael Kirk 8d823193f1 Exception wrap WhisperMessage for Swift 6 years ago
Michael Kirk 1482c600b4 Exception wrap PreKeyWhisperMessage for Swift 6 years ago
Michael Kirk 60769a3d17 Exception wrap SessionCipher for Swift 6 years ago
Matthew Chen a5f715eca1 Fix network manager error wrapping. 6 years ago
Matthew Chen deafc749d1 Fix UD manager tests. 6 years ago
Michael Kirk ccd30e0e1f more logging 6 years ago
Michael Kirk e26db74fcd only check prekeys when decrypting a PKWM 6 years ago
Michael Kirk af3102441d ensure device updates are persisted
Previously we'd skip saves when latest was the same instance as self, which was
*at least* occurring during the 404 handler for prekey fetching while message
sending.

In practice this was cached, so it would be one wasted request per recipient
per launch.
6 years ago
Matthew Chen 33f0a32e59 Improve UD logging. 6 years ago
Matthew Chen 302da66017 Fix UD access logic. 6 years ago
Matthew Chen 737f64b761 Improve UD logging. 6 years ago
Matthew Chen ad59b2f6d2 Move "ud access for sends" logic into UD manager. 6 years ago
Matthew Chen 7de289f6be Remove SSKUnidentifiedAccess. 6 years ago
Matthew Chen dbe635f721 Try random UD access keys in profile gets. 6 years ago
Matthew Chen 70f274598c Avoid deadlocks in contact manager. 6 years ago
Matthew Chen f26241ebd0 Avoid deadlocks in contact manager. 6 years ago
Michael Kirk c4677c9d4f CR: add some reachability asserts 6 years ago
Michael Kirk 0c2bb439f9 kick-queue upon reachability 6 years ago
Michael Kirk 54c63c7a2e Reachability Singleton 6 years ago
Michael Kirk b8e4bfff86 shuffle isReady->isSetup, centralize starting workStep 6 years ago
Michael Kirk 751b6e5688 documentation for MessageSenderJobQueue 6 years ago
Michael Kirk 037bdebfab clarify backoff delay examples 6 years ago
Michael Kirk d35b735d76 Log message type in message sender 6 years ago
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
6 years ago
Michael Kirk 25af0f4c1e more factories 6 years ago
Michael Kirk 456b2c0830 Avoid crash during test runs
In tests that have writes occuring async WRT the test loop, we sometimes crash
when the transaction ends and we end the background task, because
CurrentAppContext() is momentarily nil between test runs.
6 years ago
Matthew Chen 278c61fd16 Remove assert around group avatar updates. 6 years ago
Matthew Chen 9df94b8477 Rework sync transcript sending. 6 years ago
Matthew Chen 21cf467bb4 Don't use websocket after 409/410. 6 years ago
Matthew Chen 1a53005e08 Respond to CR. 6 years ago
Matthew Chen a9aabf763a Use temporary user defaults in tests. 6 years ago
Matthew Chen b003049d9c Improve UD logging. 6 years ago
Matthew Chen 8c8b3a95b8 Respond to CR. 6 years ago
Matthew Chen 00d79900e4 Fix edge cases around UD v. linked devices. 6 years ago
Matthew Chen b83299888f Fix edge cases around UD v. linked devices. 6 years ago
Matthew Chen d656ae1017 Fix edge cases around UD v. linked devices. 6 years ago
Matthew Chen 64aa43edb1 Only enable UD if UD is supported by all linked devices. 6 years ago
Matthew Chen 86e22edcb1 Send "sent message transcript" sync messages at the _end_ of a send, not after the first recipient is sent. 6 years ago
Matthew Chen 9c161e913d Respond to CR; handle device changes in SignalRecipient as well. 6 years ago
Matthew Chen 55369a1ca3 Only send 'sent message transcript' sync messages using UD. 6 years ago
Matthew Chen 94c7b72361 Only send "sent message transcript" sync messages using UD. 6 years ago
Matthew Chen 553d1ac3bc Respond to CR. 6 years ago
Matthew Chen 2894db0d6e Add request maker. 6 years ago
Matthew Chen ab6c4a4c36 Try prekey fetches via websocket. 6 years ago
Matthew Chen b7920fef84 Remove obsolete TODO. 6 years ago
Matthew Chen 99d0495ec7 Respond to CR. 6 years ago
Matthew Chen bbcbbafaab Sync local profile key after rotating it. 6 years ago
Matthew Chen 693b3e13a9 Revert "Sync local profile key after rotating it."
This reverts commit ddbd20e706.
6 years ago
Matthew Chen ddbd20e706 Sync local profile key after rotating it. 6 years ago
Matthew Chen 7115d45d08 Changes for UD in production. 6 years ago
Matthew Chen d44e414b54 Clean up message sender. 6 years ago
Matthew Chen 6d075747c0 Update local profile after registration and profile key rotation. 6 years ago
Matthew Chen 9322442881 Don't assume all linked devices support UD. 6 years ago
Matthew Chen 353f91db64 Respond to CR. 6 years ago
Matthew Chen 9519e7961a Rework recipient device updates. 6 years ago
Matthew Chen a00ebdf4a2 Fix UD auth edge cases. 6 years ago
Matthew Chen 2f4094e801 Fix UD auth edge cases. 6 years ago
Matthew Chen 4d89670f19 Fix UD auth edge cases. 6 years ago
Matthew Chen de8b5b55c0 Update production trust root. 6 years ago
Matthew Chen 6d3f62453e Add asserts around group id length. 6 years ago
Matthew Chen 275414cbda Respond to CR. 6 years ago
Matthew Chen 7c1f1882d8 Sync "show UD indicators" setting. 6 years ago
Matthew Chen 43960aadd6 Update proto schema. 6 years ago
Michael Kirk aff35329bd make factory Swift 4.1 compatible 6 years ago
Matthew Chen cccd246122 Revert "Revert Factories."
This reverts commit 7aabb821bd.
6 years ago
Matthew Chen c6ef7f18e7 Improve test logging. 6 years ago
Matthew Chen 79ed05133c Move db connections to environments. 6 years ago
Matthew Chen f1646b6cbc Move db connections to environments. 6 years ago
Matthew Chen 829851bd7b Hang PushManager on AppEnvironment. 6 years ago
Matthew Chen 9d7c3afdaf Show (threadless) error notifications for UD decrypt failures. 6 years ago
Matthew Chen 7aabb821bd Revert Factories. 6 years ago
Michael Kirk d6cbdddc42 Fix test build, rename src/Test/ ->src/TestUtils/ to avoid confusion with the
existing test/ directory
6 years ago
Michael Kirk ac7f9f62d4 factories for tests 6 years ago
Matthew Chen bc4ac8cd15 Respond to CR. 6 years ago
Matthew Chen 53466386fd Get tests running. 6 years ago
Matthew Chen 32cf68bece Get all tests building. 6 years ago
Michael Kirk d6a6024f37 Update PromiseKit 6 years ago
Matthew Chen c9922cda3e Respond to CR. 6 years ago
Matthew Chen eb7abdfc64 Account attributes updates. 6 years ago
Matthew Chen f1d93d4472 Merge remote-tracking branch 'origin/release/2.30.2' 6 years ago
Matthew Chen 5e0bc1bc1e Respond to CR. 6 years ago
Michael Kirk 3e85c8c023 clang-format branch changes 6 years ago
Matthew Chen b53cb9e616 Clean up ahead of PR. 6 years ago
Matthew Chen 5cf8909a28 Modify OWSOutgoingReceiptManager to handle read receipts. 6 years ago
Matthew Chen 010ce1f6c2 Rename to OWSOutgoingReceiptManager. 6 years ago
Matthew Chen 2b45a8348e Clean up ahead of PR. 6 years ago
Matthew Chen f5591ef7b7 Clean up ahead of PR. 6 years ago
Matthew Chen 62d1fd2025 Clean up ahead of PR. 6 years ago
Matthew Chen 45d6250aee Send delivery receipts. 6 years ago
Matthew Chen de7bffa593 Send delivery receipts. 6 years ago
Matthew Chen 13373db3bc Send delivery receipts. 6 years ago
Matthew Chen 9ef0f35d26 Remove obsolete CDS constant. 6 years ago
Matthew Chen c5f52cc0b9 Respond to CR. 6 years ago
Matthew Chen fd9ee4c9f3 Fix small bug. 6 years ago
Matthew Chen 7e7fcc1698 Apply UD status from transcripts. 6 years ago
Matthew Chen 0c6c506a36 Send UD status in sync messages. 6 years ago
Matthew Chen 994e95a644 Update protos. 6 years ago
Michael Kirk 5edf2e426e Only report attestation failure if we *received* the attestion.
per Jeff
6 years ago
Michael Kirk c4550ebc90 don't submit feedback for connectivity errors 6 years ago
Michael Kirk e22ad8ba66 include underlying error in wrapped TSNetworkErrors 6 years ago
Michael Kirk e7170dc6e8 conventional error structure for connectivity error 6 years ago
Matthew Chen f00f608833 Respond to CR. 6 years ago
Matthew Chen f7827cda7b Respond to CR. 6 years ago
Matthew Chen c907721a18 Rotate profile key if blocklist intersects profile whitelist. 6 years ago
Matthew Chen 1f37980a0d Suppress UD against production service to avoid de-registration. 6 years ago
Matthew Chen f2a1df4e99 Update device message auditing to reflect UD behavior. 6 years ago
Matthew Chen 960b4f537d Suppress UD against production service to avoid de-registration. 6 years ago
Matthew Chen 9323e411fc Revert AppReadiness singleton. 6 years ago
Matthew Chen 27700ef78f Revert AppVersion singleton. 6 years ago
Matthew Chen f24ccb3ce6 Hang more singletons on SSKEnv. 6 years ago
Matthew Chen 8bd97aaaa0 Respond to CR. 6 years ago
Matthew Chen 03f23b5f79 Fix breakage in UD manager; add UD manager test, hang TSAccountManager on SSKEnv, fix bugs in tests. 6 years ago
Matthew Chen 1f2bfe8df4 Fix breakage in UD manager. 6 years ago
Matthew Chen bda6fdf44f Respond to CR. 6 years ago
Matthew Chen a6eed30127 Add 'is ud' property to outgoing messages. 6 years ago
Matthew Chen cba8c67983 Add 'is ud' property to incoming messages. 6 years ago
Matthew Chen 0d588346f1 Fix rebase breakage. 6 years ago