Commit Graph

44 Commits

Author SHA1 Message Date
Michael Kirk a11d83187b WIP: Framework-friendly - compiles but crashes on launch
// FREEBIE
2017-11-29 13:58:27 -08:00
Michael Kirk a27b034090 Fix GIF picker footer for iPhoneX
// FREEBIE
2017-11-14 12:48:33 -05:00
Matthew Chen 4037e2ee39 Merge tag '2.18.0.7' 2017-11-02 17:21:17 -04:00
Michael Kirk ad8c1db689 Reduce progressive search delay
// FREEBIE
2017-11-02 15:47:27 -04:00
Matthew Chen db8a381960 Merge remote-tracking branch 'origin/release/2.18.0' 2017-11-01 12:02:37 -04:00
Matthew Chen 487bd06755 Respond to CR.
// FREEBIE
2017-10-31 11:56:13 -04:00
Matthew Chen 12de1aa90c Split up GIF requests.
// FREEBIE
2017-10-27 17:23:51 -04:00
Matthew Chen c83090a46e Split up GIF requests.
// FREEBIE
2017-10-27 17:23:51 -04:00
Matthew Chen 2dfea25243 Split up GIF requests.
// FREEBIE
2017-10-27 17:23:51 -04:00
Matthew Chen be0149ccf2 Update layout of views to reflect keyboard.
// FREEBIE
2017-10-24 17:10:12 -04:00
Matthew Chen cbb0030b12 Rework attachment approval UI.
// FREEBIE
2017-10-24 09:42:29 -04:00
Michael Kirk 2af99eb710 Allow canceling GIF download
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk 688810c267 CR: Enforce "one time only" with a bool, not a cell ref
Since cell's can be re-used, at a later point, we might not be
referencing the data we intend. Since all we want to do is enforce a
"one time only" check, just use a bool.

// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk 591cba6468 fix comment typos
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk a01de44917 Fix intermittent crash
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk 6db5895269 dismiss keyboard when scrolling after auto-search
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk be51776d82 Fix mask appearing partially above search bar
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk 37177de7cb Make sure user knows what they're picking
Abort selection until *some* kind of asset has been downloaded.

// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk e4ad169d71 Show retryable error alert when fetching GIF fails
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk 3939e8a6ac Download picked GIF faster: cancel pending request
// FREEBIE
2017-10-20 12:34:55 -07:00
Michael Kirk b8ce636afc Show loading screen while selected GIF downloads
// FREEBIE
2017-10-20 12:34:55 -07:00
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
2017-10-20 12:34:55 -07:00
Matthew Chen a386ac5685 Respond to CR.
// FREEBIE
2017-10-18 08:32:28 -07:00
Matthew Chen b90e9fcd64 Skip redundant GIF searches.
// FREEBIE
2017-10-17 18:07:29 -07:00
Matthew Chen 33d3c4123a Progressive GIF search shouldn't dismiss keyboard.
// FREEBIE
2017-10-17 17:56:05 -07:00
Matthew Chen 7d9c2825d8 Add progressive search to Gif picker.
// FREEBIE
2017-10-10 09:51:13 -04:00
Matthew Chen fd28e54132 Respond to CR.
// FREEBIE
2017-10-06 16:26:50 -04:00
Matthew Chen 334396dac6 Add activity indicator, "error", "no results" and retry to gif picker.
// FREEBIE
2017-10-06 16:25:40 -04:00
Matthew Chen 6fb9af6363 Rework gif picker background & giphy logo.
// FREEBIE
2017-10-06 16:25:40 -04:00
Matthew Chen 8b7d34e51c Respond to CR.
// FREEBIE
2017-10-02 15:24:57 -04:00
Matthew Chen a0c9a84390 Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen 801734a938 Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen e4556967b6 Ensure gif cells reload when app becomes active or network becomes available.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen 5b70116209 Unify the "message was sent" logic in conversation view. Ensure "message sent" sounds are played after sending attachments.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen 3bfb91d0c2 Ignore obsolete GIF requests.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen c32945b576 Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen e0194fd605 Allow multiple simultaneous GIF downloads.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen a65a4b133c Clean up ahead of PR.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen 4f77a2a504 Load GIFs progressively using stills.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen 2dfd7aa0e9 Actually send GIFs.
// FREEBIE

SQUASH ME.

SQUASH ME.
2017-10-02 13:37:32 -04:00
Matthew Chen 4242001828 Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen ee9101eb16 Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen 3b9726a4fa Sketch out the GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00
Matthew Chen 206f96c9af Sketch out GIF picker.
// FREEBIE
2017-10-02 13:37:32 -04:00