Commit Graph

319 Commits (307c8595c39ced9422036dc9465ad64f7dc6c326)

Author SHA1 Message Date
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