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