Commit graph

88 commits

Author SHA1 Message Date
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
Matthew Chen
fdac0305cb Update analytics macros.
// FREEBIE
2017-07-21 15:04:41 -04:00
Matthew Chen
14621e1288 Respond to CR.
// FREEBIE
2017-07-21 14:49:24 -04:00
Matthew Chen
02c510691c Adapt number formatting to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
5edec99fd6 Adapt number formatting to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
c799e18c74 Adapt voice messages UI to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
693e74e868 Adapt conversation settings view to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen
d36e60b0e9 Respond to CR.
// FREEBIE
2017-07-14 20:46:36 -04:00
Michael Kirk
a59eb25aef extract dismiss string -> CommonStrings.dismissButton
// FREEBIE
2017-07-13 17:08:41 -04:00
Matthew Chen
0244e134f5 Block device from sleeping during certain activities.
// FREEBIE
2017-07-06 17:35:47 -04:00
Matthew Chen
07c8eb54b7 Prevent "scroll to button" button from blipping.
// FREEBIE
2017-07-04 11:15:21 -04:00
Michael Kirk
c6cd0bbcae Always show timestamp after unread indicator
// FREEBIE
2017-07-04 09:15:46 -04:00
Michael Kirk
bef3a56e50 DebugUI: create fake unread messages
helpful for printing unread indicator

// FREEBIE
2017-07-04 09:15:46 -04:00
Matthew Chen
f7c81bae9d Show the “scroll down” button if user scrolls up, even if there are no unread messages.
// FREEBIE
2017-06-22 15:08:35 -04:00
Matthew Chen
eff1974eeb [SSK] Reduce chattiness of logs; increase log file sizes.
// FREEBIE
2017-06-22 10:10:56 -04:00
Matthew Chen
a039aac36d Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
2017-06-21 15:01:06 -04:00
Matthew Chen
b39c4905c3 Invalid message adapter cache when app becomes visible.
// FREEBIE
2017-06-21 10:00:56 -04:00
Michael Kirk
11fa08470d [JSQ] Fix: can't dismiss keyboard after sending
// FREEBIE
2017-06-20 17:45:28 -04:00
Michael Kirk
8898f4a6d4 CR: future proof view placement if we change hierarchy
// FREEBIE
2017-06-20 17:31:47 -04:00
Michael Kirk
c70b1e9681 Make system messages deletable
// FREEBIE
2017-06-20 17:18:19 -04:00
Michael Kirk
fbba2f5dd7 colocate CollectionViewDelegate methods
// FREEBIE
2017-06-20 17:18:19 -04:00
Matthew Chen
de453b2960 Respond to CR.
// FREEBIE
2017-06-20 13:12:51 -04:00
Matthew Chen
5796bbd858 Max out the unread count at 99.
// FREEBIE
2017-06-20 13:02:25 -04:00
Michael Kirk
0419d35f12 CR: rename method
not always resized when used

// FREEBIE
2017-06-20 11:04:11 -04:00
Matthew Chen
d01a52758b Respond to CR.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen
0d07e0222f Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen
331a1e90e3 Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen
f6f08891eb Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen
d4a6a35ee3 Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
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
2017-06-19 09:16:37 -04:00
Michael Kirk
1125e2ac99 System messsages can show timestamp
added the JSQCollectionViewCell cellTopLabel to the system message
layout

// FREEBIE
2017-06-19 09:14:52 -04:00
Matthew Chen
104a548eb2 Ensure message mapping is up-to-date when app returns from background.
// FREEBIE
2017-06-17 14:59:46 -04:00
Matthew Chen
e14b9b511d Respond to CR.
// FREEBIE
2017-06-17 14:03:44 -04:00