Commit Graph

1939 Commits (29ac92e961d7aa5ec28d951dc94258fdfdfd1e9c)

Author SHA1 Message Date
Matthew Chen ed25f4748d Deprecate 'signaling key'. 6 years ago
Matthew Chen 78d0685cba Discard transient messages if there is no session. 6 years ago
Matthew Chen 1934b5d589 Tweak unseen database view accessor. 6 years ago
Matthew Chen 9ab8bec2b1 Fix searching for 'note to self'. 6 years ago
Michael Kirk 432af13b63 Fix timer update message.
This was broken in 5671fd252 while resolving merge conflicts from applying the
sortId changes.
6 years ago
Matthew Chen 449633e0dc Respond to CR. 6 years ago
Matthew Chen a7909c9c2e Note to Self. 6 years ago
Matthew Chen 1d13a02927 Note to Self. 6 years ago
Matthew Chen 17c3ba0580 Image editor fixes. 6 years ago
Matthew Chen dc6dadad43 Respond to CR. 6 years ago
Matthew Chen 1260e7459d Add asserts around attachment crash. 6 years ago
Michael Kirk 38d5db9658 remove unnecessary logging 6 years ago
Michael Kirk 260002b02f move extension methods to SCK 6 years ago
Michael Kirk 3151e6e1a3 move string extensions up 6 years ago
Michael Kirk e735916388 move all possible methods into String+OWS in SCK 6 years ago
Michael Kirk df79fc9ed0 Move String+OWS into SSK
name Switcharoo String+OWS/String+SSK categories to reflect where they live.
6 years ago
Matthew Chen 1d905119ac Fix issues from integration testing. 6 years ago
Matthew Chen cd194af31a Respond to CR. 6 years ago
Matthew Chen bf2edf2486 Update comments. 6 years ago
Matthew Chen 2d3314751b Clean up ahead of PR. 6 years ago
Matthew Chen 0005a33d37 Decrypt device names in linked devices views. 6 years ago
Matthew Chen c113c8e962 Add DeviceNamesTest. 6 years ago
Matthew Chen d59e2bb613 Add decryption to DeviceNames. 6 years ago
Matthew Chen 0d20ebc62b Add encryption to DeviceNames. 6 years ago
Matthew Chen 79375e20b2 Update proto schema. 6 years ago
Michael Kirk 7bc5357397 [PERF] optimize search normalization saves 2.5% on large migration 6 years ago
Michael Kirk 0cb702b37f [PERF] save 2% on large migrations 6 years ago
Michael Kirk ca5b3c8ec9 make factory methods public 6 years ago
Michael Kirk fc7a713619 CR: use existing transaction rather than open sneaky one 6 years ago
Michael Kirk e0c9b590c0 CR: fix comment typo 6 years ago
Michael Kirk af7ee5e1d1 address compiler breakage after rebase 6 years ago
Michael Kirk 0db3f240dd keep legacy properties around just in case... 6 years ago
Michael Kirk 9d5753bd81 fix sortId comparison 6 years ago
Michael Kirk 5671fd2520 Revert "Revert 'new sort id'."
This reverts commit ebae75af00.
6 years ago
Matthew Chen 2df70aba6b Localize voice verification codes. 6 years ago
Michael Kirk dfb985f46c Merge tag '2.33.0.10' 6 years ago
Matthew Chen 4e0cfac911 Respond to CR. 6 years ago
Matthew Chen 07fef16155 Discard typing indicators for blocked and left groups. 6 years ago
Matthew Chen fa9af6c923 Try to play .mpg videos. 6 years ago
Matthew Chen b0e0c6e8c2 Replace edited attachments when sending. 6 years ago
Matthew Chen 26a25f861b Start sketching out image editor. 6 years ago
Michael Kirk 67cc1027cc Fix compiler warnings 6 years ago
Matthew Chen ca129bf360 Preheat more UI DB views. 6 years ago
Matthew Chen 19a2bfeaad More conversation viewmodel perf improvements. 6 years ago
Matthew Chen 5f637f24e9 Preheat UI DB views. 6 years ago
Matthew Chen b0295b736b Add ReverseDispatchQueue. 6 years ago
Matthew Chen bd318a84ab Fix typo. 6 years ago
Matthew Chen a96c6ed3b2 Persist the media validity cache. 6 years ago
Michael Kirk 425bdd7a4f guard against edge case
Though, I don't think this method should ever be called when localNumber is
nil.
6 years ago
Michael Kirk c8c932033b add proper nullability annotation 6 years ago
Michael Kirk beb02afce9 Soft delete group threads 6 years ago
Michael Kirk c0cb7df10a rename hasEverHadMessage -> shouldThreadBeVisible 6 years ago
Michael Kirk b7ab036c04 warn_unused_result on AnyPromise methods 6 years ago
Matthew Chen 48bd0cfa06 Add missing retains to promises. 6 years ago
Michael Kirk 9eb0c5e773 Merge branch 'release/2.32.0' 6 years ago
Michael Kirk 1328191a19 log transcript timestamp 6 years ago
Michael Kirk eb96eec94a Merge branch 'release/2.32.0' 6 years ago
Michael Kirk 5423607393 debug logging 7 years ago
Matthew Chen 4f0fa23c4f Don't ever show TI when they are disabled. 7 years ago
Michael Kirk 694b9ef7e9 Merge tag '2.32.0.20' 7 years ago
Matthew Chen 6e457e43ca Clear typing indicators when they are disabled. 7 years ago
Matthew Chen 7506d93eaf Respond to CR. 7 years ago
Matthew Chen fe8259bf0c Fix incremental backup exports. 7 years ago
Matthew Chen d70aa4418f Merge branch 'release/2.32.0' 7 years ago
Matthew Chen aa4fea64cf Improve Profiles Debug UI. 7 years ago
Michael Kirk 92dd77779c Merge tag '2.32.0.19' 7 years ago
Michael Kirk 9eeed99708 fix formatting after merge 7 years ago
Michael Kirk 156302acc7 Merge tag '2.31.2.0' into release/2.32.0 7 years ago
Matthew Chen 0955ab8662 Refine envelope processing. 7 years ago
Michael Kirk 1ab4ed9aec enable typing indicators directly from splash 7 years ago
Matthew Chen 036c6dca41 Merge branch 'release/2.32.0' 7 years ago
Matthew Chen 973afd041d Merge branch 'hotfix/2.31.1' into release/2.32.0 7 years ago
Michael Kirk 2b43fe31ed verify serialzed message exists 7 years ago
Matthew Chen a2dfcd0288 Respond to CR. 7 years ago
Matthew Chen 7624b01d1b Respond to CR. 7 years ago
Matthew Chen c183aeca8e Refine asserts around message sending. 7 years ago
Matthew Chen a6cef1c4cc Update UD indicators. 7 years ago
Matthew Chen b290c9a89f Fix headers for censorship circumvention. 7 years ago
Matthew Chen 4d1c38cc45 Never failover message sends. 7 years ago
Matthew Chen 08de701d6e Clean up ahead of CR. 7 years ago
Matthew Chen ca65325710 Don't send messages with restoring attachments. 7 years ago
Michael Kirk 39c8a153df fixup 2.32.0 RI 7 years ago
Michael Kirk 128bb9be8c Merge tag '2.32.0.17' 7 years ago
Michael Kirk b6e336a071 Merge tag '2.31.1.0' into release/2.32.0 7 years ago
Michael Kirk 24a19eaaca update REST endpoint ack url 7 years ago
Matthew Chen c3ad65af1d Respond to CR. 7 years ago
Matthew Chen 95e1f840c1 Backup misc collections. 7 years ago
Matthew Chen 7e39bf97e5 Backup misc collections. 7 years ago
Matthew Chen dcaaff7eac Add isRegisteredAndReady to TSAccountManager. 7 years ago
Matthew Chen 70b2280aa7 Add isRegisteredAndReady to TSAccountManager. 7 years ago
Matthew Chen 8110e0c765 Clean up usage of TSAccountManager. 7 years ago
Matthew Chen fa8095bf2d Respond to CR. 7 years ago
Matthew Chen 544bdbd7f5 Fix edge cases around registration. 7 years ago
Matthew Chen 4126b35a27 Respond to CR. 7 years ago
Matthew Chen 4ce0b68a86 Discard sender certificates after 24 hours. 7 years ago
Michael Kirk 6cdef57e2a Merge tag '2.32.0.15' 7 years ago
Michael Kirk 4a70f8dc0f only process attachments if they exist 7 years ago
Matthew Chen 5f8755f2eb Respond to CR. 7 years ago
Matthew Chen f5ba8048b7 Clean up ahead of PR. 7 years ago
Matthew Chen d76bdf3a58 Use attachment pointers to restore attachments from backup. 7 years ago
Matthew Chen e72dafb08e Use attachment pointers to restore attachments from backup. 7 years ago
Matthew Chen 90e7df5515 Use attachment pointers to restore attachments from backup. 7 years ago
Matthew Chen 88026be429 Merge branch 'release/2.32.0' 7 years ago
Matthew Chen f7df229fc0 Merge tag '2.31.0.39' into release/2.32.0 7 years ago
Michael Kirk 0d0359ee12 Fix crash due to empty authorId on old messages 7 years ago
Matthew Chen 4d2bbfc54d Fix crash around account attributes update when unregistered. 7 years ago
Michael Kirk b87b2522e3 Merge tag '2.32.0.13' 7 years ago
Michael Kirk 6935761ab9 Merge tag '2.31.0.38' into release/2.32.0 7 years ago
Michael Kirk f52a58e31e Handle known sender 7 years ago
Michael Kirk 6c2dbbc7c3 verify envelope source before proceeding with error handling 7 years ago
Matthew Chen 81f234f6a0 Fix breakage in share extension. 7 years ago
Michael Kirk 92135af8be Merge branch 'release/2.32.0' 7 years ago
Michael Kirk 12b916ad36 Merge tag '2.31.0.37' into release/2.32.0 7 years ago
Matthew Chen dacccccf74 Remove UD websocket. 7 years ago
Matthew Chen c2cc74f387 Fix build break. 7 years ago
Matthew Chen 949225d525 Respond to CR. 7 years ago
Matthew Chen bbdeeffc76 Use persistent HTTP connection for UD requests. 7 years ago
Matthew Chen c0e57bb35b Use persistent HTTP connection for UD requests. 7 years ago
Matthew Chen 11f8fcc80f Use persistent HTTP connection for UD requests. 7 years ago
Matthew Chen b865b91147 Use REST for UD requests. 7 years ago
Matthew Chen b583e96a04 Tweak clearMayHaveLinkedDevices. 7 years ago
Matthew Chen d71a4c6ff3 Revert "Randomly fail half of all websocket requests."
This reverts commit cae430bac9.
7 years ago
Matthew Chen 901f58c7e3 Fix bug when sending non-body attachments (e.g. group avatars). 7 years ago
Matthew Chen 860eb44edc Fix breakage in share extension. 7 years ago
Michael Kirk b25a704039 Fix: Compose thread picker doesn't show self 7 years ago
Michael Kirk 7eaaab7be4 restrict self device id in message building, not in recipient data model 7 years ago
Matthew Chen cae430bac9 Randomly fail half of all websocket requests. 7 years ago
Michael Kirk b79860ae0f fix compiler doc warning 7 years ago
Michael Kirk c50b8dd0d3 fix compiler warning 7 years ago
Michael Kirk 10af14d965 Remove legacy built in test runner from SSK.
You can run the SSK test suite by adding to your cocoaopods file:

    pod 'SignalServiceKit', git: 'https://github.com/signalapp/Signal-iOS.git', testspecs: ["Tests"]
7 years ago
Michael Kirk 7cba367c0a reconcile jobqueue tests with NSTimer based retry 7 years ago
Michael Kirk 4971be5c26 Fix DESIGNATED_INITIALIZER syntax 7 years ago
Michael Kirk 2f3d875dcf fixup ud manager tests 7 years ago
Michael Kirk 79bed93b2d reconcile jobqueue with new readiness based setup 7 years ago
Michael Kirk 2c44cbccfd avoid assertion when deliberately testing for failure 7 years ago
Michael Kirk 24668fa790 update to reflect id assignment on build 7 years ago
Michael Kirk 4b0fc51933 update test to reflect correct behavior 7 years ago
Michael Kirk e2ad9d81bb attachment factory
flesh out other factory builders
7 years ago
Michael Kirk 4d860bb9c7 fixup job queue test 7 years ago
Michael Kirk 24f57cedda add missing method to FakeContactsManager, convert to Swift to avoid missing
protocol methods in the future.
7 years ago
Michael Kirk ca58bb00f7 fixup tests from throws_ audit 7 years ago
Michael Kirk d492816664 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
7 years ago
Michael Kirk f45908c89d fixup spk deletion test 7 years ago
Michael Kirk 06b763dfc4 Remove unused methods/tests 7 years ago
Michael Kirk 8472801c4b fix link error when launching SSK tests 7 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
7 years ago
Matthew Chen da4f41defc Fix missing albumMessageId. 7 years ago
Michael Kirk 5da525ce2e Merge remote-tracking branch 'origin/release/2.31.0' 7 years ago
Matthew Chen 1be757788b Prevent long version strings from being scrubbed in the logs. 7 years ago
Matthew Chen 29b4702311 Fix build break. 7 years ago
Michael Kirk 366b228c01 use UUID for TSInteractions.uniqueId 7 years ago
Matthew Chen c9c9d35d19 Discard receipts for unregistered users. 7 years ago
Matthew Chen cd224a1590 Render single media as albums. 7 years ago
Matthew Chen 654325c6dc Add download progress indicators. 7 years ago
Matthew Chen 3daf7d4744 Add OWSAttachmentDownloads. 7 years ago
Michael Kirk 03aba93985 CR: use id for hashvalue, make clearer that we don't expect to use incrementing ID's for uniqueId 7 years ago
Michael Kirk 7cf53293da restore Share/Delete functionality to gallery items in the post multi-attachment world 7 years ago
Michael Kirk 42bf267607 fixup plumbing for incoming messages/synced transcripts 7 years ago
Michael Kirk e096406e56 migrate existing attachments to album-compatible gallery schema 7 years ago
Michael Kirk 57681bd6f3 Gallery supports album messages 7 years ago
Michael Kirk 27cb91e9c8 Plumb through messageAlbumId so an Attachment knows what album (if any) it
belongs to.
7 years ago
Matthew Chen 8b5a993694 Tweak timing of typing indicators. 7 years ago
Matthew Chen 2b5a79f123 Cycle websocket after learning of new linked devices via 409/410. 7 years ago
Matthew Chen f6322cb087 Fix logging in request maker. 7 years ago
Matthew Chen 47022377c2 Respond to CR. 7 years ago
Matthew Chen 954f32b775 Never use UD for sync messages. 7 years ago
Matthew Chen 8ff8f17b21 Never use UD for sync messages. 7 years ago
Matthew Chen 3a46a344ac Never use UD for sync messages. 7 years ago
Matthew Chen 2dfd4b2c0d Rename to media album. 7 years ago
Matthew Chen b7fd48ec40 Respond to CR. 7 years ago
Matthew Chen 9cdf8d06fd Ignore typing indicators from self. 7 years ago
Matthew Chen 57de089118 Add support for album captions to models. 7 years ago
Matthew Chen 3816cb4bf4 Update proto schema to reflect album captions. 7 years ago
Matthew Chen cdfd2779a3 Fix a couple small bugs in the typing indicators. 7 years ago
Matthew Chen 5aa6467d20 Fix issues in media gallery cells. 7 years ago
Matthew Chen 0341f5dc2b Modify ConversationViewItem to support media galleries. 7 years ago
Matthew Chen f2c0985907 Add 'is valid media?' method. 7 years ago
Matthew Chen 1c7add2b8f Respond to CR. 7 years ago
Matthew Chen 39c820b866 Distinguish 'app will/did become ready' events. 7 years ago
Matthew Chen eb2e16872e Distinguish 'app will/did become ready' events. 7 years ago
Matthew Chen 1c21c31c2b Fix failed reloads in SignalRecipient. 7 years ago
Matthew Chen c7d427029b Respond to CR. 7 years ago
Matthew Chen 47fda2e377 Add debug UI for multi-image sends. 7 years ago
Matthew Chen ecba67b511 Add debug UI for multi-image sends. 7 years ago
Matthew Chen f6591fac25 Add debug UI for multi-image sends. 7 years ago
Matthew Chen b90fee08bd Merge remote-tracking branch 'origin/release/2.31.0' 7 years ago
Matthew Chen 650469c6a7 Respond to CR. 7 years ago
Matthew Chen 63d88ef5cb Sketch out TypingIndicatorCell. 7 years ago
Matthew Chen eedc9f9a26 Sketch out "typing indicators" interaction and cell. 7 years ago
Matthew Chen 50381cc94c Add typing indicators in home view. 7 years ago
Matthew Chen b063a49d56 Rework typing indicators API. 7 years ago
Matthew Chen 3eab5b82cc Respond to CR. 7 years ago
Matthew Chen 3011175cef Fix "413 on prekey fetch" errors. 7 years ago
Matthew Chen e89d8b40d7 Fix "413 on prekey fetch" errors. 7 years ago
Matthew Chen 3cc1988f20 Fix "413 on prekey fetch" errors. 7 years ago
Matthew Chen 97e234f785 Fix "413 on prekey fetch" errors. 7 years ago
Matthew Chen 1db5a157ce Respond to CR. 7 years ago
Matthew Chen a5ebe394d1 Include typing indicators in configuration sync messages; emit when that value changes. 7 years ago
Matthew Chen 33f5398ba8 Update proto schema for configuration messages to reflect typing indicators setting. 7 years ago
Matthew Chen ea734ad171 Respond to CR. 7 years ago
Matthew Chen a09cb16e74 Add typing indicators setting. 7 years ago
Michael Kirk 85f85d9c3a fix debug crash 7 years ago
Michael Kirk fe15a260ef Merge branch 'release/2.31.0' 7 years ago
Matthew Chen 3729398507 Request profile fetches on main thread. 7 years ago
Matthew Chen 3d0e7386a4 Respond to CR. 7 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.
7 years ago
Matthew Chen 40aa78e001 Merge remote-tracking branch 'origin/release/2.31.0' 7 years ago
Matthew Chen 698e48f2d8 Respond to security review. 7 years ago
Matthew Chen 7d8b20d091 Apply refinements to UD logic. 7 years ago
Matthew Chen 44f6774396 Apply refinements to UD logic. 7 years ago
Matthew Chen c28d131f97 Respond to CR. 7 years ago
Matthew Chen e11d43d1f8 Respond to CR. 7 years ago
Matthew Chen ee87f1b489 Fix test breakage. 7 years ago
Matthew Chen c5f4711595 Apply refinements to UD logic. 7 years ago
Matthew Chen 2541be1619 Apply refinements to UD logic. 7 years ago
Michael Kirk 1dea927a3f Remove some usage of throwswrapped_ in udmanager since we don't need to
propogate the wrapped exception anyway.
7 years ago
Michael Kirk 3d9cd4f4ed CR: comments and code clarity 7 years ago
Michael Kirk 3bef78335d find -E . -type f -regex ".*\.(m|h|swift)" -exec sed -i "" -e "s/trywrapped_/throwswrapped_/g" {} \; 7 years ago
Michael Kirk cb9aa6304c find -E . -type f -regex ".*\.(m|h)" -exec sed -i "" -e "s/try_/throws_/" {} \; 7 years ago
Michael Kirk 8544c86427 Swift Exception wrap HKDFKit 7 years ago
Michael Kirk c4f8975308 Swift Exception wrap Curve25519 7 years ago
Michael Kirk c686e766b1 Exception audit, fail directly where intended 7 years ago
Michael Kirk 9d2731c9b8 exception auditing OWSRaiseException 7 years ago
Michael Kirk 3a6aafc454 Swift Exception wrap NSData+keyVersionByte 7 years ago
Michael Kirk 5f5ec9b82a ExceptionWrap loadPreKey 7 years ago
Michael Kirk b622b3a020 Exception wrap TSDerivedSecrets for Swift 7 years ago
Michael Kirk 8d823193f1 Exception wrap WhisperMessage for Swift 7 years ago
Michael Kirk 1482c600b4 Exception wrap PreKeyWhisperMessage for Swift 7 years ago
Michael Kirk 60769a3d17 Exception wrap SessionCipher for Swift 7 years ago
Matthew Chen a5f715eca1 Fix network manager error wrapping. 7 years ago
Matthew Chen deafc749d1 Fix UD manager tests. 7 years ago
Michael Kirk ccd30e0e1f more logging 7 years ago
Michael Kirk e26db74fcd only check prekeys when decrypting a PKWM 7 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.
7 years ago
Matthew Chen 33f0a32e59 Improve UD logging. 7 years ago
Matthew Chen 302da66017 Fix UD access logic. 7 years ago
Matthew Chen 737f64b761 Improve UD logging. 7 years ago
Matthew Chen ad59b2f6d2 Move "ud access for sends" logic into UD manager. 7 years ago
Matthew Chen 7de289f6be Remove SSKUnidentifiedAccess. 7 years ago
Matthew Chen dbe635f721 Try random UD access keys in profile gets. 7 years ago
Matthew Chen 70f274598c Avoid deadlocks in contact manager. 7 years ago
Matthew Chen f26241ebd0 Avoid deadlocks in contact manager. 7 years ago
Michael Kirk c4677c9d4f CR: add some reachability asserts 7 years ago
Michael Kirk 0c2bb439f9 kick-queue upon reachability 7 years ago
Michael Kirk 54c63c7a2e Reachability Singleton 7 years ago
Michael Kirk b8e4bfff86 shuffle isReady->isSetup, centralize starting workStep 7 years ago
Michael Kirk 751b6e5688 documentation for MessageSenderJobQueue 7 years ago
Michael Kirk 037bdebfab clarify backoff delay examples 7 years ago
Michael Kirk d35b735d76 Log message type in message sender 7 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
7 years ago