Michael Kirk
f3793f0f2a
Consolidate OutgoingMessage preparation
2019-08-12 15:11:40 -06:00
Michael Kirk
4dc75aed3d
fix warnings
2019-08-09 09:41:59 -06:00
Michael Kirk
0bd5f7f0ba
use modern icon
2019-08-08 14:12:14 -06:00
Michael Kirk
afd9d7781a
Camera First flow
2019-08-02 09:26:23 -06:00
Nora Trapp
47ea0b1172
Restore profile options in conversation settings until phone number privacy rolls out
2019-07-31 13:18:06 -07:00
Nora Trapp
96bf655727
Profile name renders at same level as system contact name
2019-07-29 12:50:54 -07:00
Nora Trapp
aedde9fde8
Remove profile banners
2019-07-29 12:40:09 -07:00
Matthew Chen
0ef2c90043
Remove usage of primary storage.
2019-07-29 15:16:51 -03:00
Matthew Chen
23794d7b84
Remove usage of primary storage.
2019-07-29 15:16:51 -03:00
Matthew Chen
43929dde39
Remove usage of primary storage.
2019-07-29 15:16:51 -03:00
Michael Kirk
5c2c48a75c
Smooth Media Gallery Animations
2019-07-24 13:25:37 -06:00
Nora Trapp
3d1dd3dfe4
Remove rtlSafeAppend
2019-07-19 12:33:17 -07:00
Nora Trapp
4cd51e5a2c
Show that a user is in system contacts in the conversation settings
2019-07-18 12:21:39 -07:00
Nora Trapp
c80b48be89
Use SafariVC for internal links
2019-07-16 15:41:31 -07:00
Matthew Chen
5daa395acd
Convert threads to BaseModel.
2019-07-16 13:50:21 -03:00
Nora Trapp
a323ff4ddf
No more transitional_phoneNumber
2019-07-11 10:52:13 -07:00
Michael Kirk
9dec973def
show uuid in debug builds
2019-07-10 22:53:53 -06:00
Nora Trapp
077febc757
Update some misc stuff to use SignalServiceAddress
2019-07-10 13:31:03 -07:00
Nora Trapp
3c33f276f7
Maintain a SignalServiceAddress cache to allow for isEqual implementation
2019-07-10 13:27:36 -07:00
Nora Trapp
b9bb444276
Add UUID support to groups
2019-07-10 13:27:36 -07:00
Nora Trapp
ae503f6a91
Finish up UUID safety number support
2019-07-10 12:45:30 -07:00
Nora Trapp
c186755c66
Migrate IdentityManager and associated models to support UUIDs
2019-07-08 11:44:40 -07:00
Nora Trapp
324add7897
Allow viewing UUID thread
2019-07-02 18:33:14 -07:00
Nora Trapp
a1f85fca30
Migrate profiles to support UUIDs
2019-07-02 11:19:50 -07:00
Nora Trapp
a332c119d1
PR Feedback
2019-06-27 13:13:52 -07:00
Nora Trapp
7d94af3287
Migrate TSContactThread to support UUIDs
2019-06-27 13:12:52 -07:00
Matthew Chen
a16cd753cb
Respond to CR.
2019-06-25 15:57:31 -04:00
Matthew Chen
b86ab9f611
Migrate OWSDisappearingMessagesConfiguration to any.
2019-06-25 15:48:37 -04:00
Nora Trapp
a71b516a98
PR Feedback
2019-06-25 10:31:23 -07:00
Nora Trapp
34e8a7e4a0
PR Feedback
2019-06-25 10:31:23 -07:00
Nora Trapp
92f817d7fd
Update callsites to use new contacts manager address interface
2019-06-25 10:30:52 -07:00
Matthew Chen
a7a7499a8e
Migrate more key-value stores.
2019-06-19 11:21:12 -04:00
Nora Trapp
ac2abaf705
PR Feedback
2019-06-13 09:40:35 -07:00
Nora Trapp
b0be53cff2
Update group create/edit flow to better indicate you can add a photo
2019-06-05 08:59:22 -07:00
Matthew Chen
9beaa7e19b
Migrate all models.
2019-05-31 10:27:20 -04:00
Michael Kirk
691209e25e
Decrypt Messages with AnyTransaction
...
- Migrate protocol stores to KVStores
- Introduce AnyDatabaseQueue
- Move messaging pipeline to AnyTransactions
- Migrate specialized PushDecrypt job to generic JobQueue
2019-05-21 16:20:22 -04:00
Matthew Chen
5925c92339
Add more accessibility identifiers.
2019-05-14 15:04:13 -04:00
Michael Kirk
ecb6c275f8
MessageSender API takes AnyTransaction
2019-05-14 10:44:55 -06:00
Matthew Chen
c229f39012
Add sticker sync messages.
2019-04-22 10:26:09 -04:00
Matthew Chen
5ca2991f0c
Sketch out the SDS code generation.
...
* Copy SDS code generation and utility files from playground.
2019-04-11 09:15:28 -04:00
Michael Kirk
e69494450b
put conversation search behind feature flag
2019-04-01 13:56:27 -06:00
Matthew Chen
3ce3f9faaa
Add accessibilityIdentifiers to conversation settings view.
2019-03-25 09:31:55 -04:00
Matthew Chen
f073dd9a52
Add accessibilityIdentifiers to conversation settings view.
2019-03-25 09:31:55 -04:00
Michael Kirk
ed6b461662
search icon
2019-03-22 18:18:56 -07:00
Matthew Chen
882dd16d7c
Apply presentAlert() throughout codebase.
2019-03-21 10:55:04 -04:00
Michael Kirk
71dd4eb151
in-conversation search
...
- use MediaTime for computing benchmarks
2019-02-28 16:19:16 -07:00
Michael Kirk
5bd3cec6dc
Merge tag '2.36.1.0'
2019-02-26 10:07:54 -07:00
Matthew Chen
72082edad8
Fix a visual bug that would sometimes occur while rendering settings switches. Thanks to Gunnar C. Pope for the bug report.
2019-02-25 15:13:16 -07:00
Michael Kirk
fabd3996c2
pop view if message is deleted
...
- use global ui database connection
2019-02-21 16:18:14 -07:00
Matthew Chen
afcacbb55c
Sketch out the 'onboarding profile' view.
2019-02-18 09:54:27 -05:00
Matthew Chen
7654d05417
Landscape orientation.
2019-01-09 15:20:05 -05:00
Matthew Chen
460f160cbb
Landscape orientation.
2019-01-09 15:13:48 -05:00
Matthew Chen
449633e0dc
Respond to CR.
2019-01-04 09:19:41 -05:00
Matthew Chen
e52feb3c36
Note to Self.
2019-01-03 18:06:56 -05:00
Michael Kirk
df79fc9ed0
Move String+OWS into SSK
...
name Switcharoo String+OWS/String+SSK categories to reflect where they live.
2018-12-20 09:54:08 -07:00
Michael Kirk
5671fd2520
Revert "Revert 'new sort id'."
...
This reverts commit ebae75af00 .
2018-12-19 15:16:36 -07:00
Michael Kirk
f6e9fce0d3
fix All Media button from conversation settings
2018-11-15 10:16:22 -06:00
Michael Kirk
542d5826de
fix a million retain cycles in conversation settings
2018-11-14 18:55:29 -06:00
Michael Kirk
77bd9b8852
Extract most Gallery functionality from the gallery NavigationController.
...
By not overriding the initializer for an OWSNavigationController subclass,
we can use the dynamic disaptch intialization chain.
The root difficulty here is that super.init(navBarClass:) wants to call
self.init(nibNam)
2018-11-01 12:53:59 -06:00
Matthew Chen
40aa78e001
Merge remote-tracking branch 'origin/release/2.31.0'
2018-10-31 11:42:41 -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
28f37a7a34
Update contacts cells' dependencies.
2018-10-25 09:48:57 -04:00
Matthew Chen
f1d93d4472
Merge remote-tracking branch 'origin/release/2.30.2'
2018-10-12 16:00:42 -04:00
Matthew Chen
17541a8888
Change conversation bubble colors.
2018-10-09 16:06:23 -04:00
Michael Kirk
2b805e4eae
Constantize ConversationColorName, map previous incorrect values
2018-10-04 18:21:35 -06:00
Michael Kirk
bdb5bd5596
minimize diff
2018-10-02 09:49:37 -06:00
Michael Kirk
375c8bee04
Use stand accessoryView mechanics
2018-10-02 09:49:37 -06:00
Michael Kirk
5127352f7a
update color picker cell per design
2018-10-02 09:49:37 -06:00
Matthew Chen
0125535d4d
Pull out SignalCoreKit.
2018-10-01 09:06:40 -04:00
Michael Kirk
56387f3574
demo conversation colors when selecting
2018-09-28 13:35:57 -06:00
Matthew Chen
ebae75af00
Revert 'new sort id'.
2018-09-27 19:40:51 -04:00
Michael Kirk
4765ed9a06
Color picker
...
TODO
-[x] tap to select/deselect
-[x] initially selected
-[x] integrate into conversation settings
-[x] colorPickerDelegate
-[x] translate strings
-[] reorder colors
-[x] SheetView: add top handle
Nice to have:
-[] SheetView: interactively swipe/unswipe to dismiss?
-[] preview color in bubbles
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
Matthew Chen
6715e3d1ad
Respond to CR.
2018-09-27 09:28:16 -04:00
Matthew Chen
b20cd57383
Rename OWSConversationColor.
2018-09-27 09:15:15 -04:00
Matthew Chen
b3ad6e27dc
Rework conversation message bubble colors; add "conversation colors" class.
2018-09-27 09:07:47 -04:00
Matthew Chen
26a2d568de
Add "conversation color mode" enum.
2018-09-27 09:07:47 -04:00
Matthew Chen
e5150267c2
Rework the conversation color constants.
2018-09-27 09:07:47 -04:00
Matthew Chen
8db4595bdc
Rework group avatars to reflect conversation colors.
2018-09-27 08:55:20 -04:00
Matthew Chen
25d56b30c1
Rework group avatars to reflect conversation colors.
2018-09-27 08:55:20 -04:00
Michael Kirk
df61316495
minimize diff senderTimestamp -> timestamp
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
Matthew Chen
8910f1f65a
Enable conversation colors.
2018-09-25 16:11:37 -04: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
e1db60c1c0
Rework creation of singletons.
2018-09-19 15:11:26 -04:00
Michael Kirk
920a82564f
Merge tag '2.29.3.3'
2018-09-15 09:17:08 -05:00
Michael Kirk
2eca462efc
can view conversation settings for left group
2018-09-12 19:16:14 -05:00
Michael Kirk
b6eb1476cb
Leave group when blocking it
2018-09-12 19:16:14 -05:00
Michael Kirk
c6de8c579c
WIP: Localizations
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
Matthew Chen
3a12446be8
Modify environment accessors to use our 'shared' convention.
2018-09-07 16:20:41 -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
fac7f6932f
Rename TSGroupMetaMessage enum values.
2018-09-04 09:30:01 -04:00
Matthew Chen
cc5a480baa
Apply OWS log functions in Objective-C.
2018-08-27 12:58:52 -04:00
Matthew Chen
03829779cc
Apply OWS log functions in Objective-C.
2018-08-27 12:58:52 -04:00
Matthew Chen
c0d486b1f1
Apply OWS log functions in Objective-C.
2018-08-27 12:58:52 -04:00
Matthew Chen
3a50377902
Apply OWS log functions in Objective-C.
2018-08-27 12:58:52 -04:00
Matthew Chen
713606271c
Rename fail macros in Obj-C.
2018-08-27 10:29:51 -04:00
Michael Kirk
7e8b2e3034
Faster conversation presentation.
...
There are multiple places in the codebase we present a conversation.
We used to have some very conservative machinery around how this was done, for
fear of failing to present the call view controller, which would have left a
hidden call in the background. We've since addressed that concern more
thoroughly via the separate calling UIWindow.
As such, the remaining presentation machinery is overly complex and inflexible
for what we need.
Sometimes we want to animate-push the conversation. (tap on home, tap on "send message" in contact card/group members)
Sometimes we want to dismiss a modal, to reveal the conversation behind it (contact picker, group creation)
Sometimes we want to present the conversation with no animation (becoming active from a notification)
We also want to ensure that we're never pushing more than one conversation view
controller, which was previously a problem since we were "pushing" a newly
constructed VC in response to these myriad actions. It turned out there were
certain code paths that caused multiple actions to be fired in rapid succession
which pushed multiple ConversationVC's.
The built-in method: `setViewControllers:animated` easily ensures we only have
one ConversationVC on the stack, while being composable enough to faciliate the
various more efficient animations we desire.
The only thing lost with the complex methods is that the naive
`presentViewController:` can fail, e.g. if another view is already presented.
E.g. if an alert appears *just* before the user taps compose, the contact
picker will fail to present.
Since we no longer depend on this for presenting the CallViewController, this
isn't catostrophic, and in fact, arguable preferable, since we want the user to
read and dismiss any alert explicitly.
// FREEBIE
2018-08-24 08:54:23 -06:00
Matthew Chen
a76d488e8b
Fix QA issues in theme.
2018-08-15 17:09:59 -04:00
Michael Kirk
c05700fd98
Log in OWSFail
...
step 1: rename OWSFail->OWSFailNoProdLog
step 2: rename OWSProdLogAndFail->OWSFail
step 3: Convert OWSFailNoProdLog->OWSFail where we want logging
step 4: Rename OWSCFail->OWSCFailNoProdLog
step 5: Rename OWSProdLogAndCFail -> OWSCFail
step 6: Convert OWSCFailNoProdLog -> OWSCFail where we want logging
2018-08-09 15:30:19 -06:00
Matthew Chen
2c9c028504
Clean up.
2018-08-09 09:51:23 -06:00
Matthew Chen
6dfe36f9b5
Respond to CR.
2018-08-08 15:49:22 -04:00
Matthew Chen
931562de33
Refine theme.
2018-08-08 15:04:23 -04:00
Matthew Chen
ce4fdd5135
Refine theme.
2018-08-08 15:04:23 -04:00
Matthew Chen
579e88bdc2
Improve nullability handling for SignalAccount.
2018-08-01 09:22:56 -04:00
Michael Kirk
11db859e6b
adapt to changes since RI
2018-07-23 16:19:23 -06:00
Michael Kirk
6e1c1a681b
Merge tag '2.28.0.12'
2018-07-23 16:12:46 -06:00
Michael Kirk
1d4ead080b
fix color behind navbar
2018-07-23 12:18:01 -06:00
Matthew Chen
25a98554b7
Intern JSQMessagesViewController.
2018-07-23 13:48:24 -04:00
Matthew Chen
48975eaac8
Respond to CR.
2018-07-20 15:37:47 -04:00
Matthew Chen
b2b95597cc
Refine views.
2018-07-20 15:26:46 -04:00
Matthew Chen
8862f9a531
Refine views.
2018-07-20 15:26:46 -04:00
Matthew Chen
9f9e0965d5
Refine table views.
2018-07-20 15:26:46 -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
a6a09f4d9f
fix squashed cells on ios9/10
...
must specify rowHeight automatic
Furthermore, we can't mix static and automatic sizing within a single tableView
2018-07-17 14:36:37 -06:00
Michael Kirk
8da47b64d9
clarify different methods
...
These method names were too similar to existing methods in PureLayout, which
have slightly different behavior.
ows_autoPinToSuperviewEdges uses left/right, whereas PureLayouts uses
leading/trailing
ows_autoPinToSuperviewMargins uses our own constraint adding logic, which
behaves differently in some cases.
2018-07-16 10:20:05 -06:00
Matthew Chen
4d3707a16e
Apply "disappearing messages disabled" icon.
2018-07-12 15:37:08 -04:00
Matthew Chen
9494023107
Update disappearing messages icon.
2018-07-11 14:40:59 -04:00
Michael Kirk
f0175c0b6f
feature gate color syncing
...
// FREEBIE
2018-07-10 13:25:38 -06:00
Michael Kirk
3530bf4fe0
sync configuration off main thread
2018-07-10 13:25:38 -06:00
Michael Kirk
8a43435dfc
avoid deadlock
2018-07-10 13:25:38 -06:00
Michael Kirk
61cb19ef6b
trigger sync when colors updates
2018-07-10 13:25:38 -06:00
Matthew Chen
db27acf61b
Tweak colors flag.
2018-07-09 14:46:59 -04:00
Michael Kirk
cfd18bf3f8
smaller swatch icon
2018-07-03 14:55:43 -06:00
Michael Kirk
104e63ded9
remove appearance juggling
2018-06-29 16:27:37 -06:00
Michael Kirk
16df4f589e
conversation colors
...
// FREEBIE
2018-06-29 11:52:41 -06:00
Matthew Chen
2ecbf1bb65
Fix 'contact cell vs. message details layout' issue.
2018-06-21 17:16:50 -06:00
Matthew Chen
d3d9d2e64c
Don't cache CNContact.
2018-06-20 17:55:14 -04:00
Matthew Chen
83f11ad79b
Don't cache CNContact.
2018-06-20 17:55:14 -04:00
Matthew Chen
647d80d79d
Unify the cell and avatar sizes.
2018-06-15 11:15:21 -04:00
Matthew Chen
dd49c6225f
Auto-size contact cells everywhere.
2018-06-15 10:01:16 -04:00
Michael Kirk
0a17246737
Don't use group name in message.
...
// FREEBIE
2018-06-14 15:21:24 -04:00
Michael Kirk
95b1dced18
add: messages in Book Club will disappear in 1 minute
...
Show different message when joining group with disappearing messages
2018-06-14 15:20:45 -04:00
Michael Kirk
0cf751d34f
Newly added group members should have expire time
...
Send expire timer with group info updates and in group updates that add a user.
2018-06-14 15:20:45 -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
33eb4c38cd
Centralize translucency configuration
...
// FREEBIE
2018-05-24 12:28:20 -04:00
Matthew Chen
2edabdbba4
Sort group members.
2018-05-16 17:13:42 -04:00
Matthew Chen
91d54360ba
Add contact view.
2018-05-03 14:09:54 -04:00
Matthew Chen
fa9a4c808a
Simplify usage of contacts framework.
2018-04-24 13:21:12 -04:00
Matthew Chen
21ab670fc9
Clean up ahead of PR.
2018-04-24 11:29:24 -04:00
Matthew Chen
c3345a4c4e
Scale home view cells to reflect dynamic type size.
2018-04-11 14:09:38 -04:00
Matthew Chen
8c1362b807
Fix small text usage.
2018-04-09 16:15:24 -04:00
Matthew Chen
ade2ee7216
Use dynamic type everywhere in conversation view.
2018-04-09 14:25:53 -04:00
Matthew Chen
9085609087
Fix interaction initializers and tests.
2018-04-05 09:36:52 -04:00
Michael Kirk
86553b62f9
keyboard pinning vs iPhoneX
2018-04-02 17:38:13 -04:00
Michael Kirk
6f1608f44b
Conventional naming for out custom PureLayout methods.
...
This moves methods more in line with PureLayout conventions.
- Methods always specify if they pin to an edge vs margin
- `margin` is a reserved word which should only refer to layout margins.
i.e. do not use it to refer to "inset" and "offset".
// FREEBIE
2018-04-02 17:02:32 -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
Michael Kirk
00b5316976
Don't show the "All Media" button when viewing the slider from the
...
gallery via settings.
In this context it makes more sense for the user to hit the "dismiss"
button to get "back" to "All Media"
// FREEBIE
2018-03-20 11:12:11 -04:00
Michael Kirk
770ce1440e
ConversationSettings must retain the gallery view
...
// FREEBIE
2018-03-19 15:20:53 -04:00
Michael Kirk
ae8dbeb8dd
Access Media Gallery from conversation settings
...
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
f733c07d07
comment cleanup
...
// FREEBIE
2018-03-19 14:22:03 -04:00
Michael Kirk
985af76d0b
WIP: All Media view
...
TODO
- [ ] label video/gif
- [ ] reasonable load perf
- [ ] reasonable scroll perf
- [ ] select / delete
- [ ] cancel share action from media details returns signal style
NICE TO HAVE
- [ ] fancy in/out animation from All Media <-> tiles
- [ ] label video thumbnail with duration stamp
- [ ] Other perf?
- [ ] dbModified?
- [ ] select / send
- [ ] darken section header a shade once it's "active"
DONE
- [x] tap to refocus on new media
- [x] generate test data
- [x] section headers
- [x] equal spacing around cells
// FREEBIE
WIP WIP extract datasouce to GalleryViewController
- [x] swipe through is broken
- [x] present animation
- [x] dismiss animation
// FREEBIE
2018-03-19 14:22:03 -04:00
Matthew Chen
b296cfb893
Sketch out incremental backup manager and settings view.
2018-03-12 16:40:07 -03:00