Matthew Chen
94daccc78e
Fix fake contacts.
...
// FREEBIE
2017-09-01 15:24:27 -04:00
Michael Kirk
2cd2596ddc
crashfix: thread.uniqueId is sometimes nil in production
...
fail early and print diagnostics
// FREEBIE
2017-09-01 12:56:50 -04:00
Michael Kirk
bb8f6c1b73
crashfix: crash while accessing image property
...
assert on blind cast
// FREEBIE
2017-09-01 12:56:50 -04:00
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
2017-09-01 12:56:50 -04:00
Matthew Chen
95eaa2c3bb
Preserve scroll state across conversation view layout changes, if possible.
...
// FREEBIE
2017-08-31 15:21:29 -04:00
Matthew Chen
b2c8ad2d29
Restore scroll state after resetting the conversation view's mapping.
...
// FREEBIE
2017-08-31 15:21:29 -04:00
Matthew Chen
7d32491968
Preserve scroll state across conversation view layout changes, if possible.
...
// FREEBIE
2017-08-31 15:21:27 -04:00
Matthew Chen
fce2ad2793
Refine the "is scrolled to bottom" logic to better handle new conversations.
...
// FREEBIE
2017-08-30 13:00:02 -04:00
Matthew Chen
b9908997c9
Remain scrolled to bottom after presenting the keyboard in messages view.
...
// FREEBIE
2017-08-30 12:44:10 -04:00
Matthew Chen
92a0fbe01b
Fix yet another edge case around message view scroll state.
...
// FREEBIE
2017-08-29 13:30:56 -04:00
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
2017-08-29 12:20:58 -04:00
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
2017-08-29 12:20:58 -04:00
Michael Kirk
ab84cbd670
use messageSender property now that the class relies on it in multiple
...
places.
(due to rebase)
// FREEBIE
2017-08-29 10:49:22 -04:00
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
2017-08-29 10:35:54 -04:00
Matthew Chen
d3d9e5dabc
Fix scroll down button state.
...
// FREEBIE
2017-08-28 14:55:39 -04:00
Matthew Chen
f2ae73e156
Remove obsolete "scrollLaterTimer" hack in messages view.
...
// FREEBIE
2017-08-25 17:01:13 -04:00
Matthew Chen
65db75a91d
Fix group profile whitelist check.
...
// FREEBIE
2017-08-24 17:29:32 -04:00
Michael Kirk
96f0ab215c
wip
2017-08-23 16:42:55 -04:00
Michael Kirk
fd99354673
profile name vs. verified in ContactTableViewCell
...
// FREEBIE
2017-08-23 16:42:22 -04:00
Michael Kirk
e54e1d11c0
show profile name snippet in inbox and conversation settings
...
// FREEBIE
2017-08-23 15:56:58 -04:00
Matthew Chen
b28a6bab26
Respond to CR.
...
// FREEBIE
2017-08-23 14:57:02 -04:00
Matthew Chen
57b76b3411
Ensure message view range is properly truncated with view is configured.
...
// FREEBIE
2017-08-23 14:56:16 -04:00
Matthew Chen
68309eb00f
Rework save/cancel buttons in profile view.
...
// FREEBIE
2017-08-23 13:31:06 -04:00
Matthew Chen
5e6f5804c1
Respond to CR.
...
// FREEBIE
2017-08-21 17:50:40 -04:00
Matthew Chen
584ddab0b9
Show "share profile with group" banner.
...
// FREEBIE
2017-08-21 17:49:54 -04:00
Matthew Chen
ae1908c40c
Show "share profile with group" banner.
...
// FREEBIE
2017-08-21 17:49:54 -04:00
Matthew Chen
9dfeb132cb
Respond to CR.
...
// FREEBIE
2017-08-21 17:27:30 -04:00
Matthew Chen
1e43e93371
Observe profile changes in conversation view.
...
// FREEBIE
2017-08-21 17:25:07 -04:00
Matthew Chen
14d472781f
Respond to CR.
...
// FREEBIE
2017-08-21 17:13:36 -04:00
Matthew Chen
a340c9ebdc
Clean up ahead of CR.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
265bdce0ba
Start reworking the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
a825fad47b
Start reworking the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
5f2f8ec6d8
Start reworking the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
25b0f79615
Rework "cancel navigate back" logic.
...
// FREEBIE
2017-08-21 10:10:22 -04:00
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
2017-08-17 12:24:31 -04:00
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
2017-08-17 11:22:25 -04:00
Matthew Chen
0b14f87575
Improve comments about mapping consistency in conversation view.
...
// FREEBIE
2017-08-17 11:22:25 -04:00
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
2017-08-17 11:19:46 -04:00
Matthew Chen
6c3662b944
Increase max conversation range length.
...
// FREEBIE
2017-08-16 17:07:18 -04:00
Matthew Chen
b2360ace6e
Fix layout glitch in messages view.
...
// FREEBIE
2017-08-16 10:38:29 -04:00
Matthew Chen
37ce388eb6
Add “add to profile whitelist” offer.
...
// FREEBIE
2017-08-04 15:23:02 -04:00
Matthew Chen
282ac4bb29
Add “share profile” row to conversation settings.
...
// FREEBIE
2017-08-02 10:50:44 -04:00
Matthew Chen
a0eead37c7
Ensure size of message mappings range increases monotonically.
...
// FREEBIE
2017-07-28 17:13:35 -04:00
Matthew Chen
103a7fab36
Hide empty conversations in home view.
...
// FREEBIE
2017-07-27 15:39:26 -04:00
Matthew Chen
6858a1e944
Fix assert in conversation view around nil title.
...
// FREEBIE
2017-07-27 12:08:21 -04:00
Matthew Chen
803e91c3ce
Fix assert in conversation view around nil title.
...
// FREEBIE
2017-07-27 12:08:21 -04:00
Matthew Chen
d80f470c2c
Respond to CR.
...
// FREEBIE
2017-07-26 12:39:43 -04:00
Matthew Chen
2e7fe5cfd5
Rework database observation in home and message views.
...
// FREEBIE
2017-07-26 12:17:08 -04:00
Matthew Chen
1f1a681180
Rework database observation in home and message views.
...
// FREEBIE
2017-07-26 12:17:08 -04:00
Matthew Chen
f0cecfad11
Surface memory leaks by logging the deallocation of view controllers.
...
// FREEBIE
2017-07-26 11:59:00 -04:00