Commit Graph

236 Commits (c957578a01750dcd48ee54ff0a6efb7480f3617c)

Author SHA1 Message Date
Matthew Chen 085f8a6f64 Clean up ahead of PR. 8 years ago
Matthew Chen 70926d7f10 Clean up ahead of PR. 8 years ago
Matthew Chen 6b58b4cbde Rework database view registration. 8 years ago
Matthew Chen fe67cd924c Rework database view registration. 8 years ago
Matthew Chen f88b954ab5 Clean up TSStorageManager usage. 8 years ago
Matthew Chen d3efb2e1c9 Clean up TSStorageManager usage. 8 years ago
Matthew Chen d52eba739d Clean up TSStorageManager usage. 8 years ago
Matthew Chen 85686d3144 Continue TSStorageManager refactor. 8 years ago
Matthew Chen 9a990b58e8 Respond to CR. 8 years ago
Matthew Chen 1163e76dee Clean up ahead of PR. 8 years ago
Matthew Chen 5dcf4b3bbc Clean up ahead of PR. 8 years ago
Matthew Chen 137fe6fb8b Pull out OWSStorage base class for TSStorageManager. 8 years ago
Matthew Chen a29c4ce5d6 Pull out OWSStorage base class for TSStorageManager. 8 years ago
Matthew Chen 3643414da1 Respond to CR. 8 years ago
Matthew Chen 571840b1dc Update YapDatabase. 8 years ago
Matthew Chen b9b3eb0541 Clean up ahead of PR. 8 years ago
Matthew Chen 429312523f Simplify OWSUserProfile's "apply changes" logic using model diffing. 8 years ago
Matthew Chen f684482c54 Don't emit "user profile changed" notifications if nothing changed. 8 years ago
Matthew Chen 97ce1a6675 Rework user profile saves; block SAE if no local user profile key. 8 years ago
Matthew Chen f5353fc7d5 Clean up ahead of PR. 8 years ago
Matthew Chen 9da165b846 Continue conversion of app setup. 8 years ago
Matthew Chen c817aa51b3 Migrate environment to SignalMessaging. 8 years ago
Michael Kirk 0138777343 New @available syntax avoids compiler warnings
// FREEBIE
8 years ago
Michael Kirk 5e7ca89930 Proper function prototypes
// FREEBIE
8 years ago
Matthew Chen bf21d0c0ed Enable logging in SAE; rework log file management to include multiple log directories. 8 years ago
Matthew Chen e7df2511a4 Register CrossProcessNotifier. 8 years ago
Matthew Chen 62cf9b1dd5 Respond to CR. 8 years ago
Matthew Chen d17ccadea2 Use AppContext to resolve share extension FIXMEs. 8 years ago
Matthew Chen e712e8bfc4 Use AppContext to resolve share extension FIXMEs. 8 years ago
Matthew Chen 8d4e9b4565 Respond to CR. 8 years ago
Matthew Chen edaf65223a Migrate to shared data NSUserDefaults. 8 years ago
Matthew Chen cd11ec5698 Add app group, share keychain. Take a first pass at file migration to shared data directory. 8 years ago
Michael Kirk 336aa13520 Avoid overzealous assert
// FREEBIE
8 years ago
Michael Kirk a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
8 years ago
Michael Kirk 7894a58769 FIXME: Changes to get share extension compiling
This was a slash and burn approach, and breaks existing functionality.
We need to address all of these before merging.

// FREEBIE
8 years ago
Matthew Chen 2d8a7b03d0 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 19ba564f80 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 00feb14b10 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 518f15155a Respond to CR.
// FREEBIE
8 years ago
Matthew Chen efcd42012c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 6e840ff956 Fix build warnings from XCode 9. 8 years ago
Matthew Chen da7338580c Merge tag '2.18.1.0' 8 years ago
Michael Kirk e82a3f3ddf respond to CR
// FREEBIE
8 years ago
Michael Kirk 8ef9e96b91 Avoid group-sync deadlock by making post-upload save async
// FREEBIE
8 years ago
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
8 years ago
Michael Kirk 58d4c95362 Re-register without losing your messages in Debug-UI
// FREEBIE
8 years ago
Matthew Chen 834ad3f8e1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen eec0efa3c8 Fix class rename.
// FREEBIE
8 years ago
Matthew Chen ee13084d5c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen ffe44e68be Refactor linked device read receipts.
// FREEBIE
8 years ago
Matthew Chen 35a2470cb7 Post notifications asynchronously.
// FREEBIE
8 years ago
Matthew Chen 6fce2c26b7 Process messages in a single transaction (wherever possible).
// FREEBIE
8 years ago
Matthew Chen afc753e7ed Add batch message processor.
// FREEBIE
8 years ago
Matthew Chen c498e4b354 Decouple message decryption and processing.
// FREEBIE
8 years ago
Matthew Chen bfd50a9e0e Make "database view registration complete" check thread-safe.
// FREEBIE
8 years ago
Matthew Chen 183f0f1ccd Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 703b348091 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a9b55675cd Add assert to ensure that we don't use write transactions before sync database view registration is complete.
// FREEBIE
8 years ago
Matthew Chen a825fad47b Start reworking the contact offers.
// FREEBIE
8 years ago
Matthew Chen 98eb4693c5 Rework the contact offers.
// FREEBIE
8 years ago
Matthew Chen 164bf19b47 Respond to CR.
// FREEBIE
8 years ago
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
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
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.
8 years ago
Michael Kirk 8a4712bf4c Only access localNumber on AccountManager and cache it
// FREEBIE
8 years ago
Matthew Chen 43b3abe321 Merge branch 'hotfix/2.15.2' 8 years ago
Matthew Chen 539490ee19 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 6f03c2d92f Don’t hide threads if they are a group thread, or if they have _ever_ had a message.
// FREEBIE
8 years ago
Matthew Chen 2993ac002f Clean up database convenience methods and add assertions.
// FREEBIE
8 years ago
Matthew Chen 7692a393c1 Add convenience category for YapDatabaseConnection.
// FREEBIE
8 years ago
Matthew Chen 0bd23345a1 Sketch out the profile view.
// FREEBIE
8 years ago
Michael Kirk 4bf407a24f fix some compiler warnings
// FREEBIE
8 years ago
Matthew Chen 678db31c1f Hide empty conversations in home view.
// FREEBIE
8 years ago
Matthew Chen c042a96aa4 Hide empty conversations in home view.
// FREEBIE
8 years ago
Matthew Chen c6e21e83a3 Hide empty conversations in home view.
// FREEBIE
8 years ago
Matthew Chen 103a7fab36 Hide empty conversations in home view.
// FREEBIE
8 years ago
Matthew Chen f1807cd709 Add script to extract and gather analytics event names.
// FREEBIE
8 years ago
Matthew Chen f973af5a83 Streamline analytics properties.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen 7cbdde7b1d Rework handling of critical errors, e.g. errors while initializing TSStorageManager.
// FREEBIE
8 years ago
Matthew Chen 543c05b2c5 Add a “critical” severity level for analytics events.
// FREEBIE
8 years ago
Matthew Chen 7da5df594f Instrument errors in storage manager.
// FREEBIE
8 years ago
Matthew Chen 19c0a7ad7c Instrument errors in message sender.
// FREEBIE
8 years ago
Michael Kirk a5f067936c migration to fix any half-registered users
// FREEBIE
8 years ago
Matthew Chen 64a99c63b3 [SSK] Migrating changes from obsolete SSK repo.
// FREEBIE
8 years ago
Michael Kirk ccb4a88742 Import SSK (and history) into Signal-iOS
git remote add ssk ../SignalServiceKit
git remote update
git merge -s ours --allow-unrelated-histories --no-commit ssk/master
git read-tree --prefix=SignalServiceKit -u ssk/master
git commit
8 years ago