Commit Graph

1179 Commits

Author SHA1 Message Date
Michelle Linington
f483ee2cac Fixes some name collision bugs
- Fixes up content alignment issues from parallel changes to table view
  styling.
- Re-adds view controller presentation within a nav controller (stemming
  from parallel changes to table view styling)
- Fixes a bug around overzealous collision detection

Also fixes an unrelated issue. Setting up cv banners performs layout, which
can cause the conversation view controller's trait collection to change.
This can lead to us reenterantly setting up banners and updating trait
collection.

The workaround is to just call -ensureBannerState asynchronously from
-traitCollectionDidChange to break the synchronous chain.
2021-03-17 01:14:25 -07:00
Nora Trapp
39c851218d Animate multi-select UI appearance/disappearance 2021-03-16 19:48:59 -03:00
Michelle Linington
adabc1a06e PR Feedback
The most significant change here is we defer initial loading of
collision interactions. We shouldn't block the main thread during
conversation presentation.

Instead, we'll perform it at UserInitiatedQoS. Once complete, we'll call
-ensureBannerState. Subsequent banner state updates will use the cached
interactions to find name collisions.
2021-03-03 12:51:07 -08:00
Michelle Linington
15eb64086c Most of the work for profile spoofing in group membership
This separates the logic for finding spoofed profiles from the view
controller responsible for reporting collisions to the user
2021-03-03 12:51:07 -08:00
Matthew Chen
d325b57bff Respond to CR. 2021-02-24 21:13:25 -03:00
Matthew Chen
33583050bd Batch processing of synced contacts. 2021-02-24 21:13:25 -03:00
Jordan Rose
493e99eb8d Don't expose a CVComponentView to the CVComponentDelegate
Instead of the delegate showing the share sheet for a tapped-on
attachment, let the CVComponentGenericAttachment do it itself. This
keeps the delegate from dealing with any specific component views
within the conversation.
2021-02-17 11:43:22 -08:00
Matthew Chen
461c846651 Improve hiding of banners. 2021-02-15 13:41:49 -03:00
Matthew Chen
49df8d2515 Fix issue around sharing a sticker pack URL to just the currently open conversation. 2021-01-28 11:32:13 -03:00
Matthew Chen
67d2125607 Fix scroll state issue when presenting CVC with no unread messages. 2021-01-22 23:24:39 -03:00
Michelle Linington
bb4d6188cd Fix collection view content inset adjustments
The wallpaper can't be subview index 0 in ConversationViewController.
UIViewController will only automatically adjust content insets for
scroll view's at index 0.

Instead, let's make it index 1 and set the layer's z-index behind the
collection view.
2021-01-22 17:14:55 -08:00
Nora Trapp
564c56c704 Fix wallpaper threading issue 2021-01-21 17:28:20 -08:00
Nora Trapp
d0da9422ec System message wallpaper styling. 2021-01-21 17:00:17 -08:00
Matthew Chen
281ba67ffc Use separate caches for still and animated media. 2021-01-21 21:00:37 -03:00
Matthew Chen
7b5785fce8 Reuse media views. 2021-01-21 21:00:36 -03:00
Matthew Chen
a25d29aa6f Overhaul attachment downloads pipeline. 2021-01-21 20:41:08 -03:00
Matthew Chen
3e71eb4cd5 Overhaul attachment downloads pipeline. 2021-01-21 20:41:08 -03:00
Matthew Chen
025fc61cd7 Port attachment downloads logic to Swift. 2021-01-21 20:40:24 -03:00
Matthew Chen
aeb94d48c1 Improve attachment progress indicators. 2021-01-21 20:40:23 -03:00
Matthew Chen
d1d660d274 Sticker refinements. 2021-01-21 20:17:59 -03:00
Jordan Rose
d00674a33c Show the Share sheet if a file attachment doesn't support Quick Look
This restores the old behavior if Quick Look isn't going to be
helpful.
2021-01-16 13:23:37 -08:00
Jordan Rose
cdde07778e Make the "File" attachment directly open the file picker
...never the photo picker. This removes the notion of "attach a photo
as a file", which the previous commits have made equivalent to
attaching a photo any other way.
2021-01-14 09:31:04 -08:00
Jordan Rose
a0c3beaa06 Resize images-as-documents and pasted images as well
Having multiple entry points for this is confusing. If we ever add
back a "send full quality" option, we'll support it everywhere.
2021-01-14 09:30:10 -08:00
Nora Trapp
806dbd7257 Replace decryption errors with single 'session refresh' message 2021-01-12 16:45:35 -08:00
Jordan Rose
c799f663c8 Always re-encode video attachments
This is more consistent, results in smaller videos, and makes sure
we're stripping metadata.
2021-01-12 16:43:01 -08:00
Matthew Chen
e1b78ac0f5 Add auto-download settings for media. 2021-01-12 19:28:15 -03:00
Matthew Chen
75f6d8b60c Add auto-download settings for media. 2021-01-12 19:28:15 -03:00
Matthew Chen
6f3c92dedd Add auto-download settings for media. 2021-01-12 19:28:15 -03:00
Matthew Chen
252e8425ab Add auto-download settings for media. 2021-01-12 19:28:14 -03:00
Matthew Chen
68b68fdf04 Group link promotion. 2021-01-12 15:51:38 -03:00
Matthew Chen
ab11a98e55 Group link promotion. 2021-01-12 15:51:37 -03:00
Matthew Chen
03c21253e4 Group link promotion. 2021-01-12 15:51:05 -03:00
Jordan Rose
ce07035c62 Use Quick Look for interacting with generic attachments 2021-01-11 14:45:49 -08:00
Jordan Rose
fbcfa530df Remove camera preview from Attach menu 2021-01-11 14:42:33 -08:00
Matthew Chen
303c9ac07b Fix rebase breakage. 2021-01-07 16:49:52 -03:00
Matthew Chen
c0c6683c61 Merge branch 'release/5.1.0' 2021-01-07 16:44:04 -03:00
Matthew Chen
f61e39d59e Avoid spurious asserts during long-running scroll gestures. 2021-01-07 14:18:50 -03:00
Michelle Linington
49193889d2 Run precommit. Happy new year! 2021-01-05 14:28:32 -08:00
Michelle Linington
b152d985b0 PR Feedback
- More robust handling of large button labels in the collision view
  controller
- Fixes for VoiceOver labels and navigation
- Fixes for layout issues when rotating
- Update copy for collision banner
- Remove banner shadow for all banners
2021-01-05 14:28:28 -08:00
Michelle Linington
1de7295f39 Run linter 2021-01-05 14:28:28 -08:00
Michelle Linington
053454e817 Fix up navigation items, minor bug fixes and cleanup 2021-01-05 14:28:28 -08:00
Michelle Linington
3a224687f9 Hook up collision resolution actions 2021-01-05 14:28:28 -08:00
Michelle Linington
1cd982b269 Actionless UI 2021-01-05 14:28:28 -08:00
Matthew Chen
02cae9d43d Fix 'scroll to bottom' during keyboard animations. 2021-01-05 18:01:27 -03:00
Matthew Chen
f23199ba89 Fix "delete all messages". 2021-01-05 18:01:27 -03:00
Matthew Chen
460f7dc201 Update CVC contentInset after keyboard presentation/dismissal. 2020-12-23 17:46:31 -03:00
Michelle Linington
1c804a9b76 Adopt UIContextMenu style preview interactions
iOS 13 added support for peek/pop style interactions on non-force touch
devices. ViewControllerPreviewing has been deprecated and replaced with
UIContextMenu.

This change adopts the new API on iOS 13+ devices. iOS 12 force touch
devices will continue to support the old style behavior. This also
enables support for haptic touch/long press interactions on devices that
do not support force touch.
2020-12-22 14:24:46 -08:00
Matthew Chen
5eff2f439d Respond to CR. 2020-12-19 08:12:41 -03:00
Matthew Chen
15f6c39f3d Exit early from updateContentInsetsAnimated(). 2020-12-19 08:10:46 -03:00
Matthew Chen
387bb84f4d Fix auto-scroll issue around first message in thread. 2020-12-18 11:26:13 -03:00