Commit Graph

514 Commits (f363a196f3bc1949e7c20d7ebcc0e6dfb7812fd4)

Author SHA1 Message Date
Michael Kirk b2b70258f2 Make our protos backwards compatible with Signal-Android
Android doesn't have a flags field (yet?). We should make sure our
existing fields align with theirs.

// FREEBIE
8 years ago
Michael Kirk bd8e03fe8a Fix spurious "Group Updated" message
Regression introduced in Message factory method refactor (not in the wild).

// FREEBIE
8 years ago
Matthew Chen d95f2bdc66 Respond to CR. 8 years ago
Matthew Chen d561ba4c62 Reduce 0xdead10cc crashes. 8 years ago
Matthew Chen db6f1326bb Fix previews of oversize text messages. 8 years ago
Matthew Chen 83a470d441 Fix previews of oversize text messages. 8 years ago
Michael Kirk d94709e13f Show label when captioning limit has been reached.
// FREEBIE
8 years ago
Michael Kirk 6b6f4f9336 Limit caption length
// FREEBIE
8 years ago
Matthew Chen c269add62f Respond to CR. 8 years ago
Matthew Chen 76995e4594 Enforce quoted reply edge cases. 8 years ago
Matthew Chen 6a07599e00 Respond to CR. 8 years ago
Matthew Chen 65015e686f Tap on quoted replies. 8 years ago
Michael Kirk 81b2b57703 CR: add comments, make atomic
// FREEBIE
8 years ago
Michael Kirk 02efbd3069 Fix blip where thumbnail is initially missing from outgoing message
// FREEBIE
8 years ago
Michael Kirk 90486aa49c Inline method with one caller, fix formatting
// FREEBIE
8 years ago
Michael Kirk 8e4c6b8af6 Update protos for voice messages
// FREEBIE
8 years ago
Michael Kirk 941b7ec1bc clarify method signature
// FREEBIE
8 years ago
Michael Kirk c56e8acc51 QuotedReplyModel from SSK->SignalMessaging
// FREEBIE
8 years ago
Michael Kirk 1d4c0624be Clarify variable names
// FREEBIE
8 years ago
Michael Kirk a9459757f0 Lingering var renames QuotedReplyDraft -> QuotedReplyModel
// FREEBIE
8 years ago
Michael Kirk f1714bf252 Handle synced quotes
// FREEBIE
8 years ago
Michael Kirk 622f6bdf21 OrphanDataCleaner vs. QuotedAttachment thumbnails
// FREEBIE
8 years ago
Michael Kirk 4399967e99 Comment cleanup, remove unnecessary includes
// FREEBIE
8 years ago
Michael Kirk fa2e1ba89b Fetch thumbnail when not available locally
// FREEBIE
8 years ago
Michael Kirk 42f454b075 Generate thumbnail when quoted attachment is available locally
// FREEBIE
8 years ago
Michael Kirk 351f9ea263 Simplify attachment processor
We've accepted all attachment types for a long while now.

// FREEBIE
8 years ago
Michael Kirk 3252866727 remove unused params
// FREEBIE
8 years ago
Michael Kirk cb5d3d4f85 Use QuotedReplyModel to access attachment data
This view model loads the attachment when it's build.

// FREEBIE
8 years ago
Michael Kirk 3334f2a063 tentative proto changes
// FREEBIE
8 years ago
Michael Kirk 51a4298c14 WIP: Send attachment info in protobuf (no thumbnails yet)
// FREEBIE
8 years ago
Michael Kirk 55c6d99d98 populate draft toolbar
// FREEBIE
8 years ago
Michael Kirk 253435b27f extract QuotedReplyDraft model 8 years ago
Michael Kirk 0b8b3b4f16 WIP: towards avatar attachment streams
// FREEBIE
8 years ago
Michael Kirk 53af41fcc6 Reusable UploadOperation based on extracted OWSOperation
// FREEBIE
8 years ago
Michael Kirk 2975d4d5d2 Sync with android protos
// FREEBIE
8 years ago
Matthew Chen ca4757b8d1 Clean up ahead of PR. 8 years ago
Matthew Chen 2b3b08d7c5 Respond to CR. 8 years ago
Matthew Chen f230717b68 Modify attachment emojis. 8 years ago
Matthew Chen 30403be9ba Respond to CR. 8 years ago
Matthew Chen 5a17c5609f Quote reply to oversize text. 8 years ago
Matthew Chen 9085609087 Fix interaction initializers and tests. 8 years ago
Michael Kirk 52ea54ae64 Add thumbnail when available
MVP

- [x] populate from menu
- [x] send quoted message

TODO

- [x] thumbnail
- [] paperclip icon showing for text message
- [] cancel button asset
- [] fonts
- [] colors
- [] adjust content inset/offset when showing quote edit

NICE TO HAVE

- [] animate presentation
- [] animate dismiss
- [] non-paperclip icon for generic attachments

// FREEBIE
8 years ago
Michael Kirk cfbbeca7ac WIP: QuotedMessagePreviewView
MVP

- [] populate from menu
- [] send quoted message

TODO

- [] thumbnail
- [] paperclip icon showing for text message
- [] cancel button asset
- [] fonts
- [] colors
- [] adjust content inset/offset when showing quote edit

NICE TO HAVE

- [] animate presentation
- [] animate dismiss
- [] non-paperclip icon for generic attachments

// FREEBIE
8 years ago
Matthew Chen 2278cdd589 Modify cells to show quoted messages. 8 years ago
Matthew Chen 7cf169012c Elaborate conversation view items around quoted replies. 8 years ago
Matthew Chen c36297a9ad Elaborate 'quoted reply' variations in the Debug UI. 8 years ago
Matthew Chen 4240b517d0 Respond to CR. 8 years ago
Matthew Chen 8e4f2ca0ed Rework proto schema changes for quoted replies.
Sketch out model changes for quoted replies.

Sketch out quoted reply input preview.

Send quoted messages protos.

Update models to reflect quoted messages.

Rework interaction initializers.

Rework interaction initializers.

Add debug UI methods for generating quoted reply variations.

Add debug UI methods for generating quoted reply variations.
8 years ago
Matthew Chen 4602ad9014 Respond to CR. 8 years ago
Matthew Chen 8254052bb2 Lazy restore attachments. 8 years ago
Matthew Chen 1dced463cb Lazy restore attachments. 8 years ago
Matthew Chen b2ac8f10e2 Lazy restore attachments. 8 years ago
Matthew Chen 61dc2c0249 Add local cache of backup fragment metadata. 8 years ago
Matthew Chen e88f5643f7 Add local cache of backup fragment metadata. 8 years ago
Matthew Chen d0c691bb7f Lazy attachment restores. 8 years ago
Michael Kirk 394cc6637c Backport comments from translations
// FREEBIE
8 years ago
Matthew Chen bb596dba98 Add screen lock feature. 8 years ago
Matthew Chen cf0e6fce09 Add screen lock feature. 8 years ago
Matthew Chen b067d81017 Don't log message send errors. 8 years ago
Matthew Chen 8d689ec090 Properly cleanup content. 8 years ago
Michael Kirk 9c57a1f7e1 Don't generate thumbnail until attachment has been saved
// FREEBIE
8 years ago
Michael Kirk 2465d6df00 CR: ensure image is safe before generating thumbnail
// FREEBIE
8 years ago
Michael Kirk 32bf9d52a1 CR: Delete thumbnail with directory
// FREEBIE
8 years ago
Michael Kirk 8e9eb6d212 CR: Use a less-likely-to-collide thumbnail name for legacy attachments
If you had a legacy file foo.jpg and a file foo-thumbnail.jpg, we'd use
the foo-thumbnail.jpg as the thumbnail for foo.

This isn't a problem with modern attachments as each is in it's own
directory.

// FREEBIE
8 years ago
Michael Kirk a0bd2c2324 OrphanDataCleaner shouldn't delete active thumbnails
// FREEBIE
8 years ago
Michael Kirk 4aeff7ba67 Thumbnail generation
// FREEBIE
8 years ago
Michael Kirk 985af76d0b WIP: All Media view
TODO

- [ ] label video/gif
- [ ] reasonable load perf
- [ ] reasonable scroll perf
- [ ] select / delete
- [ ] cancel share action from media details returns signal style

NICE TO HAVE

- [ ] fancy in/out animation from All Media <-> tiles
- [ ] label video thumbnail with duration stamp
- [ ] Other perf?
- [ ] dbModified?
- [ ] select / send
- [ ] darken section header a shade once it's "active"

DONE

- [x] tap to refocus on new media
- [x] generate test data
- [x] section headers
- [x] equal spacing around cells

// FREEBIE

WIP WIP extract datasouce to GalleryViewController

- [x] swipe through is broken
- [x] present animation
- [x] dismiss animation

// FREEBIE
8 years ago
Michael Kirk e5b1c0c9b4 Fake media send
// FREEBIE
8 years ago
Michael Kirk 4ac9a1019b Media page view controller
First pass at a swipe-through media view for conversations.

Future work could include

- title label per item
  - sender name
  - date/time
- photo rail
- include caption

// FREEBIE
8 years ago
Matthew Chen 4746948dfe Respond to CR. 8 years ago
Matthew Chen b296cfb893 Sketch out incremental backup manager and settings view. 8 years ago
Matthew Chen d6f4db1523 Rename TSStorageManager to OWSPrimaryStorage. 8 years ago
Matthew Chen 2395dbf66b Fix redundant sync sends. 8 years ago
Matthew Chen 59c745756a Clean up codebase. 8 years ago
Matthew Chen c2f092018c Elaborate request factory. 8 years ago
Matthew Chen 004479a2ce Elaborate request factory. 8 years ago
Matthew Chen c17a819366 Elaborate request factory. 8 years ago
Matthew Chen b9458fffef Respond to CR. 8 years ago
Matthew Chen dcf7f550ae Fix redundant sync sends. 8 years ago
Matthew Chen b07f466e08 Fix redundant sync sends. 8 years ago
Michael Kirk 60259a8a13 Merge branch 'release/2.21.0' 8 years ago
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 8 years ago
Matthew Chen 71972ebe2f Be more explicit about expire timer. 8 years ago
Matthew Chen bf48ccd4ad Merge remote-tracking branch 'origin/hotfix/2.20.1' 8 years ago
Matthew Chen 47a6d844c9 Refine handling of unsafe filename characters. 8 years ago
Matthew Chen d32e90c3d1 Fix build break. 8 years ago
Matthew Chen 59f480d5c4 Use background tasks during storage registration and disappearing message jobs. 8 years ago
Matthew Chen ad78b1ea53 Convert duplicate timestamp fail to log. 8 years ago
Michael Kirk b79244affa Don't enqueue sender read receipts from self-sent messages
These messages are always already read.

Reminder, there are two types of read receipts:

1. One informs our linked devices that we've read a message on another
device.
2. The other informs the sender that we've read their message.

This change is about the latter, we'll continue to send the former to
ourself.

The proximate cause for this change was a failing assert in
OWSMessageSender#handleSendToMyself:(TSOutgoingMessage *)outgoingMessage

The assert was failing because we were sending a message to ourself
which had no body or attachment (the sender-read receipt). Rather than
filtering them out from the message sender, we should never ask the
message sender to do nonsense work (send a senderReadReceipt to ourself)

// FREEBIE
8 years ago
Matthew Chen 10ca369da8 Respond to CR. 8 years ago
Matthew Chen 6006d22870 Improve handling of attachments with captions. 8 years ago
Matthew Chen 8576da791c Improve handling of attachments with captions. 8 years ago
Matthew Chen 96b5f22799 Improve handling of attachments with captions. 8 years ago
Matthew Chen 706006539f Improve the robustness of the migration logic. 8 years ago
Matthew Chen d91507d897 Improve the robustness of the migration logic. 8 years ago
Matthew Chen 90b8ee4849 Merge remote-tracking branch 'origin/hotfix/2.19.7' 8 years ago
Matthew Chen 77bf0b66f5 Fix attachment MIME types. 8 years ago
Matthew Chen d648a258d1 Merge branch 'hotfix/2.19.7' 8 years ago
Matthew Chen abfd333a17 Address Indic script crash. 8 years ago
Matthew Chen b7958262ba Respond to CR. 8 years ago
Matthew Chen 8930110efd Fix glitch in batch processing of incoming messages. 8 years ago
Matthew Chen 6f28c75257 Fix glitch in batch processing of incoming messages. 8 years ago
Matthew Chen 81522e4a23 Respond to CR. 8 years ago
Matthew Chen 01496b2db8 Avoid deadlocks in message sender. 8 years ago
Michael Kirk ea12ed4c23 Fix dynamic type check which was too restrictive
// FREEBIE
8 years ago
Michael Kirk ae2ddb25cc CR: add assert
// FREEBIE
8 years ago
Michael Kirk d6b3e191d1 Fix crash while searching when group somehow has nil members
This shouldn't normally happen, but seeing it on my device.

// FREEBIE
8 years ago
Michael Kirk a23f1b86ef nullability annotations for TSGroupModel
- add readonly where possible
- group members needn't be a mutable array

// FREEBIE
8 years ago
Joshua Lund 2c18a75d12 Update to the new GitHub organization name 8 years ago
Matthew Chen b64528e817 Respond to CR. 8 years ago
Matthew Chen 78c4c00eac Respond to CR. 8 years ago
Matthew Chen 862172072c Respond to CR. 8 years ago
Matthew Chen bd0f601792 Respond to CR. 8 years ago
Matthew Chen 6b357f9445 Respond to CR. 8 years ago
Matthew Chen 43765ef3b5 Respond to CR. 8 years ago
Matthew Chen 51cec20c50 Clean up ahead of PR. 8 years ago
Matthew Chen 7d3f79440f Clean up ahead of PR. 8 years ago
Matthew Chen c8e7eb903c Add protocol context to protocol kit. 8 years ago
Matthew Chen bbd689bfd0 Add protocol context to protocol kit. 8 years ago
Matthew Chen d3e16583eb Add protocol context to protocol kit. 8 years ago
Matthew Chen 074046b98e Add protocol context to protocol kit. 8 years ago
Matthew Chen 7358f3053f Add protocol context to protocol kit. 8 years ago
Matthew Chen 218bb15ea7 Add protocol context to protocol kit. 8 years ago
Matthew Chen 39e353503f Add protocol context to protocol kit. 8 years ago
Matthew Chen 71782e0369 Add protocol context to protocol kit. 8 years ago
Matthew Chen 122ef91e57 Add protocol context to protocol kit. 8 years ago
Matthew Chen 799949e546 Refine sync messages. 8 years ago
Matthew Chen 59ff1561f5 Set the timestamp property on data messages. 8 years ago
Matthew Chen 4218af13d5 Send image width/height for image and video attachments. 8 years ago
Matthew Chen 3a4180214f Send image width/height for image and video attachments. 8 years ago
Matthew Chen 2dc37d598c Updates service proto schema to latest. 8 years ago
Michael Kirk 4f8db63fb3 Ensure keyspec is generated before DB is created
// FREEBIE
8 years ago
Matthew Chen a30170b3b2 Prefer "app is ready" flag to "storage is ready" flag. 8 years ago
Matthew Chen be1fde905c Don't mark app as ready until all version migrations are done. 8 years ago
Matthew Chen b21f793756 Register all database views asynchronously. 8 years ago
Matthew Chen eb180ba5c4 Register all database views asynchronously. 8 years ago
Matthew Chen 5cf89a0f3d Register all database views asynchronously. 8 years ago
Matthew Chen 992e926142 Unpack oversize text messages if possible. 8 years ago
Matthew Chen 0cc7f3e00e Clean up ahead of PR. 8 years ago
Michael Kirk baa312f449 Timer button with duration label
// FREEBIE
8 years ago
Matthew Chen 0d5b5bc44c Respond to CR. 8 years ago
Matthew Chen 3de9a4ea55 Add debug UI actions around clearing and snapshotting session state. 8 years ago
Matthew Chen d81d85c386 Respond to CR. 8 years ago
Matthew Chen a2b67a17fd Skip redundant sync messages. 8 years ago
Matthew Chen 17907dca10 Clean up ahead of PR. 8 years ago
Matthew Chen 15b8e58324 Retain changes from session database branch. 8 years ago
Matthew Chen 9ac2383a2c Retain changes from session database branch. 8 years ago
Matthew Chen e77c3e6717 Retain changes from session database branch. 8 years ago
sdkjfhsdkjhfsdlkjhfsdf 6e2d9c8141 identity change vs. share extension
// FREEBIE
8 years ago
sdkjfhsdkjhfsdlkjhfsdf 8141843f27 comment typo 8 years ago
sdkjfhsdkjhfsdlkjhfsdf 92477c78b7 cleanup before PR 8 years ago
Michael Kirk bce18637f0 render attachments with captions
// FREEBIE
8 years ago
Michael Kirk e20f44024c WIP: Support sending attachment captions
Looks fine on other clients, but locally we don't display the caption.

// FREEBIE
8 years ago
Matthew Chen 6b0e3508a5 Respond to CR. 8 years ago
Matthew Chen 245304116f Respond to CR. 8 years ago
Matthew Chen fe67cd924c Rework database view registration. 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 9a990b58e8 Respond to CR. 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 f9ce34f553 Improve background task logic. 8 years ago
Matthew Chen 5adf98788d Use background task during message processing. 8 years ago
Matthew Chen df8ded90b8 Use background task during attachment downloads. 8 years ago
Matthew Chen 3643414da1 Respond to CR. 8 years ago
Matthew Chen f57c12f34d Update YapDatabase. 8 years ago
Matthew Chen 571840b1dc Update YapDatabase. 8 years ago
Michael Kirk 3eceb86371 Show alert if we fail to build the attachment
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen 9da165b846 Continue conversion of app setup. 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 64762eb427 Observe YapDatabaseModifiedExternallyNotification. 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 e9796600c6 disable some asserts for now
// 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 9b197fad03 Fix deadlock when responding to contacts sync messages. 8 years ago
Matthew Chen d8ae5841d6 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b3d17ea192 Improving handling of edge cases in conversation view. 8 years ago
Matthew Chen 45c7d80d97 Improving handling of edge cases in conversation view. 8 years ago
Matthew Chen 6d4a05bbea Improving handling of edge cases in conversation view. 8 years ago
Matthew Chen 2642f6fcea Fix group creation. 8 years ago
Matthew Chen 21e9f57cbe Imitate Android's behavior of delaying local notifications based on incoming sync messages. 8 years ago
Matthew Chen 2d8a7b03d0 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d7b0424c75 Don't back up profile pics, attachments or gifs.
// FREEBIE
8 years ago
Matthew Chen 2f84e0c426 Fix calling; be explicit about which messages should be saved. 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 5eea0347b5 Rework the "update with..." methods to avoid re-saving deleted models. 8 years ago
Matthew Chen 94b59c326e Rework the "update with..." methods to avoid re-saving deleted models. 8 years ago
Matthew Chen c6160a5a1e Rework the "update with..." methods to avoid re-saving deleted models. 8 years ago