Commit Graph

247 Commits (c7f55ad0f7d884c7e6784cca7a819da7935676c9)

Author SHA1 Message Date
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 8 years ago
Matthew Chen 99aedca45f Strip out special casing for pre-iOS 9 users. 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 f9f60bc14f Ensure app delegate hooks are ignored until app is ready. 8 years ago
Matthew Chen b21f793756 Register all database views asynchronously. 8 years ago
Matthew Chen e77c3e6717 Retain changes from session database branch. 8 years ago
Matthew Chen 9258b0883e 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 7a1e47cd26 Add asserts around Swift singletons. 8 years ago
Matthew Chen b4e8df79da Migrate environment to SignalMessaging. 8 years ago
Matthew Chen c817aa51b3 Migrate environment to SignalMessaging. 8 years ago
Michael Kirk 5e7ca89930 Proper function prototypes
// FREEBIE
8 years ago
Matthew Chen 8cc33b3de1 Refine loading view of share extension. 8 years ago
Michael Kirk a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
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 6e840ff956 Fix build warnings from XCode 9. 8 years ago
Matthew Chen 03241128f6 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen db8a381960 Merge remote-tracking branch 'origin/release/2.18.0' 8 years ago
Matthew Chen a3600d8e89 Avoid stalls in GIF downloader.
// FREEBIE
8 years ago
Matthew Chen 94f3601d39 Avoid stalls in GIF downloader.
// FREEBIE
8 years ago
Matthew Chen b3e39e6584 Avoid stalls in GIF downloader.
// FREEBIE
8 years ago
Matthew Chen 7041f976d5 Use HTTP pipelining in Giphy asset requests.
// FREEBIE
8 years ago
Matthew Chen 98af9bcc65 Use HTTP pipelining in Giphy asset requests.
// FREEBIE
8 years ago
Matthew Chen c2a17920ba Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 004c9e4809 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen f37e7f26d2 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 487bd06755 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen cfb2a720d7 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 89a04852df Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 12de1aa90c Split up GIF requests.
// FREEBIE
8 years ago
Matthew Chen 55d53ae222 Split up GIF requests.
// FREEBIE
8 years ago
Matthew Chen c83090a46e Split up GIF requests.
// FREEBIE
8 years ago
Matthew Chen e4602f2a12 Split up GIF requests.
// FREEBIE
8 years ago
Matthew Chen 2dfea25243 Split up GIF requests.
// FREEBIE
8 years ago
Matthew Chen 84406b5fec Split up GIF requests.
// FREEBIE
8 years ago
Michael Kirk 68e755ade9 Merge branch 'release/2.18.0' 8 years ago
Matthew Chen c11b82ba30 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9274d7fd9b Fix proxying of Giphy requests.
// FREEBIE
8 years ago
Michael Kirk 891cc6ee0d CR: better method names
// FREEBIE
8 years ago
Michael Kirk 6eaa49593d preview vs. sending have independent resolution min
// FREEBIE
8 years ago
Michael Kirk e4ad169d71 Show retryable error alert when fetching GIF fails
// FREEBIE
8 years ago
Michael Kirk 3939e8a6ac Download picked GIF faster: cancel pending request
// FREEBIE
8 years ago
Michael Kirk ddf2fe21a1 Download smaller GIF for previews.
Previously we were downloading a full sized GIF for each cell, which can
take dozens of seconds on a slower connection. Now we download a smaller
GIF for the picker view, and only download the full sized GIF for the
selected cell.

Some stats:

Before:

Scenario: search "Cat" and no scrolling, no picking
~10 MB

Scenario: search "Cat" and no scrolling, then pick
~10 MB

Scenario: search "Cat" and scroll 3 screens, no picking
~30 MB

Scenario: search "Cat" and scroll 3 screens, then pick
~30 MB

After:

Scenarios: search "Cat" and no scrolling, no picking
~1.0 MB (savings 90%)

Scenarios: search "Cat" and no scrolling, then pick
~3.5 MB (savings 65%)

Scenarios: search "Cat" and scroll 3 screens, no picking
~3.0 MB (savings 90%)

Scenarios: search "Cat" and scroll 3 screens, then pick
~5.5 MB (savings 81%)

// FREEBIE
8 years ago
Michael Kirk 2a4c6506fb log giphy data usage in debug
// FREEBIE
8 years ago
Michael Kirk 0f859d6b20 Merge branch 'release/2.18.0' 8 years ago
Michael Kirk 6a65ee6def Pull to refresh on homeview fetches messages.
This is useful when you're using censorship circumvention and unable to
receive push notifications.

// FREEBIE
8 years ago
Matthew Chen fb408f980c Remove JSQ.
// FREEBIE
8 years ago
Michael Kirk df15c904bc Rework push registration
== Account Registration ==

Not complete until push tokens are uploaded

== Remote Notifications Registration ==

Extracted from PushManager

- wait for notification-settings registration to complete before
  requesting push tokens, otherwise it's possible token requests will
  be ignored.

- Less state required for push notification callbacks, specifically, we
  no longer need to ensure we've created a promise before the
  registration delegate methods get called.

- no more TOCFuture in Signal-iOS (still in SSK for now). It's not in
  cases of inexplicable behavior - one a recently, push notification
  premature free, in redphone, and more popular use, and I've seen two
  futures inexplicably being nil.  Instead, let's consolidate around
  PromiseKit for popularly used, maintained, strongly-typed futures.

- separate logic for registering for vanilla push/voip notifications
  (few dependencies) from responding to UILocalNotifications (lots of
  dependencies). Ultimately I'd like to consolidate the remaining
  UILocalNotifications logic with the existing NotificationsManager

== Misc ==

more debug logging
more uniform logging
remove stale logic around newly registered user

// FREEBIE
8 years ago
Matthew Chen b0e1904f96 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7923eafe7c Use separate Giphy API key for Signal iOS.
// FREEBIE
8 years ago
Michael Kirk 876521f4c3 Fetch messages sooner when launched from background
The only reason a notification wakes/launches the app is to fetch
messages.

However, upon launching, especially if the app had been killed, it can
take a second or two before being notified of the notification that woke
us. Rather than wait, just fetch messages ASAP.

// FREEBIE
8 years ago
Matthew Chen 8b7d34e51c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a0c9a84390 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 801734a938 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen e4556967b6 Ensure gif cells reload when app becomes active or network becomes available.
// FREEBIE
8 years ago
Matthew Chen 3bfb91d0c2 Ignore obsolete GIF requests.
// FREEBIE
8 years ago
Matthew Chen 56e30d954e Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen e0194fd605 Allow multiple simultaneous GIF downloads.
// FREEBIE
8 years ago
Matthew Chen d9658ab9d1 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen a65a4b133c Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen aa43fd69fd Improving parsing of stills.
// FREEBIE
8 years ago
Matthew Chen 6a5e07eee4 Use proper LRU cache for giphy assets.
// FREEBIE
8 years ago
Matthew Chen 4f77a2a504 Load GIFs progressively using stills.
// FREEBIE
8 years ago
Matthew Chen 2dfd7aa0e9 Actually send GIFs.
// FREEBIE

SQUASH ME.

SQUASH ME.
8 years ago
Matthew Chen c50ccf3eed Fix gif download cancellation.
// FREEBIE
8 years ago
Matthew Chen 789cea118d Pull out GifDownloader class.
// FREEBIE
8 years ago
Matthew Chen e9885af973 Sketch out the GIF picker.
// FREEBIE
8 years ago
Matthew Chen 4242001828 Sketch out the GIF picker.
// FREEBIE
8 years ago
Matthew Chen ee9101eb16 Sketch out the GIF picker.
// FREEBIE
8 years ago
Matthew Chen 3b9726a4fa Sketch out the GIF picker.
// FREEBIE
8 years ago
Matthew Chen 30a77c5977 Parse Giphy API responses.
// FREEBIE
8 years ago
Matthew Chen b4d29bd5d8 Parse Giphy API responses.
// FREEBIE
8 years ago
Matthew Chen 9710964e38 Sketch out the GIF manager.
// FREEBIE
8 years ago
Michael Kirk 344903fa5b Show proper thread from notification
// 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 7268bde506 Add stress group to debug UI.
// FREEBIE
8 years ago
Matthew Chen edd63164d7 Fix build breaks.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen 8a4d67a6e4 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 80e5f281c6 Rename app preferences class.
// FREEBIE
8 years ago
Matthew Chen b6d782046a Normalize conversation presentation logic.
// FREEBIE
8 years ago
Michael Kirk 6911c8047e validate push settings on main thread
// 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
Michael Kirk fa42b4a45b Respect disappearing message timer from lockscreen
// FREEBIE
8 years ago
Matthew Chen 2e727a24b5 Convert home view to programmatic layout.
// FREEBIE
8 years ago
Matthew Chen 7135895c1c Modify TSStorageManager to use separate shared read and write connections.
// FREEBIE
8 years ago
Matthew Chen a462cba452 Don’t reply to “no longer verified”.
// FREEBIE
8 years ago
Matthew Chen 027cd8cb34 Rework how messages are marked read.
// FREEBIE
9 years ago
Matthew Chen 1ef9ba0659 Clea up usage of fail macro.
// FREEBIE
9 years ago
Michael Kirk c8d547a08f Only allow callback for identities that were not previously verified
// FREEBIE
9 years ago
Michael Kirk 1127553041 restore "confirm and callback" functionality
// FREEBIE
9 years ago
Matthew Chen b6ddea9eae Sketch out OWSIdentityManager.
// FREEBIE
9 years ago
Michael Kirk 1059cc062c replace FOUNDATION_EXPORT with extern per code review
// FREEBIE
9 years ago
Michael Kirk 130aa132a0 Reject incoming calls from an unseen changed identity
// FREEBIE
9 years ago
Matthew Chen d065c95270 Hide the socket status view when censorship circumvention is active.
// FREEBIE
9 years ago