Commit Graph

677 Commits (b28c4b74b2d0ec4c18f2c1fb794d0a7dd33818ed)

Author SHA1 Message Date
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 0d04cf251b Ensure the crop view is WYSIWIG.
// FREEBIE
8 years ago
Michael Kirk 4e93bec230 black masking style for avatar cropper
- cancel/done buttons
- no navbar for modal edit
- vertically center image

// FREEBIE
8 years ago
Michael Kirk 59eb782d57 Optimize layout for profile upgrade, remove other upgrade screens
// FREEBIE
8 years ago
Michael Kirk 90b1db9eb4 new upgrade layout
// FREEBIE
8 years ago
Michael Kirk b7cc1e9f56 top margin iphone5c 8 years ago
Michael Kirk 73a441a28c introducing profiles
// 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
Michael Kirk cd4cfb50d3 clean up avatar icon
avatar outline was showing behind camera which had transparent center

// FREEBIE
8 years ago
Michael Kirk ae174d4a87 proper handling for multibyte characters
// FREEBIE
8 years ago
Michael Kirk 362b383785 Length-limit profile name field
// FREEBIE
8 years ago
Matthew Chen 3d0300242a Use "skip" not "stop" in profile upgrade nag.
// FREEBIE
8 years ago
Matthew Chen 94daccc78e Fix fake contacts.
// FREEBIE
8 years ago
Matthew Chen a35a21d5cc Batch the creation of fake contacts.
// FREEBIE
8 years ago
Michael Kirk 1cd51a8df2 Use existing isViewLoaded var
Defined in UIKit, this will actually already do what we need without
having to define a new var

// FREEBIE
8 years ago
Michael Kirk 3b85c5e495 crashfix: production crash when notification fired before view loaded
We're observing notifications in init that modify the view, which is
problematic if we receive a notification before the view has loaded.

// 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 cc048b3971 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7f15228aba Ignore "GIF of death."
// 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 d71b7684a6 cleanup logging
// 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
Michael Kirk 6c63009e9e Dedicated "Profile" debug section
// FREEBIE
8 years ago
Michael Kirk 9c56660618 profile key flag and debug action
// FREEBIE
8 years ago
Michael Kirk 46919e4702 Add own profile key to multidevice provisioning message
// 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 c90ca331e3 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 6b8e189f45 Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 728028563c Add double-tap to zoom out.
// FREEBIE
8 years ago
Matthew Chen e7b32f9fd1 Add double-tap to zoom out.
// FREEBIE
8 years ago
Matthew Chen 2b50eb5acc Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 2c301feeb7 Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen e8a6ca1c22 Show an error when profile name is too long.
// FREEBIE
8 years ago
Michael Kirk bde40a1f9c Ensure avatar upates right after profile change.
// FREEBIE
8 years ago
Matthew Chen 65db75a91d Fix group profile whitelist check.
// FREEBIE
8 years ago
Matthew Chen 9bf80a215f Don't add avatar to new contacts.
// FREEBIE
8 years ago
Michael Kirk 903d792af4 Debug action to clobber local profile and key
// FREEBIE
8 years ago
Michael Kirk f49e122567 listen for profile names change notifications
// 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 15d2fd23d7 Rework save/cancel buttons in profile view.
// 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 6dda535f24 Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 313d06b31d Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 020d2c567a Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 3181ee7882 Rework the profile view.
// 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 9e02524b0b Rework the contact offers.
// 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 27e496ad06 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1b055c485d Rework "cancel navigate back" logic.
// FREEBIE
8 years ago
Matthew Chen 25b0f79615 Rework "cancel navigate back" logic.
// FREEBIE
8 years ago
Matthew Chen 08347478a2 Implement alternative approach to veto-able back buttons.
// FREEBIE
8 years ago
Matthew Chen 9d8c396848 Add profile view to upgrade/nag workflow.
// FREEBIE
8 years ago
Matthew Chen ffb4b3f9d2 Add profile view to registration workflow.
// 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
Michael Kirk 2e83643327 Don't consider registration complete until user registers their push
notification tokens.

// FREEBIE
8 years ago
Matthew Chen 6c3662b944 Increase max conversation range length.
// FREEBIE
8 years ago
Matthew Chen ddd8c9ff5f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3ecd415b84 Show activity indicator during profile update; trim whitespace from profile names.
// FREEBIE
8 years ago
Matthew Chen b2360ace6e Fix layout glitch in messages view.
// FREEBIE
8 years ago
Matthew Chen f618f87825 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 90f959d0ab Respond to CR.
// FREEBIE
8 years ago
Matthew Chen cdb181eadc Sketch out profile header in app settings view.
// FREEBIE
8 years ago
Matthew Chen 13aea66878 Sketch out profile header in app settings view.
// FREEBIE
8 years ago
Michael Kirk 2c3e99c372 better var name per code review
// FREEBIE
8 years ago
Michael Kirk fd02644ca7 resize profile avatar
// FREEBIE
8 years ago
Michael Kirk 9f72db44ac Avoid lossy re-encoding of profile image
// FREEBIE
8 years ago
Michael Kirk 0290f176c0 Use profile name/avatar when creating new contact
// FREEBIE
8 years ago
Michael Kirk 3d9796db77 Debug actions for calling
For testing stale hangup/busy messages

Extracted MessageSender promise API
Moved call debug actions to their own page

// FREEBIE
8 years ago
Michael Kirk 72b3f3779b Discard GroupInfoRequest from unknown group
// FREEBIE
8 years ago
Matthew Chen 823927685d Update profile on service.
// FREEBIE
8 years ago
Matthew Chen f6bcff5427 Fix rebase breakage.
// FREEBIE
8 years ago