Commit graph

947 commits

Author SHA1 Message Date
Matthew Chen
c28d131f97 Respond to CR. 2018-10-30 16:18:22 -04:00
Matthew Chen
e11d43d1f8 Respond to CR. 2018-10-30 16:18:22 -04:00
Matthew Chen
c5f4711595 Apply refinements to UD logic. 2018-10-30 16:18:22 -04:00
Matthew Chen
2541be1619 Apply refinements to UD logic. 2018-10-30 16:18:22 -04:00
Michael Kirk
1dea927a3f Remove some usage of throwswrapped_ in udmanager since we don't need to
propogate the wrapped exception anyway.
2018-10-30 11:35:34 -06:00
Michael Kirk
3d9cd4f4ed CR: comments and code clarity 2018-10-30 11:35:34 -06:00
Michael Kirk
3bef78335d find -E . -type f -regex ".*\.(m|h|swift)" -exec sed -i "" -e "s/trywrapped_/throwswrapped_/g" {} \; 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
c4f8975308 Swift Exception wrap Curve25519 2018-10-30 11:35:34 -06:00
Michael Kirk
9d2731c9b8 exception auditing OWSRaiseException 2018-10-30 11:35:34 -06:00
Michael Kirk
3a6aafc454 Swift Exception wrap NSData+keyVersionByte 2018-10-30 11:35:34 -06:00
Michael Kirk
b622b3a020 Exception wrap TSDerivedSecrets for Swift 2018-10-30 11:35:34 -06:00
Michael Kirk
8d823193f1 Exception wrap WhisperMessage for Swift 2018-10-30 11:35:34 -06:00
Michael Kirk
1482c600b4 Exception wrap PreKeyWhisperMessage for Swift 2018-10-30 11:35:34 -06:00
Michael Kirk
60769a3d17 Exception wrap SessionCipher for Swift 2018-10-30 11:35:34 -06:00
Michael Kirk
e26db74fcd only check prekeys when decrypting a PKWM 2018-10-29 13:38:59 -06:00
Matthew Chen
33f0a32e59 Improve UD logging. 2018-10-26 17:21:49 -04:00
Matthew Chen
302da66017 Fix UD access logic. 2018-10-26 17:21:23 -04:00
Matthew Chen
737f64b761 Improve UD logging. 2018-10-26 16:09:20 -04:00
Matthew Chen
ad59b2f6d2 Move "ud access for sends" logic into UD manager. 2018-10-26 16:09:20 -04:00
Matthew Chen
7de289f6be Remove SSKUnidentifiedAccess. 2018-10-26 16:09:20 -04:00
Matthew Chen
dbe635f721 Try random UD access keys in profile gets. 2018-10-26 16:09:20 -04:00
Matthew Chen
f26241ebd0 Avoid deadlocks in contact manager. 2018-10-26 14:10:58 -04:00
Michael Kirk
d35b735d76 Log message type in message sender 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
Matthew Chen
278c61fd16 Remove assert around group avatar updates. 2018-10-24 17:11:48 -04:00
Matthew Chen
9df94b8477 Rework sync transcript sending. 2018-10-24 10:53:23 -04:00
Matthew Chen
21cf467bb4 Don't use websocket after 409/410. 2018-10-23 15:09:22 -04:00
Matthew Chen
b003049d9c Improve UD logging. 2018-10-22 14:29:08 -04:00
Matthew Chen
8c8b3a95b8 Respond to CR. 2018-10-22 14:04:30 -04:00
Matthew Chen
b83299888f Fix edge cases around UD v. linked devices. 2018-10-22 12:44:34 -04:00
Matthew Chen
d656ae1017 Fix edge cases around UD v. linked devices. 2018-10-22 12:31:28 -04:00
Matthew Chen
64aa43edb1 Only enable UD if UD is supported by all linked devices. 2018-10-20 10:27:15 -04:00
Matthew Chen
86e22edcb1 Send "sent message transcript" sync messages at the _end_ of a send, not after the first recipient is sent. 2018-10-19 17:22:28 -04:00
Matthew Chen
55369a1ca3 Only send 'sent message transcript' sync messages using UD. 2018-10-19 16:45:50 -04:00
Matthew Chen
94c7b72361 Only send "sent message transcript" sync messages using UD. 2018-10-19 16:45:50 -04:00
Matthew Chen
553d1ac3bc Respond to CR. 2018-10-19 16:43:14 -04:00
Matthew Chen
2894db0d6e Add request maker. 2018-10-19 16:35:19 -04:00
Matthew Chen
ab6c4a4c36 Try prekey fetches via websocket. 2018-10-19 09:03:47 -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
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
7115d45d08 Changes for UD in production. 2018-10-18 15:27:25 -04:00
Matthew Chen
d44e414b54 Clean up message sender. 2018-10-18 13:50:48 -04:00
Matthew Chen
9322442881 Don't assume all linked devices support UD. 2018-10-18 12:26:13 -04:00
Matthew Chen
353f91db64 Respond to CR. 2018-10-18 12:12:13 -04:00
Matthew Chen
9519e7961a Rework recipient device updates. 2018-10-18 11:21:16 -04:00
Matthew Chen
a00ebdf4a2 Fix UD auth edge cases. 2018-10-18 11:21:16 -04:00
Matthew Chen
4d89670f19 Fix UD auth edge cases. 2018-10-18 11:21:16 -04:00
Matthew Chen
6d3f62453e Add asserts around group id length. 2018-10-18 10:34:56 -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
f1646b6cbc Move db connections to environments. 2018-10-16 13:00:50 -04:00
Matthew Chen
9d7c3afdaf Show (threadless) error notifications for UD decrypt failures. 2018-10-16 11:00:38 -04:00
Matthew Chen
bc4ac8cd15 Respond to CR. 2018-10-15 15:08:00 -04:00
Matthew Chen
32cf68bece Get all tests building. 2018-10-15 12:50:07 -04:00
Michael Kirk
d6a6024f37 Update PromiseKit 2018-10-13 16:04:20 -06: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
Matthew Chen
5e0bc1bc1e Respond to CR. 2018-10-12 14:08:42 -04:00
Michael Kirk
3e85c8c023 clang-format branch changes 2018-10-12 13:52:46 -04:00
Matthew Chen
b53cb9e616 Clean up ahead of PR. 2018-10-12 13:52:46 -04:00
Matthew Chen
5cf8909a28 Modify OWSOutgoingReceiptManager to handle read receipts. 2018-10-12 13:52:46 -04:00
Matthew Chen
010ce1f6c2 Rename to OWSOutgoingReceiptManager. 2018-10-12 13:52:46 -04:00
Matthew Chen
2b45a8348e Clean up ahead of PR. 2018-10-12 13:52:46 -04:00
Matthew Chen
f5591ef7b7 Clean up ahead of PR. 2018-10-12 13:52:46 -04:00
Matthew Chen
62d1fd2025 Clean up ahead of PR. 2018-10-12 13:52:46 -04:00
Matthew Chen
45d6250aee Send delivery receipts. 2018-10-12 13:52:46 -04:00
Matthew Chen
de7bffa593 Send delivery receipts. 2018-10-12 13:52:46 -04:00
Matthew Chen
13373db3bc Send delivery receipts. 2018-10-12 13:52:46 -04:00
Matthew Chen
c5f52cc0b9 Respond to CR. 2018-10-12 13:49:05 -04:00
Matthew Chen
fd9ee4c9f3 Fix small bug. 2018-10-12 13:49:05 -04:00
Matthew Chen
7e7fcc1698 Apply UD status from transcripts. 2018-10-12 13:49:05 -04:00
Matthew Chen
0c6c506a36 Send UD status in sync messages. 2018-10-12 13:49:04 -04:00
Matthew Chen
c907721a18 Rotate profile key if blocklist intersects profile whitelist. 2018-10-11 13:02:02 -04:00
Matthew Chen
1f37980a0d Suppress UD against production service to avoid de-registration. 2018-10-11 13:00:53 -04:00
Matthew Chen
f2a1df4e99 Update device message auditing to reflect UD behavior. 2018-10-11 13:00:53 -04:00
Matthew Chen
f24ccb3ce6 Hang more singletons on SSKEnv. 2018-10-11 08:56:50 -04:00
Matthew Chen
8bd97aaaa0 Respond to CR. 2018-10-11 08:55:37 -04:00
Matthew Chen
03f23b5f79 Fix breakage in UD manager; add UD manager test, hang TSAccountManager on SSKEnv, fix bugs in tests. 2018-10-11 08:46:24 -04:00
Matthew Chen
1f2bfe8df4 Fix breakage in UD manager. 2018-10-11 08:46:24 -04:00
Matthew Chen
bda6fdf44f Respond to CR. 2018-10-10 14:34:14 -04: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
0d588346f1 Fix rebase breakage. 2018-10-10 14:28:02 -04:00
Matthew Chen
a4cdc5272c Handle UD auth errors in websocket sends. 2018-10-10 14:22:41 -04:00
Michael Kirk
fb2abdcd1a UD auth for profile fetching
Converging with Android, use UnidentifiedAccess getter
2018-10-10 09:09:11 -06:00
Michael Kirk
0be1f8cca2 Move UD auth into request initializers 2018-10-10 09:09:11 -06:00
Michael Kirk
39ba413439 Track UD mode enum instead of two booleans 2018-10-10 09:09:11 -06:00
Matthew Chen
fab79e2673 Respond to CR. 2018-10-10 09:59:10 -04:00
Matthew Chen
75e59bbc6f Discard self-sent messages during the decryption process. 2018-10-10 09:10:45 -04:00
Matthew Chen
e47b69e0aa Send sync messages to self via UD (only); discard self-sent sync messages. 2018-10-10 09:10:45 -04:00
Matthew Chen
5e253f1c26 Always include "local user" in contacts sync messages. 2018-10-10 09:10:45 -04:00
Matthew Chen
7cb0158331 Apply UD access verifier. 2018-10-05 13:14:45 -04:00
Matthew Chen
21b383f4e2 Remove server GUID from TSIncomingMessage. 2018-10-05 13:02:35 -04:00
Matthew Chen
01ca416f42 Fix rebase breakage. 2018-10-05 12:53:54 -04:00
Matthew Chen
2f2b6b071b UD sends over web sockets; update web socket auth for UD. 2018-10-05 12:49:40 -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
fbfda5b9db Respond to CR. 2018-10-05 12:00:31 -04:00
Matthew Chen
1a23186ec4 Fix 'info message for group events'. 2018-10-05 11:50:17 -04:00
Matthew Chen
61a99c3f87 Further sender cleanup. 2018-10-05 11:49:36 -04:00
Matthew Chen
f2a9c10c20 Respond to CR. 2018-10-05 10:41:10 -04:00
Matthew Chen
a697072271 Respond to CR. 2018-10-05 10:32:32 -04:00
Matthew Chen
f9e90215b3 Respond to CR. 2018-10-05 09:28:53 -04:00
Michael Kirk
405cc31a38 Apply new colors to new conversation 2018-10-04 10:34:57 -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
1e10a86635 UD send via REST. 2018-10-04 11:56:36 -04:00
Matthew Chen
24b0eed1f6 UD send via REST. 2018-10-04 11:56:36 -04:00
Matthew Chen
d08479980d UD send via REST. 2018-10-04 11:56:36 -04:00
Matthew Chen
c856859fbd Fix build breakage. 2018-10-04 11:56:21 -04:00
Matthew Chen
1b25a18e57 Respond to CR. 2018-10-04 11:50:22 -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
Matthew Chen
f0b16186cd Respond to CR. 2018-10-03 10:08:45 -04:00
Matthew Chen
b8c5e14758 Apply UD trust root value for staging. 2018-10-03 09:34:16 -04:00
Matthew Chen
0c0d2a702e Decrypt incoming UD messages. 2018-10-03 09:32:21 -04: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
39f1be65f3 Respond to 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
b808c2b33b Respond to CR. 2018-10-02 13:52:44 -04:00
Matthew Chen
dca46e019f Respond to CR. 2018-10-02 13:25:42 -04:00
Matthew Chen
e98c572158 Sketch out sender certificate validation. 2018-10-02 13:25:17 -04:00
Matthew Chen
45233ec862 Revert UD server certificate parsing. 2018-10-02 13:24:20 -04: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
7fd15d2fd9 Add server certificate methods to UD manager. 2018-10-02 13:24:00 -04:00
Matthew Chen
71da312336 Post-SMK ud changes. 2018-10-02 13:19:41 -04:00
Matthew Chen
7d727b7ac9 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
0125535d4d Pull out SignalCoreKit. 2018-10-01 09:06:40 -04:00
Matthew Chen
ebae75af00 Revert 'new sort id'. 2018-09-27 19:40:51 -04:00
Michael Kirk
e3e6c31612 fix hang on conversation load 2018-09-27 15:29:00 -04: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
Michael Kirk
6bfd0f29ed mark self-sent messages as read as soon as it was created 2018-09-26 09:52:34 -06:00
Michael Kirk
b281b37637 replace thread.lastMessageDate/archivalDate -> thread.lastSortId, thread.archivedAsOfSortId
Update migration accordingly

Date shown on home view cell is message.receivedAt
2018-09-26 09:52:34 -06:00
Michael Kirk
90aa593dcd sortId vs. Read status 2018-09-26 09:52:33 -06:00
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.
2018-09-26 09:52:33 -06:00
Michael Kirk
e1a46d85fb investigation shows we don't use this timestamp for call error messages 2018-09-26 09:52:33 -06:00
Michael Kirk
df61316495 minimize diff senderTimestamp -> timestamp 2018-09-26 09:52:33 -06:00
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.
2018-09-26 09:52:33 -06:00
Michael Kirk
550e7ba63b Create disappearing message update info messages before messages they affect
Since we're no longer sorting by timestamp we have to ensure we save the update
info message before we save any affected message, e.g. in the case of implicit
updates.
2018-09-26 09:52:33 -06:00
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.
2018-09-26 09:52:33 -06:00
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?
2018-09-26 09:52:33 -06:00
Matthew Chen
87836f506b Move more singletons to SSKEnvironment. 2018-09-21 09:06:48 -04:00
Matthew Chen
edcedd2845 Remove selfRecipient method. 2018-09-19 15:11:26 -04:00
Matthew Chen
e1db60c1c0 Rework creation of singletons. 2018-09-19 15:11:26 -04:00
Matthew Chen
4ad7ca79b7 Respond to CR. 2018-09-18 16:44:33 -04:00
Matthew Chen
e8eac9f30b Clean up ahead of PR. 2018-09-18 16:35:13 -04:00
Matthew Chen
b883209f91 Refine logging. 2018-09-18 16:35:12 -04:00
Michael Kirk
1853e79c3e Don't retry send until SPK has been rotated
// FREEBIE
2018-09-17 10:10:32 -06:00
Michael Kirk
3df0e72eda Extract SPK rotation and CreatePreKey operations 2018-09-17 10:10:32 -06:00
Michael Kirk
920a82564f Merge tag '2.29.3.3' 2018-09-15 09:17:08 -05:00
Matthew Chen
22afe39cd0 Respond to CR. 2018-09-14 14:34:50 -04:00
Matthew Chen
2ea751bbac Clean up attachment downloads. 2018-09-14 14:34:50 -04:00
Matthew Chen
32f1ce9473 Clean up attachment downloads. 2018-09-14 14:34:50 -04:00
Matthew Chen
9b94580dae Update assertions.
* Streamline precompiled headers.
* Remove obsolete assertions in Constraints.h.
2018-09-14 14:30:06 -04:00
Matthew Chen
e15b8ebe16 Add names to operation queues. 2018-09-14 14:24:37 -04:00
Michael Kirk
24ea8262d5 consolidate blocked-group state tracking 2018-09-14 10:51:39 -05:00
Michael Kirk
1f15ba6dc5 Cache group details on blocking manager
In case the group thread is later deleted.
2018-09-14 10:31:17 -05:00
Michael Kirk
b96e9a6a82 Fix: not receiving group deliveries
Previously we were using the wrong method - the local user's id is removed
from group.recipientIdentifiers
2018-09-13 09:57:35 -05:00
Michael Kirk
f1e5b1862f Ignore messages from left groups 2018-09-12 19:16:14 -05:00
Michael Kirk
2c9d905a16 Message processor ignores messages from blocked group 2018-09-12 19:16:14 -05:00
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
2018-09-12 19:16:14 -05:00
Michael Kirk
b282d51da0 SyncMessages for blocked groups 2018-09-12 19:16:14 -05:00
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
2018-09-12 19:16:14 -05:00
Michael Kirk
08c0b248ed fix group avatar updates and quote generation
don't shadow same-named variable
2018-09-12 15:01:57 -05:00
Matthew Chen
3a12446be8 Modify environment accessors to use our 'shared' convention. 2018-09-07 16:20:41 -04:00
Matthew Chen
bd05cdc031 Rename TextSecureKitEnv to SSKEnvironment. 2018-09-07 16:19:00 -04:00
Matthew Chen
f9eab5cd24 Merge remote-tracking branch 'origin/release/2.29.2' 2018-09-07 15:27:50 -04:00
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
2018-09-07 10:00:48 -06:00
Matthew Chen
a2fe4dbe39 Refine image validation. 2018-09-06 16:04:01 -04:00
Matthew Chen
34a05cdb85 Refine image validation. 2018-09-06 16:04:01 -04:00
Matthew Chen
27fa5dc2ef Make thumbnail logic thread-safe to being called on main thread. 2018-09-06 16:03:29 -04:00
Matthew Chen
a04aa259ed Fix bug in sync loading of thumbnails. 2018-09-06 16:03:29 -04:00
Matthew Chen
5bdbf76b08 Cache "is valid image/video" properties. 2018-09-06 16:03:29 -04:00
Matthew Chen
b1f2b9e75c Clean up thumbnail-related logic. 2018-09-06 16:03:29 -04:00
Matthew Chen
b91751a114 Respond to CR. 2018-09-06 15:30:00 -04:00
Matthew Chen
748b243156 Restore full-screen thumbnails. 2018-09-06 15:30:00 -04:00
Matthew Chen
72a71c185b Improve handling of thumbnails dir. 2018-09-06 15:30:00 -04:00
Matthew Chen
3a5d1877da Reduce thumbnail sizes. 2018-09-06 15:30:00 -04:00
Matthew Chen
ec83ed182b Clean up. 2018-09-06 15:30:00 -04:00
Matthew Chen
32bf47fc74 Don't track thumbnail metadata in db; improve thumbnail quality. 2018-09-06 15:30:00 -04:00
Matthew Chen
8026d34651 Remove full-screen thumbnail. 2018-09-06 15:30:00 -04:00
Matthew Chen
2daa66fdf6 Use thumbnails dir. 2018-09-06 15:30:00 -04:00
Matthew Chen
a9096209e9 Add failure methods to thumbnail service. 2018-09-06 15:30:00 -04:00
Matthew Chen
8748dc9b2e Modify new thumbnail system to include video and GIF thumbnails. 2018-09-06 15:30:00 -04:00
Matthew Chen
206432fdf0 Add failure methods to thumbnail service. 2018-09-06 15:30:00 -04:00
Matthew Chen
f6e792c707 Add failure methods to thumbnail service. 2018-09-06 15:30:00 -04:00
Matthew Chen
3437361d70 Use new thumbnails in media gallery thumbnails. 2018-09-06 15:30:00 -04:00
Matthew Chen
ac4365e1c9 Add OWSThumbnailService. 2018-09-06 15:30:00 -04:00
Matthew Chen
1831f0b1f8 Reorder AttachmentStream methods. 2018-09-06 15:30:00 -04:00
Matthew Chen
446ceb2b9c Rename AttachmentStream methods. 2018-09-06 15:30:00 -04:00
Matthew Chen
498828f93c Rename AttachmentStream methods. 2018-09-06 15:30:00 -04:00
Matthew Chen
44a3a81469 Update logging and asserts in hotfix changes. 2018-09-04 16:12:41 -04:00
Matthew Chen
fac7f6932f Rename TSGroupMetaMessage enum values. 2018-09-04 09:30:01 -04:00
Matthew Chen
f4d1f25656 Merge remote-tracking branch 'origin/release/2.29.1' 2018-09-04 09:27:41 -04:00