Matthew Chen
2d8a7b03d0
Respond to CR.
...
// FREEBIE
2017-11-16 10:12:47 -05:00
Matthew Chen
19ba564f80
Respond to CR.
...
// FREEBIE
2017-11-15 13:21:31 -05:00
Matthew Chen
00feb14b10
Respond to CR.
...
// FREEBIE
2017-11-15 13:15:48 -05:00
Matthew Chen
518f15155a
Respond to CR.
...
// FREEBIE
2017-11-10 12:57:16 -05:00
Matthew Chen
efcd42012c
Respond to CR.
...
// FREEBIE
2017-11-10 12:57:16 -05:00
Matthew Chen
6e840ff956
Fix build warnings from XCode 9.
2017-11-09 02:52:44 -05:00
Matthew Chen
da7338580c
Merge tag '2.18.1.0'
2017-11-06 14:28:43 -05:00
Michael Kirk
e82a3f3ddf
respond to CR
...
// FREEBIE
2017-11-06 13:39:23 -05:00
Michael Kirk
8ef9e96b91
Avoid group-sync deadlock by making post-upload save async
...
// FREEBIE
2017-11-06 13:39:23 -05:00
Michael Kirk
0706edf42a
Generate new registrationId on re-register
...
In order for others to know they should start a new session with us, we
need to change our registration id.
To achieve this, I consolidated all the Account related attributes on
TSAccountManager - luckily they were already in the proper collection, I
just moved the API to hang on the AccountManager instead of a TSStorage
category extension.
Also:
@synchronize access to `registrationId`
// FREEBIE
2017-11-02 16:05:41 -04:00
Michael Kirk
58d4c95362
Re-register without losing your messages in Debug-UI
...
// FREEBIE
2017-11-02 16:05:41 -04:00
Matthew Chen
834ad3f8e1
Respond to CR.
...
// FREEBIE
2017-09-27 14:22:01 -04:00
Matthew Chen
eec0efa3c8
Fix class rename.
...
// FREEBIE
2017-09-27 14:22:01 -04:00
Matthew Chen
ee13084d5c
Respond to CR.
...
// FREEBIE
2017-09-27 14:05:21 -04:00
Matthew Chen
ffe44e68be
Refactor linked device read receipts.
...
// FREEBIE
2017-09-27 13:17:43 -04:00
Matthew Chen
35a2470cb7
Post notifications asynchronously.
...
// FREEBIE
2017-09-21 17:03:57 -04:00
Matthew Chen
6fce2c26b7
Process messages in a single transaction (wherever possible).
...
// FREEBIE
2017-09-20 09:40:46 -04:00
Matthew Chen
afc753e7ed
Add batch message processor.
...
// FREEBIE
2017-09-20 09:24:49 -04:00
Matthew Chen
c498e4b354
Decouple message decryption and processing.
...
// FREEBIE
2017-09-20 09:24:49 -04:00
Matthew Chen
bfd50a9e0e
Make "database view registration complete" check thread-safe.
...
// FREEBIE
2017-09-20 09:21:05 -04:00
Matthew Chen
183f0f1ccd
Respond to CR.
...
// FREEBIE
2017-09-19 17:45:18 -04:00
Matthew Chen
703b348091
Respond to CR.
...
// FREEBIE
2017-08-23 09:55:53 -04:00
Matthew Chen
a9b55675cd
Add assert to ensure that we don't use write transactions before sync database view registration is complete.
...
// FREEBIE
2017-08-23 09:46:26 -04:00
Matthew Chen
a825fad47b
Start reworking the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
98eb4693c5
Rework the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen
164bf19b47
Respond to CR.
...
// FREEBIE
2017-08-17 11:22:25 -04:00
Matthew Chen
622c0c3f5f
* 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
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
Michael Kirk
01e808febe
localNumber persistance from Category -> TSAccountManager
...
Following the pattern that singleton methods for effectively global
state should get/set on their own dedicated dbConnection for consistency
and to avoid being blocked by unrelated writes.
2017-08-03 13:27:09 -04:00
Michael Kirk
8a4712bf4c
Only access localNumber on AccountManager and cache it
...
// FREEBIE
2017-08-03 13:27:09 -04:00
Matthew Chen
43b3abe321
Merge branch 'hotfix/2.15.2'
2017-08-03 13:10:01 -04:00
Matthew Chen
539490ee19
Respond to CR.
...
// FREEBIE
2017-08-03 12:05:53 -04:00
Matthew Chen
6f03c2d92f
Don’t hide threads if they are a group thread, or if they have _ever_ had a message.
...
// FREEBIE
2017-08-02 15:12:42 -04:00
Matthew Chen
2993ac002f
Clean up database convenience methods and add assertions.
...
// FREEBIE
2017-08-02 10:47:42 -04:00
Matthew Chen
7692a393c1
Add convenience category for YapDatabaseConnection.
...
// FREEBIE
2017-08-02 10:38:23 -04:00
Matthew Chen
0bd23345a1
Sketch out the profile view.
...
// FREEBIE
2017-08-01 16:17:59 -04:00
Michael Kirk
4bf407a24f
fix some compiler warnings
...
// FREEBIE
2017-07-31 11:56:47 -04:00
Matthew Chen
678db31c1f
Hide empty conversations in home view.
...
// FREEBIE
2017-07-27 15:40:35 -04:00
Matthew Chen
c042a96aa4
Hide empty conversations in home view.
...
// FREEBIE
2017-07-27 15:40:35 -04:00
Matthew Chen
c6e21e83a3
Hide empty conversations in home view.
...
// FREEBIE
2017-07-27 15:40:35 -04:00
Matthew Chen
103a7fab36
Hide empty conversations in home view.
...
// FREEBIE
2017-07-27 15:39:26 -04:00
Matthew Chen
f1807cd709
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:29:05 -04:00
Matthew Chen
f973af5a83
Streamline analytics properties.
...
// FREEBIE
2017-07-27 10:16:16 -04:00
Michael Kirk
4d8429186d
Store undecrypted envelopes before doing any processing.
...
This lets us clear the server side queue immediately, and paves the way
for retry, give up logic.
// FREEBIE
2017-07-26 14:29:56 -04:00
Matthew Chen
7cbdde7b1d
Rework handling of critical errors, e.g. errors while initializing TSStorageManager.
...
// FREEBIE
2017-07-26 10:01:43 -04:00
Matthew Chen
543c05b2c5
Add a “critical” severity level for analytics events.
...
// FREEBIE
2017-07-24 16:13:59 -04:00
Matthew Chen
7da5df594f
Instrument errors in storage manager.
...
// FREEBIE
2017-07-24 16:05:39 -04:00
Matthew Chen
19c0a7ad7c
Instrument errors in message sender.
...
// FREEBIE
2017-07-24 16:05:39 -04:00
Michael Kirk
a5f067936c
migration to fix any half-registered users
...
// FREEBIE
2017-07-24 13:01:43 -04:00
Matthew Chen
64a99c63b3
[SSK] Migrating changes from obsolete SSK repo.
...
// FREEBIE
2017-07-21 15:08:37 -04:00