Commit graph

736 commits

Author SHA1 Message Date
Matthew Chen
32d3eed7ba Add ConversationViewModel. 2018-11-01 14:51:47 -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
af19405178 update carthage build path for tests 2018-10-29 12:19:57 -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
bf1f9e706a Exclude date/time and Xcode version info in debug builds to avoid churn. 2018-10-26 15:17:37 -04: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
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
8e1103c28f Log WebRTC version. 2018-10-24 16:58:45 -04:00
Michael Kirk
91eba4dbfc Move WebRTC to separate submodule 2018-10-22 14:48:45 -06: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
7c1f1882d8 Sync "show UD indicators" setting. 2018-10-16 17:42:54 -04:00
Matthew Chen
d7e52367ff Create AppEnvironment. 2018-10-15 15:08:37 -04:00
Matthew Chen
c907721a18 Rotate profile key if blocklist intersects profile whitelist. 2018-10-11 13:02:02 -04:00
Matthew Chen
1d40cbfb41 Rework account attributes; persist manual message fetch; add "unrestricted UD" setting. 2018-10-03 08:59:55 -04:00
Matthew Chen
71da312336 Post-SMK ud changes. 2018-10-02 13:19:41 -04:00
Matthew Chen
8ae200ac21 Fix build breakage around SignalCoreKit. 2018-10-01 09:07:40 -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
95a6df6496 Generic SheetViewController 2018-09-27 13:34:23 -06:00
Michael Kirk
79add78d51 Merge branch 'release/2.30.1' 2018-09-27 13:03:35 -06:00
Matthew Chen
5a99cd347f Pull out OWSConversationColor to its own file. 2018-09-27 12:24:14 -04:00
Michael Kirk
6c5fbc6de5 Update existing contact offers in place
WIP: migration / autoincrement logic

TODO:

-[x] 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?

fixup contact offers
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
ae84528dc3 Update avatar colors; add shaded conversation color constants, modify color picker to be color-name-based, not color-based, use shaded conversation colors, remove JSQ. 2018-09-25 16:11:37 -04:00
Matthew Chen
0b7d269017 Rename DebugContactsUtils. 2018-09-25 15:48:27 -04:00
Matthew Chen
bcee59f5e5 Add contact utils class. 2018-09-25 15:46:08 -04:00
Matthew Chen
98630cca50 Respond to CR; add db utility methods to test base classes. 2018-09-21 09:21:34 -04:00
Matthew Chen
e1db60c1c0 Rework creation of singletons. 2018-09-19 15:11:26 -04:00
Matthew Chen
0c6f6cdafd Fix compilation errors in Signal tests. 2018-09-19 13:53:57 -04:00
Michael Kirk
920a82564f Merge tag '2.29.3.3' 2018-09-15 09:17:08 -05: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
6c8af5b541 Update cocoapods. 2018-09-14 14:23:44 -04:00
Matthew Chen
62c55c9cfb Fix broken tests. 2018-09-14 14:20:39 -04:00
Michael Kirk
0f9b0936df Use cached group details when rendering blocklist 2018-09-14 10:31:17 -05:00
Michael Kirk
448936d156 BlockListCache
block manager synchronizes on self for coherent read/writes to blocking state
across threads, but we want to be able to have performant reads on the main
thread.
2018-09-12 19:16:14 -05:00
Matthew Chen
3935b019f4 Add base class for tests. 2018-09-10 17:30:18 -05:00
Matthew Chen
ac4365e1c9 Add OWSThumbnailService. 2018-09-06 15:30:00 -04:00
Michael Kirk
3022f92925 Tweak tint for search bar icons in dark theme 2018-08-22 12:00:44 -06:00
Matthew Chen
a76d488e8b Fix QA issues in theme. 2018-08-15 17:09:59 -04:00
Michael Kirk
8829cdfb4b Toast view when tapped message doesn't exist, mark remotely sourced. 2018-08-10 16:55:54 -06:00
Matthew Chen
c91bc71ebd Cache sender name size. 2018-08-09 14:03:03 -04:00
Matthew Chen
acd7d094b1 Refine theme. 2018-08-08 15:04:23 -04:00
Michael Kirk
9662b3cb1e Wait a week before nagging when a new release comes out 2018-08-08 10:26:00 -06:00
Michael Kirk
e5b3cbd00c Use StoreKit for reviews 2018-08-07 15:56:52 -06:00
Matthew Chen
a5ffbdebb3 Remove Obj-c proto parser. 2018-08-07 15:10:48 -04:00
Matthew Chen
a4d24c78a4 Respond to CR. 2018-08-07 15:09:10 -04:00
Matthew Chen
379104c532 Migrate to WebRTC proto wrappers. 2018-08-07 13:20:22 -04:00
Matthew Chen
06d84860ae Fix rebase breakage. 2018-08-07 13:07:26 -04:00
Matthew Chen
45e782c243 Revamp orphan data cleaner. 2018-08-07 13:07:26 -04:00
Matthew Chen
9b45a15c35 Merge branch 'release/2.28.1' 2018-08-06 09:01:19 -04:00
Michael Kirk
0bc03b0fd4 Move seed 2018-08-03 14:26:43 -06:00
Michael Kirk
991848b364 Fix "blue navbar" for contact picker
- content flows behind navbar
- unify search bar style with rest of app

// FREEBIE
2018-08-03 12:40:49 -06:00
Michael Kirk
78ad597e44 Merge tag '2.28.0.15' 2018-07-31 17:36:37 -06:00
Michael Kirk
29c459fe60 Haptic feedback when changing menu action selection
// FREEBIE
2018-07-31 10:15:34 -06:00
Michael Kirk
1658812102 TSan config 2018-07-30 12:31:21 -06:00
Michael Kirk
bae2e8649d Dry up Parameter parsing logic 2018-07-25 15:35:30 -06:00
Michael Kirk
d39906f606 CR: test malformed protos 2018-07-25 15:20:07 -06:00
Michael Kirk
b860dce7f9 Swift protos for Envelope 2018-07-25 13:04:26 -06:00
Michael Kirk
6e1c1a681b Merge tag '2.28.0.12' 2018-07-23 16:12:46 -06:00
Michael Kirk
2d4eb7d057 remove interactive 'swipe for info' 2018-07-23 13:08:41 -06:00
Michael Kirk
b42f528713 Integrate with new contact discovery endpoint
Also:
* use system cookie parsing
* add AESGCM additional authenticated data parameter

// FREEBIE
2018-07-23 12:21:54 -06:00
Matthew Chen
73eb0778c0 Add unit tests around byte parser. 2018-07-23 14:00:58 -04:00
Matthew Chen
25a98554b7 Intern JSQMessagesViewController. 2018-07-23 13:48:24 -04:00
Matthew Chen
819c2b1ceb Remove Twisted Oak. 2018-07-23 13:24:33 -04:00
Matthew Chen
904ed1549e Add unit test around remote attestation. 2018-07-23 13:13:02 -04:00
Matthew Chen
48975eaac8 Respond to CR. 2018-07-20 15:37:47 -04:00
Michael Kirk
9e348f2a27 update ubsan 2018-07-19 13:41:15 -06:00
Michael Kirk
ef9a0880ae Fix analyzer warnings 2018-07-18 10:24:08 -06:00
Michael Kirk
baacebc956 Enable (quick) static analyzer for normal builds
// FREEBIE
2018-07-18 10:24:08 -06:00
Michael Kirk
77997639f5 Use CurrentAppContext instead of compiler flag to affect test behavior 2018-07-18 10:24:08 -06:00
Michael Kirk
c19a8ce07e Fixup tests
// FREEBIE
2018-07-17 18:17:17 -06:00
Michael Kirk
7b85410136 per design: MessageStatus 1pt below baseline 2018-07-17 10:06:08 -06:00
Michael Kirk
82fdd5b883 Split out generic action sheet components
Keep the message specific components separte, so we could re-use the
MenuActionsViewController.
2018-07-13 13:00:27 -06:00
Michael Kirk
0c4cae133b milestone: route one real action (copy text) 2018-07-13 13:00:27 -06:00
Michael Kirk
aa98963fd9 Abandonded: separate window pattern
Hiding the old window, caused keyboard to resign first responder.
2018-07-13 13:00:27 -06:00
Michael Kirk
6037a440c9 wire up window mgmt 2018-07-13 13:00:27 -06:00
Matthew Chen
8d72bb032e Rework unread indicators. 2018-07-11 16:43:39 -04:00
Matthew Chen
d42ff03ecd Tweak disappearing messages indicator. 2018-07-11 15:38:49 -04:00
Matthew Chen
8b3bdb88f3 Revert "Merge branch 'charlesmchen/tweakCalls'"
This reverts commit 3e0233ea60, reversing
changes made to 74ce3012cf.
2018-07-11 15:34:16 -04:00
Michael Kirk
61cb19ef6b trigger sync when colors updates 2018-07-10 13:25:38 -06:00
Matthew Chen
1a9a5016fe Tweak calls. 2018-07-09 11:08:53 -04:00
Michael Kirk
0f34f76611 Merge tag '2.27.1.1' 2018-07-03 18:19:01 -06:00
Michael Kirk
b47062831f Don't block "register" button on iPad registration
On short devices, add a toolbar with a "dismiss" button to the number pad.
2018-07-03 18:11:14 -06:00
Matthew Chen
92332c2b69 Rework contact share buttons. 2018-07-03 18:33:25 -04:00
Michael Kirk
16df4f589e conversation colors
// FREEBIE
2018-06-29 11:52:41 -06:00
Matthew Chen
1e2a498806 Tweak media view gradients. 2018-06-29 12:32:41 -04:00
Matthew Chen
35dc348551 Move conversation style. 2018-06-28 13:26:17 -04:00
Matthew Chen
a34719ce69 Tweak color palette. 2018-06-28 13:18:35 -04:00
Matthew Chen
9cc3a3b7b3 Add body media shadows. 2018-06-27 16:51:30 -04:00
Matthew Chen
cbacda87ca Introduce message cell footer view. 2018-06-26 13:25:07 -04:00
Matthew Chen
33b1628c26 Rename to ConversationStyle. 2018-06-26 10:20:26 -04:00
Matthew Chen
ac6f78a5fc Tweak message cells. 2018-06-25 09:26:41 -04:00
Matthew Chen
2ecbf1bb65 Fix 'contact cell vs. message details layout' issue. 2018-06-21 17:16:50 -06:00
Matthew Chen
20b1a2606e Outage detection. 2018-06-20 17:50:50 -04:00
Matthew Chen
010c10cb0c Show re-registration in app settings. 2018-06-20 14:54:16 -04:00
Matthew Chen
c8fee4efa7 Add swift logging to SSK. 2018-06-13 13:56:55 -04:00
Michael Kirk
ffea3a020f WIP: FTS - wired up Search VC
-[] Backend
  -[] indexes e5.25
    -[x] wire up results: Contacts / Conversations / Messages actual: 3hr
    -[ ] group thread est: actual:
      -[x] group name actual: e.25
      -[ ] group member name: e.25
      -[ ] group member number: e.25
    -[ ] contact thread e.5
      -[ ] name
      -[ ] number
    -[ ] messages e1
      -[ ] content
-[] Frontend e10.75
  -[x] wire up VC's a.5
  -[x] show search results only when search box has content a.25
  -[] show search results: Contact / Conversation / Messages e2
  -[] tapping thread search result takes you to conversation e1
  -[] tapping message search result takes you to message e1
  -[] show snippet text for matched message e1
  -[] highlight matched text in thread e3
  -[] go to next search result in thread e2
2018-06-11 09:58:36 -04:00
Michael Kirk
429af7854a WIP: Full Text Search
-[ ] indexes
  -[x] results: Contacts / Conversations / Messages
  -[ ] group thread
    -[x] group name
    -[ ] group member name
    -[ ] group member number
  -[ ] contact thread
    -[ ] name
    -[ ] number
  -[ ] messages
    -[ ] content
- [ ] show search results: Contact / Conversation / Messages
- [ ] tapping thread search result takes you to conversation
- [ ] tapping message search result takes you to message
- [ ] show snippet text for matched message
- [ ] highlight matched text in thread
- [ ] go to next search result in thread
2018-06-11 09:58:36 -04:00
Matthew Chen
d17c3906e7 Disable CloudKit; leave iCloud capability enabled for "iCloud documents" service used by document picker. 2018-06-06 08:48:58 -06:00
Matthew Chen
4122e59ced Revert "Disable iCloud capability."
This reverts commit 5cf2b39050.
2018-06-06 08:40:56 -06:00
Matthew Chen
5cf2b39050 Disable iCloud capability. 2018-06-05 21:33:35 -06:00
Matthew Chen
3964b78ff7 Reduce usage of JSQ. 2018-06-01 17:44:18 -04:00
Matthew Chen
6bc145ce3a Fix more build warnings. 2018-06-01 17:37:06 -04:00
Matthew Chen
62273a60af Respond to CR. 2018-05-30 15:10:19 -04:00
Matthew Chen
caad6f796e Clean up ahead of PR. 2018-05-30 15:05:02 -04:00
Matthew Chen
28f7142a59 Auto-migration to Swift 4. 2018-05-30 15:05:02 -04:00
Michael Kirk
29d08545e2 Use OWSNavigationController instead of UINavigationController
- [ ] document picker
- [ ] camera picker
- [ ] image picker
- [ ] restore "confirm to go back" behavior (interactive pop gesture?)

// FREEBIE
2018-05-24 12:28:20 -04:00
Michael Kirk
0e87cbe7a5 WIP navbar resize
-[ ] CallScreen
  -[x] functional button
  -[ ] needs design
  -[ ] disable other contact call buttons while in call
-[ ] iOS11
  -[x] resize nav content
  -[ ] background showing at top of all vc's
  -[] iPhoneX
    -[x] use differently sized banner for now
    -[] mimic X system design
-[ ] iOS10
  -[x] resize nav content
  -[ ] animation glitch while push/pop
-[ ] iOS9

// FREEBIE
2018-05-24 12:28:20 -04:00
Michael Kirk
91cd1af3f9 Extract ReturnToCallViewController
// FREEBIE
2018-05-24 12:28:20 -04:00
Michael Kirk
a7252544b0 WIP: custom navbar
TODO:

Use custom navcontroller everywhere - no more UINavigationController

listen to notification for when call starts/ends and sizeToFit.
2018-05-24 12:28:20 -04:00
Matthew Chen
f436fc19c2 Make contact share "bubble/card" reflect share contents. 2018-05-16 17:19:05 -04:00
Michael Kirk
0c469764f1 re-use contact picker for "add to existing"
Required refactor of contact picker to be presented non-modally.

TODO: merge emails, address, display names

// FREEBIE
2018-05-10 11:31:22 -04:00
Matthew Chen
44ceee5849 Add contact share actions to conversation view and improve phone number parsing. 2018-05-08 17:22:34 -04:00
Matthew Chen
50c49baca8 Update design of 'approve contact share' view. 2018-05-07 16:18:22 -04:00
Michael Kirk
77fc5571fb Implement avatar sending
// FREEBIE
2018-05-07 12:08:41 -04:00
Michael Kirk
5ba5e98260 Show downloaded contact avatar in thread
// FREEBIE
2018-05-07 12:08:41 -04:00
Matthew Chen
2c6f18fa6e Clean up ahead of PR. 2018-05-04 18:13:22 -04:00
Matthew Chen
7a9acce504 Add contact share approval view. 2018-05-04 18:13:22 -04:00
Matthew Chen
0c745dd989 Add contact share approval view. 2018-05-04 18:13:22 -04:00
Matthew Chen
2738bcbc58 Create contact view. 2018-05-03 14:09:54 -04:00
Michael Kirk
f782ea97df Use loading screen whenever launch is slow.
Previously we had to manually account for each version that had a DB
change.

// FREEBIE
2018-05-03 09:11:51 -04:00
Michael Kirk
5c0c01dea2 Contact picking
// FREEBIE
2018-05-02 11:06:09 -04:00
Matthew Chen
7e35a7e7d7 Sketch out rendering of contact shares in conversation view. 2018-05-02 10:51:59 -04:00
Michael Kirk
b1bff71145 WIP moving to stackview backed header view in conversation view
- iOS10 with large titles doesn't truncate
2018-04-26 11:18:18 -04:00
Matthew Chen
5773b45345 Respond to CR. 2018-04-25 10:49:19 -04:00
Matthew Chen
4b83b4afc5 Rework outgoing message state. 2018-04-25 10:49:19 -04:00
Matthew Chen
7345ab2e4e Add window manager. Move call view to a separate window. 2018-04-25 09:56:53 -04:00
Matthew Chen
1395a6c37b Respond to CR. 2018-04-24 11:42:04 -04:00
Michael Kirk
5f2b38c50b Introduce Thread view model
// FREEBIE
2018-04-21 19:21:18 -04:00
Matthew Chen
08d36aa862 Add screen lock UI to SAE. 2018-04-20 16:39:35 -04:00
Matthew Chen
5ce39337ed Handle malformed protos. 2018-04-16 16:15:46 -04:00
Michael Kirk
13a432b9de Limit attachment caption length to 2k bytes
// FREEBIE
2018-04-13 17:57:09 -04:00
Matthew Chen
b8f8a3017a Apply design changes to home view. 2018-04-11 09:34:37 -04:00
Matthew Chen
ca1f8efdad Move 'never clear' view to proper subfolder. 2018-04-10 13:09:18 -04:00
Fredrik Lillejordet
3a47422b31 class reference in sources 2018-04-10 13:04:56 -04:00
Fredrik Lillejordet
d16bffe6c1 forget target reference to new class in PR 2018-04-10 13:04:22 -04:00
Michael Kirk
c56e8acc51 QuotedReplyModel from SSK->SignalMessaging
// FREEBIE
2018-04-09 12:47:56 -04:00
Matthew Chen
6830d4e8cb Apply message bubble view to message details view. 2018-04-06 12:35:46 -04:00
Matthew Chen
7f0fa1228e Extract message bubble view. 2018-04-06 12:32:09 -04:00
Matthew Chen
10b4ade55a Refine appearance of quoted reply message cells. 2018-04-05 10:24:42 -04:00
Michael Kirk
6874a9e28e Convert to swift
// FREEBIE
2018-04-04 10:59:04 -04:00
Michael Kirk
2580c690cb CR: Use LRU Cache for storing system sounds
// FREEBIE
2018-04-03 16:28:33 -04:00
Michael Kirk
00e5e1b0d6 Fixup some tests
// FREEBIE
2018-04-03 11:29:05 -04:00
Matthew Chen
8e4f2ca0ed Rework proto schema changes for quoted replies.
Sketch out model changes for quoted replies.

Sketch out quoted reply input preview.

Send quoted messages protos.

Update models to reflect quoted messages.

Rework interaction initializers.

Rework interaction initializers.

Add debug UI methods for generating quoted reply variations.

Add debug UI methods for generating quoted reply variations.
2018-04-02 16:17:46 -04:00
Matthew Chen
c8012d3891 Bubble collapse. 2018-04-02 10:07:15 -04:00
Matthew Chen
cb00b22870 Bubble collapse. 2018-04-02 10:07:15 -04:00