Commit Graph

879 Commits (220dfef1ab3eb4f5ca06ffdc964827e05e8b4e8e)

Author SHA1 Message Date
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.
7 years ago
Matthew Chen 1bea832faa Fix assert in bubble views. 7 years ago
Matthew Chen f98c45603c Respond to CR. 7 years ago
Matthew Chen 12bcf887c1 Bubble collapse. 7 years ago
Matthew Chen 4f9085a761 Bubble collapse. 7 years ago
Matthew Chen 3ca2c08b06 Bubble collapse. 7 years ago
Matthew Chen 578f40d791 Bubble collapse. 7 years ago
Matthew Chen c8012d3891 Bubble collapse. 7 years ago
Matthew Chen 3d07dc7c5b Bubble collapse. 7 years ago
Matthew Chen 8d74c68f9d Bubble collapse. 7 years ago
Matthew Chen 8a74e10208 Bubble collapse. 7 years ago
Matthew Chen e0e8eafb5d Bubble collapse. 7 years ago
Matthew Chen e1e6606783 Bubble collapse. 7 years ago
Matthew Chen cb00b22870 Bubble collapse. 7 years ago
Matthew Chen 6525ccdb05 Bubble collapse. 7 years ago
Matthew Chen 75177ef00f Bubble collapse. 7 years ago
Matthew Chen 3a5ba15d21 Elaborate debug UI for messages. 7 years ago
Matthew Chen c2e31540d7 Elaborate debug UI for messages. 7 years ago
Michael Kirk 394cc6637c Backport comments from translations
// FREEBIE
7 years ago
Michael Kirk 6c877403cf Fix delete from message details
// FREEBIE
7 years ago
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
7 years ago
Michael Kirk ae8dbeb8dd Access Media Gallery from conversation settings
// FREEBIE
7 years ago
Michael Kirk dfd628250d Gallery performance
- [x] share uiDatabaseConnection to share cache
- [x] increase cache size
- [x] load less initially
- [x] lazy loading
  - [x] slider view
  - [x] tile view

// FREEBIE
7 years ago
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
7 years ago
Michael Kirk 4ac9a1019b Media page view controller
First pass at a swipe-through media view for conversations.

Future work could include

- title label per item
  - sender name
  - date/time
- photo rail
- include caption

// FREEBIE
7 years ago
Michael Kirk 88e1386720 Move frame to presentation logic, out of init
This no longer made sense now that we're using this in a
PageViewController we won't always be zooming from a particular frame.

TODO:

- why is background image all wonky?
- why aren't views created by the time it's presented? Is that a
regression? (how is self.view a MenuView if loadView hasn't been called)

// FREEBIE
7 years ago
Matthew Chen b296cfb893 Sketch out incremental backup manager and settings view. 7 years ago
Michael Kirk a1de99f1f1 Merge tag '2.21.0.9' 7 years ago
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 7 years ago
Michael Kirk d7fcac8a5a In-App notifications don't pause background audio
// FREEBIE
7 years ago
Michael Kirk 07ee3ea843 Merge tag '2.21.0.5' 7 years ago
Michael Kirk 6077367e66 Notification sounds should respect silent switch
// FREEBIE
7 years ago
Matthew Chen baf6fcc535 Add 2FA registration view. 7 years ago
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 7 years ago
Matthew Chen 38ff82ab97 Rebrand OWSAudioPlayer. 7 years ago
Matthew Chen 99aedca45f Strip out special casing for pre-iOS 9 users. 7 years ago
Matthew Chen 81629a87df Fix build break. 7 years ago
Matthew Chen 152c570900 Respond to CR. 7 years ago
Matthew Chen 03670b4868 Rename the view horizon. 7 years ago
Matthew Chen fabbe46114 Clean up ahead of PR. 7 years ago
Matthew Chen 4e1e232825 Flush writes from other processes. 7 years ago
Matthew Chen 1ff4f85247 Improve handling of db modifications while conversation view is not observing. 7 years ago
Matthew Chen 2ac7716771 Improve handling of db modifications while conversation view is not observing. 7 years ago
Michael Kirk 5ba5d3f524 Remove "Share" from edit menu
Showing the share UI conflicts with the conversation views
inputAccessory toolbar.

Specifically:

- the long press menu acquires first responder
- tapping share presents the activity view
- at this point, the input toolbar is hidden
- launching a share extension hides the activity view, presents the
  share extension (could be the Signal share extension or another app's
  share extension)
- the conversation view (which is rendered behind the share extension)
  regains first responder, causing the input toolbar to appear above the
  share extension

One fix would be to re-implement an interface similar UIMenuController,
which does not require mucking with the responder chain, but that's
going to be more involved.

// FREEBIE
7 years ago
Michael Kirk d7f8c3e9d3 Ensure inputAccessory doesn't obscure the SN alert
This affects iOS 8, 9, and to a lesser degree iOS10.
On iOS11, presenting an alert causes the keyboard/inputAccessoryView to
temporarily dismiss.

// FREEBIE
7 years ago
Michael Kirk abb51b565a Don't de-activate audio sesion when other audio activities are happening
// FREEBIE
7 years ago
Matthew Chen ceaf028445 Always scroll to bottom after sending attachments. 7 years ago
Matthew Chen e3776015bb Respond to CR. 7 years ago
Matthew Chen 246a56e925 Respond to CR. 7 years ago
Matthew Chen 33686594e9 Tweak debug logging. 7 years ago
Matthew Chen ba42ac73d8 Revisit TODOs in the SAE work. 7 years ago
Matthew Chen bd0f601792 Respond to CR. 7 years ago
Matthew Chen 43765ef3b5 Respond to CR. 7 years ago
Matthew Chen bbd689bfd0 Add protocol context to protocol kit. 7 years ago
Matthew Chen d3e16583eb Add protocol context to protocol kit. 7 years ago
Michael Kirk c646f76335 Garther audio concerns, clean up session when done
- sync speakerphone state manipulated from system call screen
  - Revert audio session after call failure, ensures media plays out of
    speaker after placing a failing call.
  - Replace notification with delegate pattern since we're already using
    delegate pattern here.
- Fixes voiceover accessibility after voice memo
- Avoid audio blip after pressing hangup
- Rename CallAudioSession -> OWSAudioSession
  Going to start using it for other non-call things since we want to
  gather all our audio session concerns.
- Resume background audio when done playing video
  - Extract OWSVideoPlayer which ensures audio is in proper state before
    playback
  - Move recording session logic to shared OWSAudioSession
  - Deactivate audio session when complete

// FREEBIE
7 years ago
Michael Kirk 7734958eec Make "swipe for info" RTL compatible
// FREEBIE
7 years ago
Michael Kirk 54f7c298b7 Only initiate "show details" pan gesture when swiping back
// FREEBIE
7 years ago
Michael Kirk e39ca59eeb Merge tag '2.19.5.0' 7 years ago
Matthew Chen fa76e524c4 Respond to CR. 7 years ago
Matthew Chen 9c84bdb105 Add support for images as documents. 7 years ago
Matthew Chen 3609275c20 Handle malformed row updates. 7 years ago
Matthew Chen 069587b150 Add message approval view. 7 years ago
Matthew Chen 992e926142 Unpack oversize text messages if possible. 7 years ago
Matthew Chen b9bd21e73f Improve presentation of text attachments in attachment approval view. 7 years ago
Michael Kirk 05035e40a6 Fixup tests
// FREEBIE
7 years ago
Michael Kirk 6491bb8956 Fix timer offset
// FREEBIE
7 years ago
Michael Kirk baa312f449 Timer button with duration label
// FREEBIE
7 years ago
Michael Kirk f41dfa509c Re-aquire first responder when necessary.
// FREEBIE
7 years ago
Michael Kirk 3ca5ec2726 Ensure media-library permissions when accessing media library
// FREEBIE
7 years ago
Michael Kirk 5dde17d939 Show approval/caption view in app.
ApprovalView/Captioning is shown for:
- Images/Videos from Library
- Images/Video from Camera
- Document Picker
- GIFs

Voice notes are intentionally not captionable.

Also, in main app, hide status bar when ApprovalView is presented

// FREEBIE
7 years ago
Michael Kirk 58558b36de Add clarifying comment.
// FREEBIE
7 years ago
Michael Kirk 0c6a42003f clang-format after RI
// FREEBIE
7 years ago
Michael Kirk a423fe8a0e WIP Merge tag '2.19.4.4'
- restore video playback in fullscreen

This was a large merge, so I'm opting to make some changes in separate
commits.
7 years ago
Matthew Chen 17907dca10 Clean up ahead of PR. 7 years ago
Matthew Chen 15b8e58324 Retain changes from session database branch. 7 years ago
Michael Kirk 63c23b77d0 Cleanup presentation view, feels less blurry
// FREEBIE
7 years ago
Michael Kirk 8851413b35 CR: cleanup, remove debug animation time, move constant
// FREEBIE
7 years ago
Michael Kirk 74e03aad01 Fix intermittent content offset problem
Using the CollectionView's frame to determine if we're at the bottom
doesn't make sense unless the collection view is correctly layed out.

// FREEBIE
7 years ago
Matthew Chen 16f7317579 Complete backup restore/import. 7 years ago
Matthew Chen 272a90d269 Add import back up UI. Begin work on import backup logic. 7 years ago
Matthew Chen e77c3e6717 Retain changes from session database branch. 7 years ago
Michael Kirk 74019b2ae4 Fix keyboard animation glitch after sending
// FREEBIE
7 years ago
Michael Kirk 1ec409ad2b CR: re-enable default keyboard toggle
// FREEBIE
7 years ago
Michael Kirk 8d2934d86e CR: remove unnecessary code, comments
// FREEBIE
7 years ago
Michael Kirk 412fe2735e Rename FullImageViewController -> MediaDetailViewController
// FREEBIE
7 years ago
Michael Kirk 918e3f7dfe Videos play in full-screen media view controller, use modern movie
player.

// FREEBIE
7 years ago
Michael Kirk 81268012e5 Better keyboard management.
- fixes problems on iOS11.2 where emoji keyboard sometimes obscures text
  input.
- better animation for interactive pan gesture when viewing message
  details
- more intuitive swipe-to-dismiss keyboard in conversation view
- converge on one mnethod for dismissing keyboard in conversation view

- [ ] Pop keyboard, then hit attachment, dismisses keyboard, which is
      fine, but the content should immediately scroll down with the
      keyboard, instead it stays up, and scrolls down only once the
      attachment action sheet has been dismissed.

// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf b87079d4b4 Sharing attachment shows progress / retry dialog
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 513e33b0fd Cleanup before code review
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf cf091758a5 Fix oversized text messages
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 82aeee301d can delete text messages again
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf f5b9ae97ef fix insets for incoming vs outgoin
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf eeaea5fa01 better match for corner radius
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 0ea3a36559 make sure captioned attachment doesn't grow too large
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 0e9c9a9bb3 Separate gestures for text/vs media
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 92477c78b7 cleanup before PR 7 years ago
Michael Kirk bce18637f0 render attachments with captions
// FREEBIE
7 years ago
Michael Kirk 3176cb5a62 text sizing correctly 7 years ago
Michael Kirk f8866c4e0b Fix some constraints, get other attachment types looking good
TODO
- [ ] message bubble sizes are not correct. Not always wide enough to
      fit their content.

// FREEBIE
7 years ago
Michael Kirk 76ca52f33c caption bubble properly sized, but all attachments make space now 7 years ago
Michael Kirk 3eb3c268a9 Towards a caption in message
TODO

- [ ] adjust height properly
- [ ] all media types
- [ ] include caption in message details
- [ ] gestures working on both independently
- [ ] perf benchmark

// FREEBIE
7 years ago
Michael Kirk a5c5dd3f96 WIP, extract subclass 7 years ago
Matthew Chen 6b0e3508a5 Respond to CR. 7 years ago
Matthew Chen 9258b0883e Clean up TSStorageManager usage. 7 years ago
Matthew Chen 9a990b58e8 Respond to CR. 7 years ago
Matthew Chen 3643414da1 Respond to CR. 7 years ago
Matthew Chen e45d63e862 Clean up ahead of PR. 7 years ago
Matthew Chen 0c9d9ba679 Fix issues around cross process db changes. 7 years ago
Michael Kirk 8996741277 DocumentPicker converts to mp4 when necessary
// FREEBIE
8 years ago
Michael Kirk 031e40d090 Use SignalAttachment logic in conversation view too
// FREEBIE
8 years ago
Matthew Chen 74efcb9041 Rework thread safety in profile manager. 8 years ago
Matthew Chen 80ae5e0fcf Respond to CR. 8 years ago
Matthew Chen 11b4848530 Respond to CR. 8 years ago
Matthew Chen 84061cca9f Change image resizing/quality behavior, preferring smaller images in the common case. 8 years ago
Matthew Chen 125aabb0a3 Change image resizing/quality behavior, preferring smaller images in the common case. 8 years ago
Michael Kirk d9cca77e23 update header references
// FREEBIE
8 years ago
Matthew Chen b4e8df79da Migrate environment to SignalMessaging. 8 years ago
Matthew Chen 6d87df88aa Migrate environment to SignalMessaging. 8 years ago
Matthew Chen bf21d0c0ed Enable logging in SAE; rework log file management to include multiple log directories. 8 years ago
Matthew Chen 64762eb427 Observe YapDatabaseModifiedExternallyNotification. 8 years ago
Michael Kirk 9ac3ce3758 Memoize bubble factory
Shaves 5% off of initial conversation load.

// FREEBIE
8 years ago
Michael Kirk fd829ba575 Merge branch 'hotfix/2.19.1' 8 years ago
Michael Kirk a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
8 years ago
Michael Kirk 9d1e3dc223 We need to change file extensions when converting data
// FREEBIE
8 years ago
Michael Kirk 1a99b34913 Fix iOS8 crash on type
// FREEBIE
8 years ago
Michael Kirk a542471bbe center "Loading More Messages" label
// FREEBIE
8 years ago
Matthew Chen f9f0f1c27d Revert "Force conversation view cells to update layout immediately."
This reverts commit ef820a3719.
8 years ago
Matthew Chen 35bdc86ab5 Reload adjacent rows using original indices, not final indices. 8 years ago
Matthew Chen 71f5ef5940 Improve handling of unread indicator edge cases. 8 years ago
Matthew Chen 2ec1e7e925 Respond to CR. 8 years ago
Matthew Chen 2d241623b7 Improve handling of edge cases around unread indicator delimiting deleted message(s). 8 years ago
Matthew Chen 5ef9d53c91 Update conversation view UI to reflect unread state. 8 years ago
Matthew Chen ef820a3719 Force conversation view cells to update layout immediately.
// FREEBIE
8 years ago
Michael Kirk 370364c936 Scroll down button scrolls to unread
// FREEBIE
8 years ago
Matthew Chen b0c9add29c Update layout of "scroll down button" to reflect RTL. 8 years ago
Matthew Chen 92ef507810 Make swipe-for-details RTL-safe. 8 years ago
Matthew Chen aea2bf3e00 Fix scroll state insets in conversation view. 8 years ago
Matthew Chen 5cfa7e35f4 Respond to CR. 8 years ago
Michael Kirk 34811a635b Fixes: "connected call" showing as "unconnected outgoing" call.
Expire viewItem cache when resetting mappings

// FREEBIE
8 years ago
Matthew Chen b76d9a4e68 Remove redundant logTag methods. 8 years ago
Matthew Chen a4879f6bb5 Remove redundant logTag methods. 8 years ago
Matthew Chen 8eb4e682d9 Revert "Show menu controller from centroid of message cells."
This reverts commit 08bb1c909d.
8 years ago
Matthew Chen cebeea9189 Reduce extremes of Jumbomoji behavior. 8 years ago
Matthew Chen d8ae5841d6 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 45c7d80d97 Improving handling of edge cases in conversation view. 8 years ago
Matthew Chen 6d4a05bbea Improving handling of edge cases in conversation view. 8 years ago
Matthew Chen 658746093d Use finalIndex in row changes. 8 years ago
Michael Kirk 8ee030bea1 Don't dismiss keyboard when view appears
// FREEBIE
8 years ago
Matthew Chen 7b1a846f79 Dismiss keyboard when leaving conversation view. 8 years ago
Matthew Chen 572de11763 Apply dynamic type sizing to Jumbomoji. 8 years ago
Matthew Chen 937ac5830d Skip animations in conversation view. 8 years ago
Matthew Chen b67179b45d Skip animations in conversation view. 8 years ago
Matthew Chen 0ccddb696a Add workaround for bug in iOS 11.1 beta around hit area of custom back buttons.
// FREEBIE
8 years ago
Matthew Chen 96274a60a9 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7aae47b021 Reduce font size of "load more" indicator. 8 years ago
Matthew Chen dffd776ace Increase the max text message length. 8 years ago
Michael Kirk 228e350e2a message details shows failed bubble when appropriate
// FREEBIE
8 years ago
Matthew Chen 6b8f4c7dde Dismiss menu controller if message cell is hidden or recycled. 8 years ago
Matthew Chen 08bb1c909d Show menu controller from centroid of message cells. 8 years ago
Matthew Chen aad93d2d89 Fix broken assert in conversation view item. 8 years ago
Matthew Chen ddf4bf28cc Load attachments for conversation view items using long-lived db connection. 8 years ago
Matthew Chen df5aa5ef67 Update UI to reflect changes to disappearing messages configuration. 8 years ago
Michael Kirk 9675cbb1e1 Scroll only as far as necessary
// FREEBIE
8 years ago
Matthew Chen cc90f4cb80 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 86fdd6dea2 Fix edge cases in conversation view. 8 years ago
Matthew Chen 6413bc8e4c Evacuate the view item cache. 8 years ago
Matthew Chen 19ba564f80 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c6160a5a1e Rework the "update with..." methods to avoid re-saving deleted models. 8 years ago
Michael Kirk 8c69e00a3f Adapt ConversationViewController to iPhoneX
// FREEBIE
8 years ago
Matthew Chen c3b6c9055e Disable partial text selection; ignore taps outside links; ignore taps on non-sent messages, link-icy all links. 8 years ago
Matthew Chen 3da1d8c63f Disable partial text selection; ignore taps outside links; ignore taps on non-sent messages, link-icy all links. 8 years ago
Matthew Chen c91dda43e0 Disable partial text selection; ignore taps outside links; ignore taps on non-sent messages, link-icy all links. 8 years ago
Matthew Chen c3087cf3df Don't dismiss keyboard when tapping in the conversation view. 8 years ago
Matthew Chen bf0f33e4b0 Temporarily alter animations in conversation view. 8 years ago
Matthew Chen af6a7c103c Add a comment. 8 years ago
Matthew Chen 42a70e0def Revert "Temporarily make logging around conversation view row updates more verbose."
This reverts commit 105b033761.
8 years ago
Matthew Chen f0a8e08df9 Temporarily alter animations in conversation view. 8 years ago
Matthew Chen 0abdbffe1f Improve handling of attachment edge cases. 8 years ago
Matthew Chen b5f7a4746f Temporarily alter animations in conversation view. 8 years ago
Matthew Chen 3814464595 Increase content insets of attachment button. 8 years ago
Matthew Chen 105b033761 Temporarily make logging around conversation view row updates more verbose. 8 years ago
Matthew Chen c72f39e64b Layout cell content when presenting the cell. 8 years ago
Matthew Chen 87b0692af0 Fixes for scrolling in conversation view. 8 years ago
Matthew Chen 5cc292fb6c Don't ask for camera permissions if app is not active.
// FREEBIE
8 years ago
Matthew Chen 5e61307ce3 Don't ask for microphone permissions if app is not active.
// FREEBIE
8 years ago
Matthew Chen 6e840ff956 Fix build warnings from XCode 9. 8 years ago
Matthew Chen 2d21e2ae2c Fix build warnings from XCode 9. 8 years ago
Michael Kirk 90dad75446 CR: remove unnecessary property
// FREEBIE
8 years ago
Michael Kirk 1f5603760b Fix contact offer
We never assign interaction, but we can get it via the viewItem.

// FREEBIE
8 years ago
Matthew Chen e3f7947da0 Emphasize borders of input toolbar.
// FREEBIE
8 years ago
Matthew Chen a5c4140a12 Reduce max text message bubble size.
// FREEBIE
8 years ago
Matthew Chen ea0b6065e3 Revert "Constrain the max text cell height to the height of the screen."
This reverts commit b9583a3c85a3b27f65b653a1d851c7c966fdc83d.

// FREEBIE
8 years ago
Matthew Chen 608cd2781f Constrain the max text cell height to the height of the screen.
// FREEBIE
8 years ago
Matthew Chen 7fd5b00d86 Fix text message links in conversation view.
// FREEBIE
8 years ago
Matthew Chen af5489952c Don't animate message sends.
// FREEBIE
8 years ago
Matthew Chen 40e04ffb92 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5df4ac92b7 Don't animate message sends.
// FREEBIE
8 years ago
Matthew Chen 5d4316755f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d52b19a69e Let users with external keyboards send messages using modifier-return (shift, command, option).
// FREEBIE
8 years ago
Matthew Chen 0c92850d38 Log voice memo durations.
// FREEBIE
8 years ago
Matthew Chen 89dbcb0fe8 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen f95e599c55 Don't overwrite draft after GIF send.
// FREEBIE
8 years ago
Matthew Chen a0ddb2a06d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9053d038ac Remove extra logging.
// FREEBIE
8 years ago
Matthew Chen 5ac2f16ebc Skip redundant relayout.
// FREEBIE
8 years ago
Matthew Chen 841a2333e3 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen eb3ca43256 Jumbomoji.
// FREEBIE
8 years ago
Matthew Chen bee70fa028 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5e1c6c02a0 Add "failed message send" badges.
// FREEBIE
8 years ago
Matthew Chen 8cb3e5d35d Fix edge cases around oversize test messages.
// FREEBIE
8 years ago
Matthew Chen 9cc4521d07 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen bcf83a4c8e Rework handling of oversize text messages.
// FREEBIE
8 years ago
Michael Kirk 8f9311a6ac Show timer in navbar without reload
// FREEBIE
8 years ago
Michael Kirk 709010499f remove overzealous assert
// FREEBIE
8 years ago
Matthew Chen 7e585b72aa Fix tests broken by the JSQ rewrite.
// FREEBIE
8 years ago
Michael Kirk 2d7deff839 Make message bubbles a bit wider.
// FREEBIE
8 years ago
Michael Kirk cd291e19ff We conceivably want to to initiate calls more than once without leaving
the conversation view. e.g. from Contacts.app

// FREEBIE
8 years ago
Michael Kirk 4000760cf7 Fix "back button count" flash. Only call once.
This affects returning from message info or when leaving conversation
settings.

// FREEBIE
8 years ago
Matthew Chen df7d40ed4c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a23b8b717b RTL fixes for JSQ rewrite.
// FREEBIE
8 years ago
Michael Kirk 43dd3abf6c clamp value per CR
// FREEBIE
8 years ago
Michael Kirk 59b125c3fb Add clarifying comment per CR
// FREEBIE
8 years ago
Michael Kirk d87f000051 Interactive/Cancelable slide left for details
// FREEBIE
8 years ago
Matthew Chen fb3bb852ca Tap image attachment preview to view full screen.
// FREEBIE
8 years ago
Matthew Chen 722fc4d7a7 Fix size of message previews.
// FREEBIE
8 years ago
Matthew Chen 0eafbd8fe4 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 188b733d57 Don't send with return key.
// FREEBIE
8 years ago
Matthew Chen 27af310235 Auto-dismiss keyboard if user scrolls away from bottom of the conversation.
// FREEBIE
8 years ago
Matthew Chen 3fa2f22beb Fixes for input toolbar.
// FREEBIE
8 years ago
Matthew Chen c9e385920a Fix spacing around date headers.
// FREEBIE
8 years ago
Matthew Chen 429f833913 Center the progress bar within the bubble mask.
// FREEBIE
8 years ago
Matthew Chen 658c3c5599 Only show attachment upload UI for not-yet-uploaded attachments.
// FREEBIE
8 years ago
Matthew Chen 067b16903c Fix attachment uploads.
// FREEBIE
8 years ago
Matthew Chen c1f35a0ea6 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2fa3cf1bc6 Rework attachment approval UI.
// FREEBIE
8 years ago
Matthew Chen cbb0030b12 Rework attachment approval UI.
// FREEBIE
8 years ago
Matthew Chen d04f9111db Rework attachment approval UI.
// FREEBIE
8 years ago
Michael Kirk 1fee5d97e6 Merge branch 'release/2.18.0' 8 years ago
Matthew Chen a1d8c7765d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 54c56f1c4b Fix layout of generic and audio messages.
// FREEBIE
8 years ago
Matthew Chen a16197f193 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b1b0ddbf2e Fix layout glitches in JSQ rewrite.
// FREEBIE
8 years ago
Michael Kirk 21df2dc047 Never hide "failed to send" footer
// FREEBIE
8 years ago
Michael Kirk bd4b4f0041 Use proper color when messages fail to send.
// FREEBIE
8 years ago
Michael Kirk f3f0d591ea Revert "Add workaround for bug in iOS 11.1 beta around hit area of custom back buttons."
This reverts commit 7c82f6d448.

This wasn't helping our crash rate, and on my device, as of iOS11.1B2,
the button is easily tappable, not detectably different from prior iOS
releases.
8 years ago
Michael Kirk 66ab4e2549 Merge tag '2.16.2.0' into release/2.18.0 8 years ago
Michael Kirk 2d10080c33 Merge tag '2.17.1.1' into release/2.18.0 8 years ago
Michael Kirk 68e755ade9 Merge branch 'release/2.18.0' 8 years ago
Michael Kirk 0cd56d4bcc On iOS11 doc picker requires system appearance.
Otherwise nav items are illegible.

// FREEBIE
8 years ago
Matthew Chen 7fa7d5d526 Fix "mark as read."
// FREEBIE
8 years ago
Matthew Chen b0aa84e420 Clean up conversation view.
// FREEBIE
8 years ago
Matthew Chen d355b45bae Reduce relayout and reload churn; respond to dynamic type changes.
// FREEBIE
8 years ago
Matthew Chen c2608785e1 Reduce relayout and reload churn; respond to dynamic type changes.
// FREEBIE
8 years ago
Matthew Chen 4dc6934fc7 End text editing if we leave conversation view.
// FREEBIE
8 years ago
Matthew Chen bd5639baaf Linkify text messages.
// FREEBIE
8 years ago
Matthew Chen bf80e6dd36 Fix broken message cell layout.
// FREEBIE
8 years ago
Matthew Chen 45ba79d296 Auto-load more message if user scrolls near the top of the conversation.
// FREEBIE
8 years ago
Matthew Chen f28abbc2a1 Revert from numeric to default keyboard after message send.
// FREEBIE
8 years ago
Matthew Chen 4dabb71815 Fix "can't send same GIF twice" issue.
// FREEBIE
8 years ago
Matthew Chen fb4d43d542 Fix "can't send same GIF twice" issue.
// FREEBIE
8 years ago
Matthew Chen f3102e2761 Fix presentation animation of new "attachment approval" state of input toolbar.
// FREEBIE
8 years ago
Matthew Chen 0fe76aaab8 Move "attachment approval" into input toolbar.
// FREEBIE
8 years ago
Matthew Chen 06eb794db6 Simplify and fix edge cases around long pressing on system message cells.
// FREEBIE
8 years ago
Matthew Chen 37841d9b67 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 4a94d039e8 Restore the input toolbar's placeholder text.
// FREEBIE
8 years ago
Matthew Chen c47573334b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3b945a9da2 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 88c874e4e6 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 257f8249bf Cull cached cell media outside a load window.
// FREEBIE
8 years ago
Matthew Chen 65efa7f836 Lazy load, eagerly unload & cache cell media.
// FREEBIE
8 years ago
Matthew Chen e77292c2a9 Add contentWidth property to ConversationViewCell.
// FREEBIE
8 years ago
Matthew Chen b269c72acb Respond to CR.
// FREEBIE
8 years ago
Matthew Chen f36ecbdfa6 Button locations in input toolbar should reflect RTL.
// FREEBIE
8 years ago
Matthew Chen cec614706e Button locations in input toolbar should reflect RTL.
// FREEBIE
8 years ago
Matthew Chen 2ec8522355 Fix the input toolbar.
// FREEBIE
8 years ago
Matthew Chen b9f6bbb369 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 163e66dd4f Restore "load more messages" functionality.
// FREEBIE
8 years ago
Matthew Chen ed350f8ea6 Add vertical scroll indicator to conversation view.
// FREEBIE
8 years ago
Matthew Chen 032ec59d1c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 01691b7ade Ensure attachment masking is updated to reflect cell relayout.
// FREEBIE
8 years ago
Matthew Chen 212d5dd112 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen ae27d062f6 Clamp content aspect ratio.
// FREEBIE
8 years ago
Matthew Chen b6a61afd5c Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 46dc0acdfb Fix media cropping.
// FREEBIE
8 years ago
Matthew Chen 132d5b3408 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen e91599d986 Restore message cell footers.
// FREEBIE
8 years ago
Matthew Chen 3723a4845f Restore message cell footers.
// FREEBIE
8 years ago
Matthew Chen c2f07bb3d8 Restore message cell footers.
// FREEBIE
8 years ago
Matthew Chen 227fd5280d Resize conversation view cells as necessary.
// FREEBIE
8 years ago
Matthew Chen f7bd813c9f Restore the date headers to the conversation view cells.
// FREEBIE
8 years ago
Michael Kirk 0f859d6b20 Merge branch 'release/2.18.0' 8 years ago
Michael Kirk 3080cb512b Compose View: collation index and group search
- Include table index for contacts
- Fix extra spacing in OWS table view
- Separate search results into contact/invite sections
- Include groups in search results when composing new message
- Compose Screen search matches on group member names

// FREEBIE
8 years ago
Matthew Chen 7c82f6d448 Add workaround for bug in iOS 11.1 beta around hit area of custom back buttons.
// FREEBIE
8 years ago
Matthew Chen 49501a5d1b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b1624d6818 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b833976b77 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 5621fe893c Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen fb408f980c Remove JSQ.
// FREEBIE
8 years ago
Michael Kirk 796be18c56 enable gif picker
// FREEBIE
8 years ago
Matthew Chen 380ed0f82b Create & access groups more carefully.
// FREEBIE
8 years ago
Matthew Chen cef1f9186d Fix the scroll down button margins.
// FREEBIE
8 years ago
Matthew Chen fd9188415f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 801734a938 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 5b70116209 Unify the "message was sent" logic in conversation view. Ensure "message sent" sounds are played after sending attachments.
// FREEBIE
8 years ago
Matthew Chen a65a4b133c Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 2dfd7aa0e9 Actually send GIFs.
// FREEBIE

SQUASH ME.

SQUASH ME.
8 years ago
Matthew Chen 62ba5701f6 Sketch out GIF picker.
// FREEBIE
8 years ago
Matthew Chen 27e5a2f1b2 Sketch out GIF picker.
// FREEBIE
8 years ago
Matthew Chen dbe2c6aa76 Fix scroll down button.
// FREEBIE
8 years ago
Matthew Chen f99ce23e69 Fix wrongful "add to contacts offer" issue.
// FREEBIE
8 years ago
Matthew Chen 6abc4bed90 Increase hot area of scroll down button.
// FREEBIE
8 years ago
Michael Kirk e2445e6ed2 Fix RTL bubbles in conversation and message detail view
// FREEBIE
8 years ago
Michael Kirk c3bb8a0190 on main thread, per CR
// FREEBIE
8 years ago
Michael Kirk 5704bf1765 message bubbles for message detail view controller
// FREEBIE
8 years ago
Michael Kirk e77a7e09bb Fix assert for empty thread
// FREEBIE
8 years ago
Matthew Chen d557817bb4 Format message statuses with date if possible.
// FREEBIE
8 years ago
Matthew Chen af7fd60d76 Fix NPE in conversation view.
// FREEBIE
8 years ago
Michael Kirk bfaa7f2e0c On iOS11 doc picker requires system appearance.
Otherwise nav items are illegible.

// FREEBIE
8 years ago
Matthew Chen 9f9ac746d1 Sketch out message metadata view.
* Show message metadata view from conversation view.
* Pull out MediaMessageView class.
* Track recipient read timestamps.
* Add per-recipient status to message metadata view.
* Add share button to message metadata view.

// FREEBIE
8 years ago
Matthew Chen 315c1d7dc4 Hide all read receipts in UI if not enabled.
// FREEBIE
8 years ago
Matthew Chen 11cadf4200 Send, receive & show read receipts to senders/from receivers.
* Send read receipts to senders.
* Honor "send read receipts" preference.
* Process read receipts from recipients.
* Refactor "mark as read" logic.
* Serialize and apply recipient read receipts received before sync transcript.
* Show recipient read receipts in conversation view.

// FREEBIE
8 years ago
Matthew Chen c92c6de7b9 Add stress group to debug UI.
// FREEBIE
8 years ago
Matthew Chen 7268bde506 Add stress group to debug UI.
// FREEBIE
8 years ago
Matthew Chen bd416176ae Add stress group to debug UI.
// FREEBIE
8 years ago
Matthew Chen 35a2470cb7 Post notifications asynchronously.
// FREEBIE
8 years ago
Matthew Chen b28c4b74b2 Pull out TSMessageDecrypter class.
// FREEBIE
8 years ago
Matthew Chen f1b7d895e2 Modify precommit script to clean up includes and forward declarations.
// FREEBIE
8 years ago
Matthew Chen fa353259c3 Process messages in a single transaction (wherever possible).
// FREEBIE
8 years ago
Matthew Chen 6fce2c26b7 Process messages in a single transaction (wherever possible).
// FREEBIE
8 years ago
Matthew Chen 80e5f281c6 Rename app preferences class.
// FREEBIE
8 years ago
Matthew Chen c0f5bda2be Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 400f536e37 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 872ce17dd6 Clean up data source temp files when complete.
// FREEBIE
8 years ago
Matthew Chen 92a2fd6b69 Avoid NPEs when entering conversation view.
// FREEBIE
8 years ago
Matthew Chen 541966aaf6 Fix NPEs when profiles change while entering conversation view.
// FREEBIE
8 years ago
Matthew Chen 2c68b06412 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 05b1818874 Don't "scroll to bottom" when messages are sent from desktop.
// FREEBIE
8 years ago
Matthew Chen 48121e5eac Don't "scroll to bottom" when messages are sent from desktop.
// FREEBIE
8 years ago
Matthew Chen 5be2014ec7 Create Flat UI rounded button class.
// FREEBIE
8 years ago
Matthew Chen ab00342d67 Add modal activity indicator view.
// FREEBIE
8 years ago
Matthew Chen 9dfebb2d4b Apply OWSFail() in more places.
// FREEBIE
8 years ago
Matthew Chen c21a7673c8 Rework preservation of attachment filenames.
// FREEBIE
8 years ago
Matthew Chen b95b5f69de Apply DataSource to message sender.
// FREEBIE
8 years ago
Matthew Chen 20e5013aae Convert DataSource to Objective-C.
// FREEBIE
8 years ago
Matthew Chen 69816cdf0e Convert DataSource to Objective-C.
// FREEBIE
8 years ago
Matthew Chen 2282733fa9 Add data source class.
// FREEBIE
8 years ago
Matthew Chen 26a6e76f3c Rework conversation view header.
// FREEBIE
8 years ago
Matthew Chen b626fb5bf8 Rework conversation view header.
// FREEBIE
8 years ago
Matthew Chen 644f435b16 Rework conversation view header.
// FREEBIE
8 years ago
Matthew Chen c106794fe8 Rename conversation view.
// FREEBIE
8 years ago
Matthew Chen 928525c31e Rename home view.
// FREEBIE
8 years ago
Michael Kirk 83ca34edbe Fix sending images taken on iOS11 camera.
Convert .heic to .jpg upon sending

// FREEBIE
8 years ago
Michael Kirk ecf8ca093f [JSQMVC] iOS11 compatability
// FREEBIE
8 years ago
Matthew Chen 6a2d14ad2a Refine message view's initial range size.
// FREEBIE
8 years ago
Matthew Chen a1cb2c015e Refine message view's initial range size.
// FREEBIE
8 years ago
Matthew Chen 94daccc78e Fix fake contacts.
// FREEBIE
8 years ago
Michael Kirk 2cd2596ddc crashfix: thread.uniqueId is sometimes nil in production
fail early and print diagnostics

// FREEBIE
8 years ago
Michael Kirk bb8f6c1b73 crashfix: crash while accessing image property
assert on blind cast

// FREEBIE
8 years ago
Michael Kirk 2eaaba9082 crashfix: on addObject, presumably it's nil.
I'm not sure how this is happening, but this will prevent the crash and
give us additional diagnostic data in the cases where it is happening.

// FREEBIE
8 years ago
Matthew Chen 95eaa2c3bb Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
8 years ago
Matthew Chen b2c8ad2d29 Restore scroll state after resetting the conversation view's mapping.
// FREEBIE
8 years ago
Matthew Chen 7d32491968 Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
8 years ago
Matthew Chen fce2ad2793 Refine the "is scrolled to bottom" logic to better handle new conversations.
// FREEBIE
8 years ago
Matthew Chen b9908997c9 Remain scrolled to bottom after presenting the keyboard in messages view.
// FREEBIE
8 years ago
Matthew Chen 92a0fbe01b Fix yet another edge case around message view scroll state.
// FREEBIE
8 years ago
Matthew Chen 997cd2ef2b Revisit the [UIScrollView _adjustContentOffsetIfNecessary] issue. Fix glitches in the initial scroll state in message view. Don't reset scroll state when returning to the message view.
// FREEBIE
8 years ago
Matthew Chen 7f717c0ca6 Revisit the [UIScrollView _adjustContentOffsetIfNecessary] issue. Fix glitches in the initial scroll state in message view. Don't reset scroll state when returning to the message view.
// FREEBIE
8 years ago
Michael Kirk ab84cbd670 use messageSender property now that the class relies on it in multiple
places.

(due to rebase)

// FREEBIE
8 years ago
Michael Kirk 4382f33618 Send blank PROFILE_MESSAGE after whitelisting someone
So they can immediately fetch your profile.
Note, we're going to put this behind a feature flag for initial release
since iOS prints an empty bubble when receiving a message like this.

// FREEBIE
8 years ago
Matthew Chen d3d9e5dabc Fix scroll down button state.
// FREEBIE
8 years ago
Matthew Chen f2ae73e156 Remove obsolete "scrollLaterTimer" hack in messages view.
// FREEBIE
8 years ago
Matthew Chen 65db75a91d Fix group profile whitelist check.
// FREEBIE
8 years ago
Michael Kirk 96f0ab215c wip 8 years ago
Michael Kirk fd99354673 profile name vs. verified in ContactTableViewCell
// FREEBIE
8 years ago
Michael Kirk e54e1d11c0 show profile name snippet in inbox and conversation settings
// FREEBIE
8 years ago
Matthew Chen b28a6bab26 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 57b76b3411 Ensure message view range is properly truncated with view is configured.
// FREEBIE
8 years ago
Matthew Chen 68309eb00f Rework save/cancel buttons in profile view.
// FREEBIE
8 years ago
Matthew Chen 5e6f5804c1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 584ddab0b9 Show "share profile with group" banner.
// FREEBIE
8 years ago
Matthew Chen ae1908c40c Show "share profile with group" banner.
// FREEBIE
8 years ago
Matthew Chen 9dfeb132cb Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1e43e93371 Observe profile changes in conversation view.
// FREEBIE
8 years ago
Matthew Chen 14d472781f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a340c9ebdc Clean up ahead of CR.
// FREEBIE
8 years ago
Matthew Chen 265bdce0ba Start reworking the contact offers.
// FREEBIE
8 years ago
Matthew Chen a825fad47b Start reworking the contact offers.
// FREEBIE
8 years ago
Matthew Chen 5f2f8ec6d8 Start reworking the contact offers.
// FREEBIE
8 years ago
Matthew Chen 25b0f79615 Rework "cancel navigate back" logic.
// FREEBIE
8 years ago
Michael Kirk 4511b4015f Clarify where we use the profile name
Add some hints to differentiate profile name usage from a name pulled
from the contacts.

// FREEBIE
8 years ago
Matthew Chen d476bc286d * Add debug UI tools for clearing and logging the profile whitelist.
* Auto-add new contact threads to profile whitelist when local user sends first message to that thread.
* Ensure dynamic interactions have a non-negative timestamp even if the conversation was empty.
* Only call updateMessageMappingRangeOptions _after_ beginLongLivedReadTransaction and updating messageMappings.
* Improve documentation around how to avoid corrupt mappings in conversation view.
* Fix edge cases around large initial range sizes.
* Always treat dynamic interactions as read.
* Rebuild the “unseen” database views to remove dynamic interactions (see above).

// FREEBIE
8 years ago
Matthew Chen 0b14f87575 Improve comments about mapping consistency in conversation view.
// FREEBIE
8 years ago
Michael Kirk e08fa4bcec Fix jolting animation after sending a message
When we send the nth message, we retain the footer for the n-1th message
until the nth message is successfully sent.

1. leave the footer on the n-1th message
2. draw the nth message with the "..." footer
3. update the nth message with the "sent" footer and hide the footer for
   the n-1th message

In the normal case this all happens very quickly, which results in some
unpleasant flicker every time you send a message.

The concession here is that we'll only print the n-1th footer if the
outgoing message *fails*. So until we implement a design more like
Android's double-check for sent/delivery, the user will not be able to
distinguish between a sent and delivered message *while* their message
is outgoing.

In my opinion the lack of jank in the normal case makes the app
supercedes this use case.

// FREEBIE
8 years ago
Matthew Chen 6c3662b944 Increase max conversation range length.
// FREEBIE
8 years ago
Matthew Chen b2360ace6e Fix layout glitch in messages view.
// FREEBIE
8 years ago
Matthew Chen 37ce388eb6 Add “add to profile whitelist” offer.
// FREEBIE
8 years ago
Matthew Chen 282ac4bb29 Add “share profile” row to conversation settings.
// FREEBIE
8 years ago
Matthew Chen a0eead37c7 Ensure size of message mappings range increases monotonically.
// FREEBIE
8 years ago
Matthew Chen 103a7fab36 Hide empty conversations in home view.
// FREEBIE
8 years ago
Matthew Chen 6858a1e944 Fix assert in conversation view around nil title.
// FREEBIE
8 years ago
Matthew Chen 803e91c3ce Fix assert in conversation view around nil title.
// FREEBIE
8 years ago
Matthew Chen d80f470c2c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2e7fe5cfd5 Rework database observation in home and message views.
// FREEBIE
8 years ago
Matthew Chen 1f1a681180 Rework database observation in home and message views.
// FREEBIE
8 years ago
Matthew Chen f0cecfad11 Surface memory leaks by logging the deallocation of view controllers.
// FREEBIE
8 years ago
Matthew Chen fdac0305cb Update analytics macros.
// FREEBIE
8 years ago
Matthew Chen 14621e1288 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 02c510691c Adapt number formatting to RTL.
// FREEBIE
8 years ago
Matthew Chen 5edec99fd6 Adapt number formatting to RTL.
// FREEBIE
8 years ago
Matthew Chen c799e18c74 Adapt voice messages UI to RTL.
// FREEBIE
8 years ago
Matthew Chen 693e74e868 Adapt conversation settings view to RTL.
// FREEBIE
8 years ago
Matthew Chen d36e60b0e9 Respond to CR.
// FREEBIE
8 years ago
Michael Kirk a59eb25aef extract dismiss string -> CommonStrings.dismissButton
// FREEBIE
8 years ago
markus.fassbender 422336db32 fixes compiler warnings FREEBIE 8 years ago
Matthew Chen 0244e134f5 Block device from sleeping during certain activities.
// FREEBIE
8 years ago
Matthew Chen 07c8eb54b7 Prevent "scroll to button" button from blipping.
// FREEBIE
8 years ago
Michael Kirk c6cd0bbcae Always show timestamp after unread indicator
// FREEBIE
8 years ago
Michael Kirk bef3a56e50 DebugUI: create fake unread messages
helpful for printing unread indicator

// FREEBIE
8 years ago
Matthew Chen f7c81bae9d Show the “scroll down” button if user scrolls up, even if there are no unread messages.
// FREEBIE
8 years ago
Matthew Chen eff1974eeb [SSK] Reduce chattiness of logs; increase log file sizes.
// FREEBIE
8 years ago
Matthew Chen a039aac36d Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
8 years ago
Matthew Chen b39c4905c3 Invalid message adapter cache when app becomes visible.
// FREEBIE
8 years ago
Michael Kirk 11fa08470d [JSQ] Fix: can't dismiss keyboard after sending
// FREEBIE
8 years ago
Michael Kirk 8898f4a6d4 CR: future proof view placement if we change hierarchy
// FREEBIE
8 years ago
Michael Kirk c70b1e9681 Make system messages deletable
// FREEBIE
8 years ago
Michael Kirk fbba2f5dd7 colocate CollectionViewDelegate methods
// FREEBIE
8 years ago
Matthew Chen de453b2960 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5796bbd858 Max out the unread count at 99.
// FREEBIE
8 years ago
Michael Kirk 0419d35f12 CR: rename method
not always resized when used

// FREEBIE
8 years ago
Michael Kirk 8fc2289152 prefer becomeFirstResponder
Feels a little more reasonable than interecepting canBecomeFirstResponder

// FREEBIE
8 years ago
Michael Kirk b4d3e8e744 Fix: tapping input obscures last messages
// FREEBIE
8 years ago
Matthew Chen d01a52758b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 0d07e0222f Avoid stale mapping in conversation view.
// FREEBIE
8 years ago
Matthew Chen 331a1e90e3 Avoid stale mapping in conversation view.
// FREEBIE
8 years ago
Matthew Chen f6f08891eb Avoid stale mapping in conversation view.
// FREEBIE
8 years ago
Matthew Chen d4a6a35ee3 Avoid stale mapping in conversation view.
// FREEBIE
8 years ago
Michael Kirk 4f3278db1e Fix layout of timestamp for system messages
Incorporate topLabelSize into cell size for system messages.

We are using the term "bubble size" to describe the interaction specific
views of a collection cell. It's a crappy name, but coincides with other
usage.

// FREEBIE
8 years ago
Michael Kirk 1125e2ac99 System messsages can show timestamp
added the JSQCollectionViewCell cellTopLabel to the system message
layout

// FREEBIE
8 years ago
Matthew Chen 104a548eb2 Ensure message mapping is up-to-date when app returns from background.
// FREEBIE
8 years ago
Matthew Chen e14b9b511d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 8649b26033 Don’t auto-scroll after “loading more messages” unless we have “more unseen messages”.
// FREEBIE
8 years ago
Matthew Chen ab95b04e56 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 90c4ba27bf Respond to post-holiday code reviews.
// FREEBIE
8 years ago
Matthew Chen bd440f0878 Respond to post-holiday code reviews.
// FREEBIE
8 years ago
Michael Kirk 1661e8dc34 assume contact in 1:1 thread
// FREEBIE
8 years ago
Michael Kirk a41b10a695 ignore tap on legacy non-blocking SN change message
// FREEBIE
8 years ago
Matthew Chen 35d68c6180 Fix "writes on long-lived read connection" issue.
// FREEBIE
8 years ago
Matthew Chen f71f33c2a6 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c7426f9343 Avoid crashing on startup due to database view creation.
* Substitute unread view for unseen view until unseen view is ready.
* Register as many views as possible async.
* Perform blocking, safe migrations before async registration of views.
* Add debug settings view for internal app stats.
* Show blocking overlay until async registration of database views is complete.
* Convert version migrations to use AppVersions.

// FREEBIE
8 years ago