Matthew Chen
c8e7eb903c
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
bbd689bfd0
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
d3e16583eb
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
074046b98e
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
7358f3053f
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
218bb15ea7
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
39e353503f
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
71782e0369
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
122ef91e57
Add protocol context to protocol kit.
2018-02-09 10:31:29 -05:00
Matthew Chen
799949e546
Refine sync messages.
2018-02-02 10:56:16 -05:00
Matthew Chen
59ff1561f5
Set the timestamp property on data messages.
2018-02-02 10:42:56 -05:00
Matthew Chen
4218af13d5
Send image width/height for image and video attachments.
2018-02-02 10:42:56 -05:00
Matthew Chen
3a4180214f
Send image width/height for image and video attachments.
2018-02-02 10:42:56 -05:00
Matthew Chen
2dc37d598c
Updates service proto schema to latest.
2018-02-02 10:42:56 -05:00
Michael Kirk
4f8db63fb3
Ensure keyspec is generated before DB is created
...
// FREEBIE
2018-01-31 18:05:44 -08:00
Matthew Chen
a30170b3b2
Prefer "app is ready" flag to "storage is ready" flag.
2018-01-30 11:34:00 -05:00
Matthew Chen
be1fde905c
Don't mark app as ready until all version migrations are done.
2018-01-30 11:27:44 -05:00
Matthew Chen
b21f793756
Register all database views asynchronously.
2018-01-30 10:30:28 -05:00
Matthew Chen
eb180ba5c4
Register all database views asynchronously.
2018-01-30 10:30:28 -05:00
Matthew Chen
5cf89a0f3d
Register all database views asynchronously.
2018-01-30 10:30:28 -05:00
Matthew Chen
992e926142
Unpack oversize text messages if possible.
2018-01-25 13:26:10 -05:00
Matthew Chen
0cc7f3e00e
Clean up ahead of PR.
2018-01-25 11:00:38 -05:00
Michael Kirk
baa312f449
Timer button with duration label
...
// FREEBIE
2018-01-22 10:28:51 -05:00
Matthew Chen
0d5b5bc44c
Respond to CR.
2018-01-12 16:49:51 -05:00
Matthew Chen
3de9a4ea55
Add debug UI actions around clearing and snapshotting session state.
2018-01-12 16:42:18 -05:00
Matthew Chen
d81d85c386
Respond to CR.
2018-01-12 10:36:09 -05:00
Matthew Chen
a2b67a17fd
Skip redundant sync messages.
2018-01-12 10:36:09 -05:00
Matthew Chen
17907dca10
Clean up ahead of PR.
2018-01-12 10:23:54 -05:00
Matthew Chen
15b8e58324
Retain changes from session database branch.
2018-01-12 10:23:54 -05:00
Matthew Chen
9ac2383a2c
Retain changes from session database branch.
2018-01-10 12:18:29 -05:00
Matthew Chen
e77c3e6717
Retain changes from session database branch.
2018-01-10 12:18:23 -05:00
sdkjfhsdkjhfsdlkjhfsdf
6e2d9c8141
identity change vs. share extension
...
// FREEBIE
2018-01-02 11:24:36 -06:00
sdkjfhsdkjhfsdlkjhfsdf
8141843f27
comment typo
2017-12-20 14:26:53 -06:00
sdkjfhsdkjhfsdlkjhfsdf
92477c78b7
cleanup before PR
2017-12-20 14:26:53 -06:00
Michael Kirk
bce18637f0
render attachments with captions
...
// FREEBIE
2017-12-20 14:26:53 -06:00
Michael Kirk
e20f44024c
WIP: Support sending attachment captions
...
Looks fine on other clients, but locally we don't display the caption.
// FREEBIE
2017-12-20 14:26:53 -06:00
Matthew Chen
6b0e3508a5
Respond to CR.
2017-12-20 11:28:07 -05:00
Matthew Chen
245304116f
Respond to CR.
2017-12-20 11:19:09 -05:00
Matthew Chen
fe67cd924c
Rework database view registration.
2017-12-19 11:42:06 -05:00
Matthew Chen
d3efb2e1c9
Clean up TSStorageManager usage.
2017-12-19 11:41:31 -05:00
Matthew Chen
d52eba739d
Clean up TSStorageManager usage.
2017-12-19 11:41:31 -05:00
Matthew Chen
9a990b58e8
Respond to CR.
2017-12-19 11:38:25 -05:00
Matthew Chen
5dcf4b3bbc
Clean up ahead of PR.
2017-12-19 11:16:01 -05:00
Matthew Chen
137fe6fb8b
Pull out OWSStorage base class for TSStorageManager.
2017-12-19 11:16:01 -05:00
Matthew Chen
a29c4ce5d6
Pull out OWSStorage base class for TSStorageManager.
2017-12-19 11:16:01 -05:00
Matthew Chen
f9ce34f553
Improve background task logic.
2017-12-19 11:05:17 -05:00
Matthew Chen
5adf98788d
Use background task during message processing.
2017-12-19 11:05:17 -05:00
Matthew Chen
df8ded90b8
Use background task during attachment downloads.
2017-12-19 11:05:17 -05:00
Matthew Chen
3643414da1
Respond to CR.
2017-12-15 11:16:07 -05:00
Matthew Chen
f57c12f34d
Update YapDatabase.
2017-12-15 11:11:04 -05:00
Matthew Chen
571840b1dc
Update YapDatabase.
2017-12-15 11:11:04 -05:00
Michael Kirk
3eceb86371
Show alert if we fail to build the attachment
...
// FREEBIE
2017-12-07 10:14:30 -05:00
Michael Kirk
a58f1f385c
Share a photo from photos app
...
Shows the conversation picker, and sends the attachment to that
conversation.
There's still a lot TODO
-[ ] resolve JSQ dependency
-[ ] properly wait for app to load
-[ ] dismiss share extension after send is complete
-[ ] support non jpeg file types
-[ ] Fix device sleep manager
// FREEBIE
2017-12-07 10:13:06 -05:00
Matthew Chen
9da165b846
Continue conversion of app setup.
2017-12-05 11:19:11 -05:00
Michael Kirk
0138777343
New @available syntax avoids compiler warnings
...
// FREEBIE
2017-12-04 12:50:28 -05:00
Michael Kirk
5e7ca89930
Proper function prototypes
...
// FREEBIE
2017-12-04 12:50:28 -05:00
Matthew Chen
bf21d0c0ed
Enable logging in SAE; rework log file management to include multiple log directories.
2017-12-01 12:55:47 -05:00
Matthew Chen
64762eb427
Observe YapDatabaseModifiedExternallyNotification.
2017-11-30 10:28:05 -05:00
Matthew Chen
62cf9b1dd5
Respond to CR.
2017-11-30 10:19:34 -05:00
Matthew Chen
d17ccadea2
Use AppContext to resolve share extension FIXMEs.
2017-11-30 10:12:32 -05:00
Matthew Chen
e712e8bfc4
Use AppContext to resolve share extension FIXMEs.
2017-11-30 10:12:24 -05:00
Matthew Chen
8d4e9b4565
Respond to CR.
2017-11-30 10:02:04 -05:00
Matthew Chen
edaf65223a
Migrate to shared data NSUserDefaults.
2017-11-30 09:49:01 -05:00
Matthew Chen
cd11ec5698
Add app group, share keychain. Take a first pass at file migration to shared data directory.
2017-11-30 09:49:01 -05:00
Michael Kirk
336aa13520
Avoid overzealous assert
...
// FREEBIE
2017-11-29 14:57:04 -08:00
Michael Kirk
e9796600c6
disable some asserts for now
...
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk
a11d83187b
WIP: Framework-friendly - compiles but crashes on launch
...
// FREEBIE
2017-11-29 13:58:27 -08:00
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
2017-11-29 13:58:27 -08:00
Matthew Chen
9b197fad03
Fix deadlock when responding to contacts sync messages.
2017-11-21 11:21:08 -05:00
Matthew Chen
d8ae5841d6
Respond to CR.
...
// FREEBIE
2017-11-20 14:50:43 -05:00
Matthew Chen
b3d17ea192
Improving handling of edge cases in conversation view.
2017-11-20 14:44:10 -05:00
Matthew Chen
45c7d80d97
Improving handling of edge cases in conversation view.
2017-11-20 14:44:10 -05:00
Matthew Chen
6d4a05bbea
Improving handling of edge cases in conversation view.
2017-11-20 14:44:10 -05:00
Matthew Chen
2642f6fcea
Fix group creation.
2017-11-17 16:06:30 -05:00
Matthew Chen
21e9f57cbe
Imitate Android's behavior of delaying local notifications based on incoming sync messages.
2017-11-16 10:18:02 -05:00
Matthew Chen
2d8a7b03d0
Respond to CR.
...
// FREEBIE
2017-11-16 10:12:47 -05:00
Matthew Chen
d7b0424c75
Don't back up profile pics, attachments or gifs.
...
// FREEBIE
2017-11-16 09:59:02 -05:00
Matthew Chen
2f84e0c426
Fix calling; be explicit about which messages should be saved.
2017-11-15 20:52:07 -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
5eea0347b5
Rework the "update with..." methods to avoid re-saving deleted models.
2017-11-15 07:16:12 -05:00
Matthew Chen
94b59c326e
Rework the "update with..." methods to avoid re-saving deleted models.
2017-11-15 07:16:12 -05:00
Matthew Chen
c6160a5a1e
Rework the "update with..." methods to avoid re-saving deleted models.
2017-11-15 07:16:12 -05:00
Matthew Chen
69fa80b890
Don't resurrect zombies.
2017-11-15 07:16:12 -05:00
Matthew Chen
fce52841f9
Don't resurrect zombies.
2017-11-15 07:16:12 -05:00
Matthew Chen
cc0e58365e
Respond to CR.
...
// FREEBIE
2017-11-10 13:12:43 -05:00
Matthew Chen
0abdbffe1f
Improve handling of attachment edge cases.
2017-11-10 13:12:43 -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
071dbd4414
Respond to CR.
...
// FREEBIE
2017-11-10 12:57:16 -05:00
Matthew Chen
8b65246619
Respond to CR.
...
// FREEBIE
2017-11-10 12:57:16 -05:00
Matthew Chen
e1b32315de
Fix assert after registration.
...
// 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
2d21e2ae2c
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
98fd15fae7
Avoid groupsync deadlock - pass in transaction
...
// FREEBIE
2017-11-06 13:39:23 -05:00
Matthew Chen
8b6265f1b5
Respond to CR.
...
// FREEBIE
2017-11-03 15:24:22 -04:00
Matthew Chen
4d57402367
Ensure attachments always have a valid content type.
...
// FREEBIE
2017-11-03 15:03:17 -04:00
Matthew Chen
1fa75ead5d
Respond to CR.
...
// FREEBIE
2017-11-02 14:10:45 -04:00
Matthew Chen
74096fc2c2
Don't send sync messages to self if no linked devices.
...
// FREEBIE
2017-11-02 13:33:44 -04:00
Matthew Chen
db8a381960
Merge remote-tracking branch 'origin/release/2.18.0'
2017-11-01 12:02:37 -04:00
Michael Kirk
cbbb376860
Handle receiving padded attachments
...
Don't send padded attachments yet.
// FREEBIE
2017-10-27 08:47:53 -07:00
Michael Kirk
259695a9fd
Attachments require digest or show explanatory error.
...
// FREEBIE
2017-10-27 08:42:54 -07:00
Michael Kirk
6eeb78157a
Include size in attachment pointer
...
// FREEBIE
2017-10-26 15:11:37 -07:00
Matthew Chen
8704722f90
Don't start expiration of incoming messages until attachments are downloaded.
...
// FREEBIE
2017-10-17 17:48:46 -07:00
Michael Kirk
0f859d6b20
Merge branch 'release/2.18.0'
2017-10-16 12:27:20 -07:00
Michael Kirk
3080cb512b
Compose View: collation index and group search
...
- Include table index for contacts
- Fix extra spacing in OWS table view
- Separate search results into contact/invite sections
- Include groups in search results when composing new message
- Compose Screen search matches on group member names
// FREEBIE
2017-10-16 12:22:02 -07:00
Matthew Chen
fb408f980c
Remove JSQ.
...
// FREEBIE
2017-10-12 16:23:48 -04:00
Michael Kirk
b2efb722d2
Log timestamp of sent messages
...
This is really helpful when cross referencing debug logs with the
recipient. (We already log timestamps on the receiving side).
// FREEBIE
2017-10-12 14:35:19 -04:00
Michael Kirk
703d4df9e5
Avoid phantom notifications for group info requests
...
// FREEBIE
2017-10-12 08:56:02 -04:00
Matthew Chen
0c46b770e9
Ignore group info requests if sender and recipient aren't both known group members.
...
// FREEBIE
2017-10-04 10:19:19 -04:00
Matthew Chen
13a6657991
Respond to CR.
...
// FREEBIE
2017-10-04 10:06:38 -04:00
Matthew Chen
2a5a0929e6
Create & access groups more carefully.
...
// FREEBIE
2017-10-04 09:45:09 -04:00
Matthew Chen
380ed0f82b
Create & access groups more carefully.
...
// FREEBIE
2017-10-04 09:45:09 -04:00
Matthew Chen
a31b1aeea6
Respond to "sync block list" request.
...
// FREEBIE
2017-10-04 09:23:14 -04:00
Michael Kirk
462a6e4456
Persist read receipts to proper collection
...
// FREEBIE
2017-10-03 16:06:11 -04:00
Michael Kirk
2125dbe72c
CR: Avoid potential transaction nesting
...
also clean up description method
// FREEBIE
2017-10-03 11:11:15 -04:00
Michael Kirk
5d62741a3c
Sync read receipt configuration upon set
...
// FREEBIE
2017-10-03 09:17:08 -04:00
Michael Kirk
ab5b090338
Sync read receipt config to linked devices
...
// FREEBIE
2017-10-02 16:35:53 -04:00
Michael Kirk
be197621ac
Add read receipts field/configuration protos
...
Also converge with Android protos where possible
// FREEBIE
2017-10-02 16:03:17 -04:00
Michael Kirk
a2421d5b3e
Fix "unknown attachment" notifications
...
The transaction in which the attachments were created hasn't been
committed yet.
// FREEBIE
2017-09-29 15:57:54 -04:00
Matthew Chen
08e560f969
Respond to CR.
...
// FREEBIE
2017-09-29 14:38:34 -04:00
Matthew Chen
0a081f7dcc
Use longer delay when batch processing incoming messages.
...
// FREEBIE
2017-09-29 14:36:22 -04:00
Matthew Chen
69c9a5a49b
Use longer delay when batch processing incoming messages.
...
// FREEBIE
2017-09-29 14:36:22 -04:00
Matthew Chen
46d2b7a891
Refine read receipt processing cycle.
...
// FREEBIE
2017-09-29 14:35:12 -04:00
Matthew Chen
6b3c0377cf
Refine read receipt processing cycle.
...
// FREEBIE
2017-09-29 14:35:12 -04:00
Matthew Chen
c3dca21a69
More thread safety fixes.
...
// FREEBIE
2017-09-29 10:16:42 -04:00
Matthew Chen
65957c932d
Respond to CR.
...
// FREEBIE
2017-09-28 14:49:58 -04:00
Matthew Chen
8b15dba4e7
Fix "mark as read on linked device".
...
// FREEBIE
2017-09-28 14:49:58 -04:00
Matthew Chen
facbc56062
Move more work off the main thread.
...
// FREEBIE
2017-09-28 14:30:27 -04:00
Matthew Chen
9573e0e16d
Move more work off the main thread.
...
// FREEBIE
2017-09-28 14:30:27 -04:00
Matthew Chen
33376f66d2
Simplify processing of messages from linked devices.
...
// FREEBIE
2017-09-27 20:41:12 -04:00
Matthew Chen
9b5affb390
Send silent messages where appropriate.
...
// FREEBIE
2017-09-27 17:13:29 -04:00
Matthew Chen
d557817bb4
Format message statuses with date if possible.
...
// FREEBIE
2017-09-27 16:38:48 -04:00
Matthew Chen
834ad3f8e1
Respond to CR.
...
// FREEBIE
2017-09-27 14:22:01 -04:00
Matthew Chen
01bda556c8
Fix class rename.
...
// FREEBIE
2017-09-27 14:22:01 -04:00
Matthew Chen
6b8c9b6bcf
Iterate the names of the incoming message queue extensions.
...
// 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
a4d285f50d
Respond to CR.
...
// FREEBIE
2017-09-27 14:19:26 -04:00
Matthew Chen
aa7329013d
Handle new-style delivery receipts.
...
// FREEBIE
2017-09-27 14:09:47 -04:00
Matthew Chen
25c40ea3cf
Handle new-style delivery receipts.
...
// FREEBIE
2017-09-27 14:09:47 -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
16d4256e99
Address deadlocks in profile manager.
...
// FREEBIE
2017-09-27 13:00:01 -04:00
Matthew Chen
19e010645e
Respond to CR.
...
// FREEBIE
2017-09-26 09:32:48 -04:00
Matthew Chen
9f9ac746d1
Sketch out message metadata view.
...
* Show message metadata view from conversation view.
* Pull out MediaMessageView class.
* Track recipient read timestamps.
* Add per-recipient status to message metadata view.
* Add share button to message metadata view.
// FREEBIE
2017-09-25 17:25:49 -04:00
Matthew Chen
f001e8c225
Respond to CR.
...
// FREEBIE
2017-09-25 17:22:27 -04:00
Matthew Chen
b74da07f7e
Respond to CR.
...
// FREEBIE
2017-09-22 15:15:04 -04:00
Matthew Chen
825503210b
Remove extraneous database view.
...
// FREEBIE
2017-09-22 14:24:17 -04:00
Matthew Chen
11cadf4200
Send, receive & show read receipts to senders/from receivers.
...
* Send read receipts to senders.
* Honor "send read receipts" preference.
* Process read receipts from recipients.
* Refactor "mark as read" logic.
* Serialize and apply recipient read receipts received before sync transcript.
* Show recipient read receipts in conversation view.
// FREEBIE
2017-09-22 14:24:17 -04:00
Matthew Chen
f2d19ffe09
Respond to CR.
...
// FREEBIE
2017-09-22 14:21:15 -04:00
Matthew Chen
7268bde506
Add stress group to debug UI.
...
// FREEBIE
2017-09-22 10:30:35 -04:00
Matthew Chen
bd416176ae
Add stress group to debug UI.
...
// FREEBIE
2017-09-22 00:31:13 -04:00
Matthew Chen
77e0c9664c
Respond to CR.
...
// FREEBIE
2017-09-21 17:25:13 -04:00
Matthew Chen
edd63164d7
Fix build breaks.
...
// FREEBIE
2017-09-21 17:09:55 -04:00
Matthew Chen
874ebf7038
Use private queues in message decrypter and batch processor.
...
// FREEBIE
2017-09-21 17:06:08 -04:00
Matthew Chen
077b74a0aa
Fix handling of edge cases around groups.
...
// FREEBIE
2017-09-21 17:06:08 -04:00
Matthew Chen
2b0b49b7f6
Don't batch message decryption.
...
// FREEBIE
2017-09-21 17:06:08 -04:00
Matthew Chen
bfb03c0db4
Fix message processing edge cases.
...
// FREEBIE
2017-09-21 17:06:08 -04:00
Matthew Chen
35a2470cb7
Post notifications asynchronously.
...
// FREEBIE
2017-09-21 17:03:57 -04:00
Matthew Chen
1c8dbcd223
Respond to CR.
...
// FREEBIE
2017-09-21 16:58:07 -04:00
Matthew Chen
3eaeb4e0ec
Add read receipts manager.
...
* Simplify read receipts plumbing.
* Rework incoming read receipts handling.
* Rework outgoing read receipts handling.
* Make "database view registration complete" check thread-safe.
* Don't send sync messages to self if no linked devices.
// FREEBIE
2017-09-21 16:23:03 -04:00
Matthew Chen
2cfa24ba7b
Respond to CR.
...
// FREEBIE
2017-09-21 14:42:05 -04:00
Matthew Chen
b28c4b74b2
Pull out TSMessageDecrypter class.
...
// FREEBIE
2017-09-21 14:38:30 -04:00
Matthew Chen
993df25f3f
Respond to CR.
...
// FREEBIE
2017-09-20 11:48:37 -04:00
Matthew Chen
46f17a02cb
DRY up decryption logic.
...
// FREEBIE
2017-09-20 10:56:04 -04:00
Matthew Chen
e39b9169b9
Decrypt and process messages in batches.
...
// FREEBIE
2017-09-20 10:56:04 -04:00
Matthew Chen
9987ebb3c0
Decrypt and process messages in batches.
...
// FREEBIE
2017-09-20 10:56:04 -04:00
Matthew Chen
023c804a61
Decrypt and process messages in batches.
...
// FREEBIE
2017-09-20 10:56:04 -04:00
Matthew Chen
fa353259c3
Process messages in a single transaction (wherever possible).
...
// FREEBIE
2017-09-20 10:56:04 -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
74b2f30523
Revert "Modify read receipt photos to support sending read receipts to both linked devices and senders."
...
This reverts commit 37e67179c8a8d6ebfdfa124ef0c1229f220ed11d.
2017-09-19 17:30:48 -04:00
Matthew Chen
a7546aee63
Modify read receipt photos to support sending read receipts to both linked devices and senders.
...
// FREEBIE
2017-09-19 17:30:48 -04:00
Matthew Chen
39a961e376
Rework incoming read receipts handling.
...
// FREEBIE
2017-09-19 17:30:48 -04:00
Matthew Chen
2b1ea19960
Modify read receipt photos to support sending read receipts to both linked devices and senders.
...
// FREEBIE
2017-09-19 17:30:48 -04:00
Matthew Chen
0e7eaf7c62
Modify read receipt photos to support sending read receipts to both linked devices and senders.
...
// FREEBIE
2017-09-19 17:30:48 -04:00
Matthew Chen
400f536e37
Respond to CR.
...
// FREEBIE
2017-09-19 09:30:01 -04:00
Matthew Chen
05b1818874
Don't "scroll to bottom" when messages are sent from desktop.
...
// FREEBIE
2017-09-18 15:49:33 -04:00
Matthew Chen
9dfebb2d4b
Apply OWSFail() in more places.
...
// FREEBIE
2017-09-11 10:20:48 -04:00
Matthew Chen
b95b5f69de
Apply DataSource to message sender.
...
// FREEBIE
2017-09-11 10:20:48 -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
bb1681f965
Respond to CR.
...
// FREEBIE
2017-08-30 12:53:02 -04:00
Matthew Chen
cc048b3971
Respond to CR.
...
// FREEBIE
2017-08-30 12:46:21 -04:00
Michael Kirk
bdb75fa596
infer when group has been whitelisted on linked device
...
// FREEBIE
2017-08-29 17:09:28 -04:00
Matthew Chen
b00db33d12
Don't ignore attachments.
...
// FREEBIE
2017-08-29 16:35:52 -04:00
Michael Kirk
d71b7684a6
cleanup logging
...
// FREEBIE
2017-08-29 10:46:10 -04:00
Michael Kirk
ec0cf36abb
Don't print empty bubbles.
...
e.g. if we add another "invisible" flag message in the future we want to
be able to roll it out immediately.
// FREEBIE
2017-08-29 10:39:36 -04:00
Michael Kirk
69e8ca8eac
Handle receiving profile key messages
...
(don't print empty bubble)
// FREEBIE
2017-08-29 10:35:54 -04:00
Michael Kirk
9c56660618
profile key flag and debug action
...
// FREEBIE
2017-08-29 10:35:54 -04:00
Michael Kirk
0feb966a1c
comment cleanup / code formatting
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
6cde79c568
Assert profile key length on sending/receiving
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
6235e7fe5c
Don't send profile key with every sync message since we explicitly sync
...
upon update/create.
Following Signal-Android's lead here.
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
526d5e33b9
Sync profile key to sibling devices when updating contact
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
1f3d2d1ed6
Send any profile key in contact sync
...
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
f0a57edde0
proto update: multiDevice profileKey sync
...
Also:
- minimize diff between Signal-Android's protos
- comment whereever we diverge from Signal-Android
// FREEBIE
2017-08-29 10:35:18 -04:00
Michael Kirk
bde40a1f9c
Ensure avatar upates right after profile change.
...
// FREEBIE
2017-08-25 12:40:19 -04:00
Matthew Chen
a825fad47b
Start reworking the contact offers.
...
// FREEBIE
2017-08-21 17:05:42 -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
7499b3aaf0
Avatar API integration / WIP crypto scheme
...
Crypto Scheme:
- Name (un)padding
- WIP AES-GCM (funtioning, but need to verify against android
implementation, and tag functionality)
Changes to avatar API:
- hard code avatar domain (cdn.signal.org)
- avatar form hands out new avatar key, invalidating old avatar
- preliminary aes-gcm integration
Also:
- New type to represent AES128 keys, rather than passing around opaque
data blobs everywhere, we can use the compiler to help us make sure
we're passing compliant keying material.
- Started using factory pattern for API requests. This is intended to be
a lighter weight way to implement new API requests, rather than the
current 1-method class ceremony.
// FREEBIE
2017-08-14 12:45:37 -04:00
Michael Kirk
72b3f3779b
Discard GroupInfoRequest from unknown group
...
// FREEBIE
2017-08-08 12:17:26 -04:00
Matthew Chen
e01fbc247e
Refine profile logic.
...
// FREEBIE
2017-08-04 17:35:22 -04:00
Matthew Chen
98def41782
Respond to CR.
...
// FREEBIE
2017-08-04 17:33:16 -04:00
Matthew Chen
823927685d
Update profile on service.
...
// FREEBIE
2017-08-04 15:25:17 -04:00
Matthew Chen
83e2fbe28c
Rework where profile key is attached in photos.
...
// FREEBIE
2017-08-04 15:23:17 -04:00
Matthew Chen
b5fdc05b91
Move profile key to data, call, sync and null protos.
...
// FREEBIE
2017-08-04 15:23:02 -04:00
Matthew Chen
37ce388eb6
Add “add to profile whitelist” offer.
...
// FREEBIE
2017-08-04 15:23:02 -04:00
Michael Kirk
f99d4e9df9
Merge branch 'hotfix/2.15.2'
2017-08-04 13:11:53 -04:00
Michael Kirk
3856f3dfb1
Improve asserts/logging
...
// FREEBIE
2017-08-04 12:14:43 -04:00
Matthew Chen
6ec756de44
Move profile manager to Signal.
...
// FREEBIE
2017-08-04 09:45:33 -04:00
Matthew Chen
540a0a8e48
Refine UserProfile class. Move local user properties to UserProfile.
...
// FREEBIE
2017-08-04 09:45:33 -04:00
Michael Kirk
8a4712bf4c
Only access localNumber on AccountManager and cache it
...
// FREEBIE
2017-08-03 13:27:09 -04:00
Matthew Chen
539490ee19
Respond to CR.
...
// FREEBIE
2017-08-03 12:05:53 -04:00
Matthew Chen
d7f275ce73
Add accessor for other users’ profile names.
...
// FREEBIE
2017-08-02 10:50:44 -04:00
Matthew Chen
aa6312b586
DRY up and refine the logic to attach the local profile key to outgoing messages.
...
// FREEBIE
2017-08-02 10:50:44 -04:00
Matthew Chen
26b668cce7
Add profile key to proto schema. Send and receive profile keys. Cache profile manager state.
...
// FREEBIE
2017-08-02 10:50:44 -04:00
Matthew Chen
e58358ce53
Add profile key to content proto schema.
...
// FREEBIE
2017-08-02 10:50:44 -04:00
Matthew Chen
a3b16812ec
Add convenience category for YapDatabaseConnection.
...
// FREEBIE
2017-08-02 10:38:23 -04:00
Matthew Chen
4be706caf5
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
Matthew Chen
63e20cd8bb
Sketch out profile manager.
...
// FREEBIE
2017-08-01 11:41:55 -04:00
Michael Kirk
4bf407a24f
fix some compiler warnings
...
// FREEBIE
2017-07-31 11:56:47 -04:00
Michael Kirk
a196693425
Make sure DB views are ready before kicking processing job
...
// FREEBIE
2017-07-28 17:12:47 -04:00
Michael Kirk
0b38b46683
remove unnecessary dispatch
...
// FREEBIE
2017-07-28 17:12:47 -04:00
Michael Kirk
6a5c6a9fc9
didBecomeActive kicks the processing queue
...
// FREEBIE
2017-07-28 17:12:47 -04:00
Michael Kirk
1066089980
Fix thread explosion
...
Without this, when the user has a large message queue to process, things
slow to a crawl as we spew more and more threads. Since it's on a serial
queue anyway, there's no need to have multiple threads executing this
code.
// FREEBIE
2017-07-28 17:12:47 -04:00
Matthew Chen
8e628a6296
Hide empty conversations in home view.
...
// FREEBIE
2017-07-27 15:40:19 -04:00
Matthew Chen
f1807cd709
Add script to extract and gather analytics event names.
...
// FREEBIE
2017-07-27 12:29:05 -04:00
Michael Kirk
91ad2ec32b
Properly handle too-large messages
...
1. Take note of any large messages.
2. If they are way too large, we just drop them on the floor.
// FREEBIE
2017-07-27 11:37:10 -04:00
Matthew Chen
f973af5a83
Streamline analytics properties.
...
// FREEBIE
2017-07-27 10:16:16 -04:00
Michael Kirk
3f4dcecf15
ensure blocking keychange message has identityKey before proceeding
...
This is increasingly irrelevant due to recent safety number changes, but
legacy clients with old messages can still run into this.
FIXES: https://github.com/WhisperSystems/Signal-iOS/issues/2346
// FREEBIE
2017-07-26 16:00:32 -04:00
Michael Kirk
eafc370bbe
CR: move property to method to clearly avoid Mantle serialization
...
Also some formatting cleanup and extra asserts
// FREEBIE
2017-07-26 14:29:56 -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
fa7a2407bf
Respond to CR.
...
// FREEBIE
2017-07-24 16:20:00 -04:00
Matthew Chen
543c05b2c5
Add a “critical” severity level for analytics events.
...
// FREEBIE
2017-07-24 16:13:59 -04:00
Matthew Chen
2418baec15
Respond to CR.
...
// FREEBIE
2017-07-24 16:13:22 -04:00
Matthew Chen
9587aab37b
Instrument network errors.
...
// FREEBIE
2017-07-24 16:05:39 -04:00
Matthew Chen
117bca7c48
Instrument errors in app delegate.
...
// 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
Matthew Chen
e168db79aa
Instrument errors in message manager.
...
// FREEBIE
2017-07-24 16:05:39 -04:00
Michael Kirk
6e19c1aae8
Don't crash when messaging user with malformed profile
...
// 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
Matthew Chen
4f5b2993b0
[SSK] Migrating changes from obsolete SSK repo.
...
// FREEBIE
2017-07-21 14:55:31 -04:00
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
2017-07-21 13:55:01 -04:00