Commit Graph

10333 Commits

Author SHA1 Message Date
Sasha Weiss
0f4289fc73
Replace interaction anyRemove with InteractionDeleteManager 2024-06-04 14:51:52 -07:00
Harry
194d39ddea
Don't discard link previews sent alongside oversize text attachments 2024-06-03 16:07:08 -07:00
Harry
4350aed7da
Implement video attachment ContentType validation 2024-06-03 15:19:13 -07:00
Harry
009248b65d
Implement audio attachment ContentType validation 2024-06-03 15:18:16 -07:00
Harry
d5a95ed043
Slightly rework AttachmentContentValidator 2024-06-03 15:16:59 -07:00
Max Radermacher
5ca7cb66d4
Handle corruption gracefully when repairing the db 2024-06-03 12:34:51 -05:00
Adam Sharp
3f0405e9fb
When editing a message, prompt before discarding current draft 2024-06-03 12:23:09 -04:00
Marissa Le Coz
8d8b4ea8d2
Update call status strings 2024-05-31 16:06:04 -04:00
Marissa Le Coz
2d5f39e02b
Add Raise Hand button 2024-05-31 15:27:05 -04:00
Jordan Rose
1661eb780b OWSChatConnectionUsingLibsignal: Add proxy support 2024-05-31 12:24:51 -07:00
Harry
161a56db80
Implement image attachment ContentType validation 2024-05-30 15:30:50 -07:00
Harry
03be0659cd
Add file handle variants of OWSImageSource 2024-05-30 15:30:07 -07:00
Harry
e9038e0a38
Abstract ImageMetadata loading so it can use more than just in memory Data 2024-05-30 15:29:15 -07:00
Harry
ee112da330
Switch on mime type in AttachmentContentValidator 2024-05-30 15:00:25 -07:00
Harry
a6164b1ad4
Modernize Data.imageMetadata extension method 2024-05-30 14:57:25 -07:00
Harry
0c2d32f1c5
Add AttachmentContentValidator 2024-05-29 19:59:23 -07:00
Harry
b3a6c306ef
Implement AttachmentManager.createAttachmentPointers 2024-05-29 19:56:32 -07:00
Harry
ef62e06c82
Build AttachmentReference.OwnerBuilder into a full Owner object 2024-05-29 19:55:37 -07:00
Harry
f78239f105
Make TransitTierInfo.encryptedByteCount optional 2024-05-29 19:54:32 -07:00
Harry
c080fb899a
Implement AttachmentManager.removeAllAttachments(from owners:) 2024-05-29 19:53:13 -07:00
Harry
7910a93a0e
Make AttachmentManager.removeAllAttachments(from owners:) throw 2024-05-29 19:52:12 -07:00
Harry
99c97db7f0
Implement AttachmentManager.removeAttachment 2024-05-29 19:50:52 -07:00
Harry
0414598fd5
Implement OrphanedAttachmentCleaner 2024-05-29 19:49:44 -07:00
Harry
387a94699a
Share mock attachment param constructors 2024-05-29 19:43:58 -07:00
Harry
b300877407
Add OrphanAttachmentCleaner 2024-05-29 19:43:05 -07:00
Max Radermacher
5b448444bb
Insert events for missed calls while offline 2024-05-29 14:15:32 -05:00
Max Radermacher
131b174e22
Add CallOfferHandlerImpl 2024-05-29 12:13:06 -05:00
Max Radermacher
17ab8a1e66
Simplify CallMessageHandler 2024-05-29 11:55:42 -05:00
Max Radermacher
ca1b5f4751
Remove SignalCall.thread 2024-05-29 11:47:01 -05:00
Harry
0a07cc6969
Establish directory scheme for v2 Attachments 2024-05-28 15:55:04 -07:00
Harry
3be604bb28
Add fetchAttachment by plaintext hash method 2024-05-28 15:53:09 -07:00
Harry
eba1309d9f
Add addOwner for existing attachment method 2024-05-28 15:51:52 -07:00
Harry
056b68c59e
Throw when inserting a duplicate attachment by plaintext hash 2024-05-28 15:51:06 -07:00
Harry
4966be758a
Add OrphanedAttachmentRecord definition 2024-05-28 15:49:04 -07:00
Harry
5bc0d5c616
Implement marking attachment as uploaded 2024-05-28 15:45:01 -07:00
Harry
ff1a62475c
Throw on method to mark attachment as uploaded 2024-05-28 15:44:05 -07:00
Harry
9348405216
Take Attachment.TransitTierInfo instead of fanned out params 2024-05-28 15:43:28 -07:00
Harry
f32f98d826
Implement attachment owner duplication 2024-05-28 15:42:30 -07:00
Harry
a9e8866956
Change attachment owner duplication method signature 2024-05-28 15:41:49 -07:00
Harry
6f43fca86c
Implement AttachmentStore.removeAllThreadOwners 2024-05-28 15:41:00 -07:00
Harry
a8ab3582e3
Implement attachment owner removal 2024-05-28 15:40:14 -07:00
Harry
08e7989f70
Implement enumerating attachment references by attachment id 2024-05-28 15:39:38 -07:00
Harry
ee8d4369a4
Implement updating MessageAttachmentReference receivedAtTimestamp 2024-05-28 15:38:59 -07:00
Harry
3bd4dca844
Early fail on large UInt64 values in Attachments 2024-05-28 15:38:18 -07:00
Harry
b97a25c3d8
Handle global thread wallpaper reinsertion 2024-05-28 15:37:26 -07:00
Harry
5f01a907fc
Implement attachmentReference fetching by owner 2024-05-28 15:36:03 -07:00
Adam Sharp
21801b8e2a
Update from deprecated function SecTrustEvaluate(_:) 2024-05-28 16:17:13 -04:00
Harry
fc0ac237da
Implement attachment fetching by id 2024-05-28 12:58:33 -07:00
Harry
80de9e532a
Implement Attachment insert 2024-05-28 12:51:49 -07:00
Adam Sharp
c46080e682
Remove dead code after unconditional termination 2024-05-28 11:29:45 -04:00
Adam Sharp
c675ec09c7
Resolve designated initializer warnings in SignalServiceKit 2024-05-28 10:47:15 -04:00
Adam Sharp
0f41ad1d74
Fix codegen formatting 2024-05-28 10:45:10 -04:00
Harry
c5e142019f
Update variable names from builder->constructionparams for attachments 2024-05-24 13:52:46 -07:00
Harry
3bc52c4954
Add a bunch of AttachmentStore tests 2024-05-24 13:52:06 -07:00
Harry
f41a1709a8
Implement v2 WallpaperImageStoreImpl 2024-05-24 13:11:54 -07:00
Max Radermacher
7f1bcbf991
Stop tracking pending calls at the app layer 2024-05-24 14:39:57 -05:00
Max Radermacher
fe82d248e1
Rename to CurrentCallProvider 2024-05-24 14:36:14 -05:00
Max Radermacher
3eec477bf1
Process some missed call events more quickly 2024-05-24 14:16:55 -05:00
Max Radermacher
e1b903c711
Move some of IndividualCall to CallEventInserter 2024-05-24 14:09:37 -05:00
Harry
37c5fa83e4
Factor out AttachmentStoreImpl methods for testing 2024-05-24 11:19:55 -07:00
Harry
5bd57c6559
Move AttachmentReference.OwnerBuilder to a different file 2024-05-24 11:16:23 -07:00
Harry
0ac8f86603
Add AttachmentReference.ConstructionParams 2024-05-24 11:13:22 -07:00
Harry
3f9b412ab2
Add Attachment.Builder 2024-05-24 11:01:20 -07:00
Harry
5ccd1c3ce1
Make AttachmentStore write methods throw 2024-05-24 10:48:24 -07:00
Sasha Weiss
750b1c2a40
Move JobRecords to co-locate with JobQueues 2024-05-23 12:10:36 -07:00
Harry
e6c47c9250
Initialize Attachment.Record from Attachment 2024-05-23 09:14:28 -07:00
Harry
e5787cd5a1
Define Attachment and AttachmentReference Record types for reading/writing to the database 2024-05-23 09:13:13 -07:00
Harry
0d85470991
Create V2 Attachment table (+ friends) migration 2024-05-23 09:12:22 -07:00
Max Radermacher
50ba587dc9
Simplify PushKit handling for calls 2024-05-22 23:21:58 -05:00
Max Radermacher
ac887c5014
Remove some unnecessary file existence checks 2024-05-22 23:19:31 -05:00
Max Radermacher
68268dc16f
Clean up device transfer move operations 2024-05-22 17:20:38 -05:00
Max Radermacher
e8b3a9f85d
Use Swift-native approach for truncating Strings
Co-authored-by: Adam Sharp <sharplet@signal.org>
2024-05-22 17:07:21 -05:00
Max Radermacher
be974a2551
Rip out unused device transfer code 2024-05-22 15:35:22 -05:00
Sasha Weiss
47a02e1e6a
Remove now-obsolete warning when sending an edit 2024-05-22 13:33:23 -07:00
Max Radermacher
1ef3a956d6
Update to LibSignal v0.47.0 2024-05-22 13:48:32 -05:00
Adam Sharp
f245dcc2d7
Address unused variable warnings in SignalServiceKit 2024-05-22 12:04:52 -04:00
Adam Sharp
bcc31cbc4f
Double Tap to Edit 2024-05-21 15:15:59 -04:00
Harry
ebb626ea10
Split raw attachment reference owner enums by their containing table 2024-05-21 10:37:57 -07:00
Harry
5c31047c54
Split out and clean up thread wallpaper image storage 2024-05-21 10:37:05 -07:00
Harry
0331807a05
Handle TSResource in AudioPlayer, take 2 2024-05-21 10:14:07 -07:00
Marissa Le Coz
139e2eabd2
Productionize CallMemberView for remote group members 2024-05-20 17:56:30 -04:00
Sasha Weiss
0abdf5793b
Integrate shared Message Backup integration test repo 2024-05-20 14:37:05 -07:00
Sasha Weiss
fefbf7e5c3
Validate incoming edit message target timestamp 2024-05-20 14:14:14 -07:00
Harry
d8a48c67c6
Don't create two attachments every time we get an edit message sync transcript 2024-05-20 14:07:44 -07:00
Jordan Rose
cbaae3fb08 Tighten up checks for PublicKey.init(keyBytes:)
For historical reasons libsignal's PublicKey.init(_:) allows trailing
data, because the type byte specifies how much of the data is relevant
anyway. init(keyBytes:), however, should not be so lax, since it's
assuming the key data is a Curve25519 public point.
2024-05-20 10:18:42 -07:00
Jordan Rose
0ac5558493 Move libsignal-net proxy handling into SignalProxy
Since this already affects more than just the chat connection, having
it in OWSChatConnection isn't really the best choice. This way we can
be sure the libsignal Net instance's proxy settings will be updated
before any notifications go out.
2024-05-17 16:20:13 -07:00
Jordan Rose
9defb935a0 0 is not a valid TLS proxy port 2024-05-17 16:20:13 -07:00
Sasha Weiss
3ffcc47a66
Scaffold for Backup integration tests 2024-05-17 13:59:49 -07:00
Max Radermacher
3526c2b650
Remove unused canBuildWebSocket 2024-05-17 13:53:08 -05:00
Sasha Weiss
5e218e8546
Add support for plaintext backup import/export 2024-05-17 10:40:21 -07:00
Max Radermacher
503d5c635e
Rip out a bunch of NonCallKitCallUIAdaptee 2024-05-16 18:24:04 -05:00
Max Radermacher
cab7fb76f4
Fix a typo related to storedPrimaryFolderName 2024-05-16 17:58:53 -05:00
Harry
96ffe02d8b
Clean up new group info message events 2024-05-16 14:11:32 -07:00
Max Radermacher
bcfd4c51a8
Fix crash after using device transfer 2024-05-16 16:01:15 -05:00
Sasha Weiss
47c6f80c27
Track which field is missing in SDSError.missingRequiredField 2024-05-16 12:38:13 -07:00
Max Radermacher
354dc28451
Fix flaky PniDistributionParameterBuilderTest 2024-05-16 13:21:44 -05:00
Harry
a910f3d0e7
Don't mark non-animated images invalid just because we checked isAnimatedContent at some point 2024-05-15 11:05:16 -07:00
Harry
36837c4e78
Respect updateStorageService param when updating my story 2024-05-14 14:39:03 -07:00
Harry
6835de9ba5
Always treat OWSPaymentMessages as having renderable content 2024-05-14 14:31:47 -07:00
Adam Sharp
585da625a1 Audit remaining strings for "audio call" -> "voice call"
In addition to updating the remaining English occurrences of "audio call", this
unifies all string constants, localisation comments and UI-level variable names
to use the new "voice call" terminology.

Anything that was obviously protocol-level or related to persistence is still
using the term "audio call", which appears to be a term of art at that layer.

Fixes: https://signalmessenger.atlassian.net/browse/IOS-4850
2024-05-14 13:36:27 -04:00
Max Radermacher
34eca8a139
Fix some dependency cycles with CallService 2024-05-14 11:46:52 -05:00
Harry
e472f501d8
Revert recent AudioPlayer TSResource changes 2024-05-13 16:15:11 -07:00
Marissa Le Coz
600cb005de
Remove call reaction feature flags 2024-05-13 19:10:47 -04:00
Max Radermacher
77aab0e37b
Update outdated staging environment constant 2024-05-13 18:10:29 -05:00
Marissa Le Coz
44ac1ba1bf
Productionize CallMemberView for individual remote members 2024-05-13 18:45:16 -04:00
Max Radermacher
f62b97581a
Acquire a background task during MSL cleanup 2024-05-13 16:10:18 -05:00
Harry
3f9c835a12
Increase max animated image frame size allowed 2024-05-13 13:29:15 -05:00
Jordan Rose
6363dc07d1 OWSChatConnectionUsingLibSignal: 7a396ba9f, again 2024-05-13 10:18:08 -07:00
Pete Walters
0c2ec56809
Add HMAC validation to backup import. 2024-05-08 12:22:45 -05:00
Ehren Kret
9551a72323 migrate PhoneNumberUtil to swift 2024-05-08 09:36:18 -05:00
Ehren Kret
84bc79a894 migrate PhoneNumberUtil getExampleNumberForType:type:nbPhoneNumberUtil: to swift 2024-05-08 08:15:30 -05:00
Ehren Kret
12e9d554a4 migrate PhoneNumberUtilTest remaining tests to swift 2024-05-08 08:05:22 -05:00
Ehren Kret
13a1637608 migrate AppContext protoocl to swift 2024-05-08 07:37:37 -05:00
Ehren Kret
4364907c3e move AppContext globals to swift 2024-05-08 07:37:37 -05:00
Harry
36784dcced
Add invalid v2 Attachment content type 2024-05-07 15:06:59 -07:00
Harry
82efa4eb7f
Audit usages of TSResource.mimeType to ensure we check contentType first 2024-05-07 15:06:11 -07:00
Harry
397cbf94e6
Compute and cache v2 attachment video still frames at download time 2024-05-07 15:05:28 -07:00
Max Radermacher
fa48dd4b5d
Fix LocalProfileChecker avatar mismatch handling 2024-05-07 17:04:54 -05:00
Harry
4ad9df5f1b
Eliminate the last instance of TSAttachment outside explicit bridging code 2024-05-07 15:04:44 -07:00
Harry
427ee2b087
Use TSResource in ViewOnceMessageViewController 2024-05-07 15:04:01 -07:00
Max Radermacher
ae04b37ad6
Avoid addresses in OWSGroupCallMessage 2024-05-07 12:31:52 -05:00
Jordan Rose
58720baa80 Turn on "high" shadowing for unauth requests for beta users
This can still be overridden with the
ios.experimentalTransportEnabled.shadowingHigh remote config flag if
necessary.
2024-05-06 11:57:33 -07:00
Sasha Weiss
05960887cd
Support for Calls in Backups 2024-05-06 11:43:13 -07:00
Sasha Weiss
6ff76dd7e6
Do away with some ObjC test infra 2024-05-06 09:57:21 -07:00
Alex Konradi
f05c7fd129
Turn on libsignal CDSI lookup for all builds 2024-05-06 09:53:45 -04:00
Jordan Rose
401d55d751 OWSChatConnection: Handle TLS proxies for libsignal shadowing 2024-05-03 17:36:29 -07:00
Harry
768040273e
Create StickerMetadata from TSResourceStream 2024-05-03 16:26:01 -07:00
Harry
0e228ab878
Feature parity with desktop on lottie sticker support (aka drop support) 2024-05-03 14:59:07 -07:00
Harry
67ad7494f4
Use TSResourceStream.avAsset directly in AudioPlayer 2024-05-03 14:44:06 -07:00
Harry
aa38eefe9c
Use AVPlayer instead of AVAudioPlayer in AudioPlayer class 2024-05-03 14:42:39 -07:00
Harry
633014ae72
Remove a few easy TSAttachmentStream bridges 2024-05-03 14:33:53 -07:00
Harry
fb4410c4c3
Get YYImages off AttachmentStream/TSResourceStream 2024-05-03 14:33:10 -07:00
Harry
ef6df4467a
Get still frame from video attachments 2024-05-03 14:31:40 -07:00
Harry
f0a5dd10bd
Load animated images for v2 AttachmentStream 2024-05-03 14:31:06 -07:00
Harry
85eaeafcc7
Render precomputed audio waveforms for v2 attachments 2024-05-03 14:30:25 -07:00
Harry
9c6b593fe0
Add loading of AVAsset and CGImage directly from encrypted file handle 2024-05-03 14:29:44 -07:00
Max Radermacher
23b3061cb3
Update to LibSignal v0.46.0 2024-05-03 13:37:04 -05:00
Max Radermacher
6f96ebe77d
Swiftify part of OWSGroupCallMessage 2024-05-03 13:36:04 -05:00
Max Radermacher
1ceab3701a
Remove unused tld property 2024-05-03 12:46:10 -05:00
Sasha Weiss
a25868491f
Make defaults in TSIncomingMessageBuilder explicit and complete 2024-05-02 15:56:02 -07:00
Max Radermacher
bd93c4a3d9
Use kOversizeTextMessageSizeThreshold consistently 2024-05-02 15:32:36 -05:00
Max Radermacher
6f4fbd37cb
Fetch profiles in the NSE 2024-05-02 15:32:14 -05:00
Max Radermacher
33549e5893
Rebuild ProfileFetcher 2024-05-02 14:29:07 -05:00
Max Radermacher
03afa77603
Prefer non-SignalCoreKit APIs where possible 2024-05-02 14:23:51 -05:00
Jordan Rose
7e98708fdd Revert "OWSChatConnection: disable shadowing requests under CC"
libsignal 0.45.1 makes this work correctly.

This reverts commit f78a4dfaa5.
2024-05-02 10:57:55 -07:00
Ehren Kret
83e8c584c1 remove dead code in AppContext 2024-05-02 05:19:51 -05:00
Harry
d6dbc85694
Clean up TSResourceStream file access API 2024-05-01 16:56:10 -07:00
Max Radermacher
0b3d2a8f18
Remove and fix confusing substring methods 2024-05-01 15:46:25 -05:00
Pete Walters
678bfe195d
Add validation methods 2024-05-01 15:37:53 -05:00
Max Radermacher
73ea9c957a
Match system behavior for nicknames 2024-05-01 14:45:41 -05:00