Commit Graph

2800 Commits (e9796600c61ae29387ecca0b4e7d11934bdd98f4)

Author SHA1 Message Date
Michael Kirk 603a7d2639 Merge branch 'release/2.18.0' 8 years ago
Michael Kirk ab05bd32e8 compose search cleanup per code review
// FREEBIE
8 years ago
Michael Kirk 0f859d6b20 Merge branch 'release/2.18.0' 8 years ago
Michael Kirk 9ae4a26eb1 Message details shows entire message
When viewing a longer message, to avoid the risk of the user not being
aware they can scroll down, we scroll to the last couple lines of the
message, ensuring they can see the meta-data.

// FREEBIE
8 years ago
Michael Kirk 038ca0d6a9 Fix invite via SMS in search
- whispersystems.org -> signal.org
- nav color was wrong since iOS10
- update search results after clearing post SMS invite

// FREEBIE
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
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
8 years ago
Matthew Chen 866be07434 Bump build to 2.17.1.1.
// FREEBIE
8 years ago
Matthew Chen 7c82f6d448 Add workaround for bug in iOS 11.1 beta around hit area of custom back buttons.
// FREEBIE
8 years ago
Matthew Chen 49501a5d1b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b1624d6818 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b833976b77 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 5621fe893c Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen fb408f980c Remove JSQ.
// FREEBIE
8 years ago
Michael Kirk 796be18c56 enable gif picker
// FREEBIE
8 years ago
Michael Kirk dd5a19d1fd Suspend while answering shows "Missed Call"
When awakened by a voip push, we get some arbitrary amount of background
time to connect the call (in practice this is ~30s) before the app is
suspended.

Though we were properly terminating the call upon being suspended, we
were not notifying the user that they had missed a call.

// FREEBIE
8 years ago
Michael Kirk a434a381f7 Merge branch 'hotfix/2.17.1' 8 years ago
Michael Kirk 23b8560b79 sync translations
// FREEBIE
8 years ago
Michael Kirk 2cc59dc166 bump version
// FREEBIE
8 years ago
Matthew Chen 44051bd7e7 Avoid deadlock in profile manager.
// FREEBIE
8 years ago
Michael Kirk 9a7e3cb9d8 Register for manual message fetching when unable to obtain push tokens
// 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 f314b2e50a Fix registration screen layout
// FREEBIE
8 years ago
Michael Kirk b5258be9b5 respond to code review
// 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
Michael Kirk c7cfe188ee Sync push tokens on background launch as well
// FREEBIE
8 years ago
Matthew Chen 7d9c2825d8 Add progressive search to Gif picker.
// FREEBIE
8 years ago
Matthew Chen 5999178e78 Remove FLAnimatedImage.
// FREEBIE
8 years ago
Matthew Chen fd28e54132 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 52a8fb4b88 Add loading background to gif cells, refactor gif cells.
// FREEBIE
8 years ago
Matthew Chen 334396dac6 Add activity indicator, "error", "no results" and retry to gif picker.
// FREEBIE
8 years ago
Matthew Chen 6fb9af6363 Rework gif picker background & giphy logo.
// FREEBIE
8 years ago
Michael Kirk 4c797151e6 Avoid divide by 0 error
Didn't actually see this in the wild - just being defensive.

// FREEBIE
8 years ago
Michael Kirk 3864880a6f CR: ensure view doesn't grow indefinitely
- explicitly mark constraint as required

// FREEBIE
8 years ago
Michael Kirk 3d3af21792 CR: clarify comment, proper linewrap
// FREEBIE
8 years ago
Michael Kirk 580e82beae CR: clamp reasonable aspect ratio
// FREEBIE
8 years ago
Michael Kirk 14b6f31635 position video view below status bar
// FREEBIE
8 years ago
Michael Kirk 15f6135639 Fix AspectRatio on legacy video view
// FREEBIE
8 years ago
Michael Kirk c3dc8508ab pre-PR cleanup
// FREEBIE
8 years ago
Michael Kirk f837a46245 Fix post call crash on iOS8
// FREEBIE
8 years ago
Michael Kirk 39e5875a36 remove overzealous assert 8 years ago
Michael Kirk 2a4e113c82 Cleanup
// FREEBIE
8 years ago
Michael Kirk 9b33bb0b6d fix layout on MetalKit view 8 years ago
Michael Kirk ff2f9ebaf0 fix compiling on 32bit.
// FREEBIE
8 years ago
Michael Kirk f171c56488 Video calls use MetalKit when available
Taking advantage of the new RTCMTLVideoView where available
(64bit && >=iOS9), should help performance (battery and rendering
quality).

// FREEBIE
8 years ago
Michael Kirk 4ab0ae273c pull translations
// FREEBIE
8 years ago
Michael Kirk 7b50a0c7d3 bump build
// FREEBIE
8 years ago
Matthew Chen 380ed0f82b Create & access groups more carefully.
// FREEBIE
8 years ago
Michael Kirk 4e30ec1aef bump build
// FREEBIE
8 years ago
Michael Kirk 7636f41b1a sync translations
(omitted blowing away existing "Submit" translation which was uploaded too recently)

// FREEBIE
8 years ago
Matthew Chen cef1f9186d Fix the scroll down button margins.
// FREEBIE
8 years ago
Michael Kirk b938ec6edf bump build
// FREEBIE
8 years ago
Michael Kirk e22db2adbd Shorter string fits button better on small devices
// FREEBIE
8 years ago
Michael Kirk 6fd6385397 sync translations
// FREEBIE
8 years ago
Michael Kirk d5f8c79336 bump build
// FREEBIE
8 years ago
Matthew Chen 9f5454a4cb Fix the "is contact" test.
// FREEBIE
8 years ago
Matthew Chen 10c00501fd Fix the "is contact" test.
// FREEBIE
8 years ago
Matthew Chen 50ec55c313 Fix the "is contact" test.
// FREEBIE
8 years ago
Michael Kirk ab5b090338 Sync read receipt config to linked devices
// FREEBIE
8 years ago
Matthew Chen 8b7d34e51c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen fd9188415f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a0c9a84390 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen d73a1a02a8 Tweak GIF cells.
// 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 5b70116209 Unify the "message was sent" logic in conversation view. Ensure "message sent" sounds are played after sending attachments.
// FREEBIE
8 years ago
Matthew Chen 3bfb91d0c2 Ignore obsolete GIF requests.
// FREEBIE
8 years ago
Matthew Chen c32945b576 Clean up ahead of PR.
// 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 48e6cea207 Replace FLAnimatedImage with YYImage.
// 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 206f96c9af Sketch out GIF picker.
// FREEBIE
8 years ago
Matthew Chen 62ba5701f6 Sketch out GIF picker.
// FREEBIE
8 years ago
Matthew Chen 27e5a2f1b2 Sketch out 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
Matthew Chen ac649a474e Bump build to 2.17.0.4.
// FREEBIE
8 years ago
Matthew Chen 0263dbb00a Update l10n strings.
// FREEBIE
8 years ago
Matthew Chen dbe2c6aa76 Fix scroll down button.
// FREEBIE
8 years ago
Michael Kirk c093cf0831 sync latest translations
// FREEBIE
8 years ago
Michael Kirk 9983cfa026 bump build
// FREEBIE
8 years ago
Matthew Chen f99ce23e69 Fix wrongful "add to contacts offer" issue.
// FREEBIE
8 years ago
Michael Kirk 175474e0d1 Read receipt update screen
// FREEBIE
8 years ago
Michael Kirk a2421d5b3e Fix "unknown attachment" notifications
The transaction in which the attachments were created hasn't been
committed yet.

// FREEBIE
8 years ago
Matthew Chen 6abc4bed90 Increase hot area of scroll down button.
// FREEBIE
8 years ago
Matthew Chen 34218feece Disable contact cells in message metadata view.
// FREEBIE
8 years ago
Matthew Chen 256b5ab446 Don't show recipient status group titles for 1:1 threads.
// FREEBIE
8 years ago
Matthew Chen ffea39abd0 Cap the flat button text size.
// FREEBIE
8 years ago
Matthew Chen e5387a3971 Update l10n strings.
// FREEBIE
8 years ago
Matthew Chen b3da6a9774 Change the "group members" item name.
// FREEBIE
8 years ago
Michael Kirk 791613a3ee bump build
// FREEBIE
8 years ago
Michael Kirk 5706683dd3 sync translations
// FREEBIE
8 years ago
Michael Kirk e2445e6ed2 Fix RTL bubbles in conversation and message detail view
// FREEBIE
8 years ago
Michael Kirk 09a457ee62 Check all preconditions up front
// FREEBIE
8 years ago
Michael Kirk 2b05326d73 bump build
// FREEBIE
8 years ago
Michael Kirk 549c39c6c8 sync latest translations
// FREEBIE
8 years ago
Michael Kirk c3bb8a0190 on main thread, per CR
// FREEBIE
8 years ago
Michael Kirk 5704bf1765 message bubbles for message detail view controller
// FREEBIE
8 years ago
Michael Kirk 344903fa5b Show proper thread from notification
// FREEBIE
8 years ago
Michael Kirk 08e3c6cc04 regenerate source l10n, replace lost JSQMVC strings
// FREEBIE
8 years ago
Matthew Chen 9573e0e16d Move more work off the main thread.
// FREEBIE
8 years ago
Michael Kirk e77a7e09bb Fix assert for empty thread
// FREEBIE
8 years ago
Matthew Chen 5faeed4d59 Fix breakage.
// FREEBIE
8 years ago
Matthew Chen 3566ed8ded Update read receipts setting copy.
// FREEBIE
8 years ago
Matthew Chen 2dce0e9b1b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 26c8c4e1fa Rework message metadata view.
// FREEBIE
8 years ago
Matthew Chen de29b5a6ee Rework message metadata view.
// FREEBIE
8 years ago
Matthew Chen 29c4059049 Rework message metadata view.
// FREEBIE
8 years ago
Michael Kirk 655598d0a3 remove existing account button
// FREEBIE
8 years ago
Matthew Chen a231834a73 Use contact cells in message metadata view.
// FREEBIE
8 years ago
Matthew Chen d6e8849248 Rework "send read receipts" setting.
// FREEBIE
8 years ago
Matthew Chen d28a014e2d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen cf4aeac0ec Modify message metadata view to observe DB changes.
// FREEBIE
8 years ago
Matthew Chen b3ab6d0602 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3a39a1ba51 Format message statuses with date if possible.
// FREEBIE
8 years ago
Matthew Chen d557817bb4 Format message statuses with date if possible.
// FREEBIE
8 years ago
Michael Kirk 0b535ae811 sync translations
// FREEBIE
8 years ago
Michael Kirk 3485ff8d2d bump version
// FREEBIE
8 years ago
Matthew Chen a4d285f50d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen aa7329013d Handle new-style delivery receipts.
// 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 16d4256e99 Address deadlocks in profile manager.
// FREEBIE
8 years ago
Matthew Chen af7fd60d76 Fix NPE in conversation view.
// FREEBIE
8 years ago
Michael Kirk 4777335ffa Don't attempt to sync profile until registered.
Otherwise there's an unnecessary initial (innocuous) failed HTTP attempt
on first launch for unregistered users.

// FREEBIE
8 years ago
Matthew Chen 9dcc7e1ea0 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 57b5ccdc3f Address deadlocks in profile manager.
// FREEBIE
8 years ago
Matthew Chen cb365d0a58 Address deadlocks in profile manager.
// FREEBIE
8 years ago
Matthew Chen 19e010645e Respond to CR.
// FREEBIE
8 years ago
Michael Kirk f4ab65b37b bump version
// FREEBIE
8 years ago
Michael Kirk bfaa7f2e0c On iOS11 doc picker requires system appearance.
Otherwise nav items are illegible.

// FREEBIE
8 years ago
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
8 years ago
Matthew Chen f001e8c225 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 315c1d7dc4 Hide all read receipts in UI if not enabled.
// FREEBIE
8 years ago
Matthew Chen b4312a5619 Merge remote-tracking branch 'origin/hotfix/2.16.1' 8 years ago
Matthew Chen 825503210b Remove extraneous database view.
// FREEBIE
8 years ago
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
8 years ago
Matthew Chen f2d19ffe09 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c92c6de7b9 Add stress group to debug UI.
// FREEBIE
8 years ago
Matthew Chen 7268bde506 Add stress group to debug UI.
// FREEBIE
8 years ago
Matthew Chen bd416176ae Add stress group to debug UI.
// FREEBIE
8 years ago
Matthew Chen edd63164d7 Fix build breaks.
// FREEBIE
8 years ago
Matthew Chen bfb03c0db4 Fix message processing edge cases.
// FREEBIE
8 years ago
Matthew Chen 445f6dc6f8 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 35a2470cb7 Post notifications asynchronously.
// FREEBIE
8 years ago
Matthew Chen 1c8dbcd223 Respond to CR.
// 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 b28c4b74b2 Pull out TSMessageDecrypter class.
// FREEBIE
8 years ago
Matthew Chen f1b7d895e2 Modify precommit script to clean up includes and forward declarations.
// FREEBIE
8 years ago
Michael Kirk 83479a505d clarify translations procedure 8 years ago
Michael Kirk 612615a2b3 bump build
// FREEBIE
8 years ago
Michael Kirk cfa99f2530 update l10n
👍 @liliakai

// FREEBIE
8 years ago
Michael Kirk e1c8d38f3e update translations doc 8 years ago
Michael Kirk 73bdae3366 Fix 1-time crash when launching 2.16 from notification
didBecomeActive is too late in the case of launching from a
notification.

Also, start tracking when app setup is complete, and prevent certain
actions from occurring in that case. Eventually we'll enqueue these
actions rather than ignoring them, but we'll want to do more testing
before releasing that. In the meanwhile, if the environment isn't setup
at this point, a crash would be eminent anyway.

// FREEBIE
8 years ago
Matthew Chen fa353259c3 Process messages in a single transaction (wherever possible).
// 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 8a4d67a6e4 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 183f0f1ccd Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 83c21c6159 Add setting for read receipts in app settings.
// FREEBIE
8 years ago
Matthew Chen 65732af3da New users opt-out of read receipts; legacy users opt-in.
// FREEBIE
8 years ago
Matthew Chen 40d728e022 Add read receipts preference.
// FREEBIE
8 years ago
Matthew Chen 80e5f281c6 Rename app preferences class.
// FREEBIE
8 years ago
Matthew Chen 3367292ba0 Merge branch 'hotfix/2.16.1' 8 years ago
Matthew Chen f92b221e6b Startup logging.
// FREEBIE
8 years ago
Matthew Chen 70602e3bca Startup logging.
// FREEBIE
8 years ago
Michael Kirk 7101d4aa3b bump build
// FREEBIE
8 years ago
Michael Kirk 7f6c27863f pull latest translations
// FREEBIE
8 years ago
Michael Kirk 5e878b486e Show album organizer for profile picker
This is in line with attachment picking and let's the user find photos
outside of "moments".

// FREEBIE
8 years ago
Matthew Chen 2affcd934f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c0f5bda2be Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 400f536e37 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 872ce17dd6 Clean up data source temp files when complete.
// FREEBIE
8 years ago
Matthew Chen 92a2fd6b69 Avoid NPEs when entering conversation view.
// FREEBIE
8 years ago
Matthew Chen 541966aaf6 Fix NPEs when profiles change while entering conversation view.
// FREEBIE
8 years ago
Matthew Chen 2c68b06412 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen e222b9df68 Normalize conversation presentation logic.
// FREEBIE
8 years ago
Matthew Chen 04d452b074 Normalize conversation presentation logic.
// FREEBIE
8 years ago
Matthew Chen b6d782046a Normalize conversation presentation logic.
// FREEBIE
8 years ago
Matthew Chen 7b1b532b19 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 43370ffc3f Fix assert during calls without camera permission.
// FREEBIE
8 years ago
Matthew Chen e8daf9a8d3 Fix assert when missing camera permission during calls.
// FREEBIE
8 years ago
Matthew Chen 563753a4cb Force contacts intersection in pull-to-refresh from new thread view.
// FREEBIE
8 years ago
Matthew Chen 3aa90451f1 Restore pull-to-refresh in the "new contact thread" view.
// FREEBIE
8 years ago
Matthew Chen 05b1818874 Don't "scroll to bottom" when messages are sent from desktop.
// FREEBIE
8 years ago
Matthew Chen 48121e5eac Don't "scroll to bottom" when messages are sent from desktop.
// FREEBIE
8 years ago
Matthew Chen 95c5a907f4 Bump build to 2.16.1.1.
// FREEBIE
8 years ago
Matthew Chen f1d8d7ac7d Update l10n strings.
// FREEBI
8 years ago
Michael Kirk 4997b4e332 update to new support URL
// FREEBIE
8 years ago
Matthew Chen 0b772b3a37 Move post-registration work from view to app delegate.
// FREEBIE
8 years ago
Matthew Chen 9ee72756ae Create Flat UI rounded button class.
// FREEBIE
8 years ago
Matthew Chen 46d00383fd Create Flat UI rounded button class.
// FREEBIE
8 years ago
Matthew Chen 3993035d98 Create Flat UI rounded button class.
// FREEBIE
8 years ago
Matthew Chen 5be2014ec7 Create Flat UI rounded button class.
// FREEBIE
8 years ago
Matthew Chen ab00342d67 Add modal activity indicator view.
// FREEBIE
8 years ago
Matthew Chen bb2a822f3f Clean up the data source class.
// FREEBIE
8 years ago
Matthew Chen b8573d7323 Apply OWSFail() in more places.
// FREEBIE
8 years ago
Matthew Chen 9dfebb2d4b Apply OWSFail() in more places.
// FREEBIE
8 years ago
Matthew Chen c21a7673c8 Rework preservation of attachment filenames.
// FREEBIE
8 years ago
Matthew Chen 0746b1300d Apply DataSource to message sender.
// FREEBIE
8 years ago
Matthew Chen b95b5f69de Apply DataSource to message sender.
// FREEBIE
8 years ago
Matthew Chen 20e5013aae Convert DataSource to Objective-C.
// FREEBIE
8 years ago
Matthew Chen 69816cdf0e Convert DataSource to Objective-C.
// FREEBIE
8 years ago
Matthew Chen 2282733fa9 Add data source class.
// FREEBIE
8 years ago
riya e11a3bd180 change animation to linear
//FREEBIE
8 years ago
Michael Kirk 643f583fa6 Disable name marquee scrolling whenever local video is open
The marquee is distracting, and doubly so during a video call.

Plus because of the local video frame, the space is so small that
marqueeing will be enabled even for relatively short names on small
devices.

Also, at the point you enable local video - presumably you already know
who's on the other end.

// FREEBIE
8 years ago
Michael Kirk 0ec2ac862a Marquee label for callview controller
// FREEBIE
8 years ago
Michael Kirk bd6387d1df fit more of profile name on call screen
// FREEBIE
8 years ago
Michael Kirk c4139b0f3e Callkit ringer uses profile name
Also presents formatted number instead of e164

// FREEBIE
8 years ago
Matthew Chen 509ed8dc6e Update l10n strings.
// FREEBIE
8 years ago
Michael Kirk ad76155bdd audit/fix up supported l10ns (added km and lt)
As policy we don't include a language in Signal until it has at least
80% of strings translated. We don't currently remove languages that fall
below that threshold.

There are two things that must happen to add a localization in Signal.

1. Pull the Localizable.strings from transifex for each language, add
   them to git.
2. Add the localization to the Xcode project file

These four languages were in the repository (step 1) but not properly
added to the project file (step 2):

- khmer (km)
- lithuanian (lt)
- hebrew (he)
- persian (fa)

Of these, only khmer and lithuanian were sufficiently translated, so I
added them properly to the Xcode project file, making them available to
our users.

To make this process slightly easier to track in the future, I've
removed the insufficiently complete `he` and `fa` files from the
repository. Once they fall above 80% translated they will be
automatically downloaded by our sync-translations script, appearing as
new files, being the cue to the developer to add those new translations
to the project (step 2).

Note: the fa/he translations were never available to users, so we're not
going removing anyones existing functionality.

// FREEBIE
8 years ago
Matthew Chen fd4287c556 Bump version to 2.16.1.0.
// FREEBIE
8 years ago
Matthew Chen 0c281cab95 Add "log user profiles" debug UI action.
// FREEBIE
8 years ago
Matthew Chen d8d3f36070 Add "delete all contacts" debug UI action.
// FREEBIE
8 years ago
Matthew Chen 948da2afbb Merge remote-tracking branch 'origin/release/2.16.0' 8 years ago
Matthew Chen df2bf63384 Fix back button width on iOS 11.
// FREEBIE
8 years ago
Matthew Chen 43a2b9ebe3 Bump build to 2.16.0.20.
// FREEBIE
8 years ago
Michael Kirk 5d58f43837 More profile logging
// FREEBIE
8 years ago
Matthew Chen 3d5836a768 Bump build to 2.16.0.19.
// FREEBIE
8 years ago
Michael Kirk 04bf548a7b Fix one-time crash when opening thread without having a local profile
// FREEBIE
8 years ago
Matthew Chen 2bd50a7bf1 Bump build to 2.16.0.18.
// FREEBIE
8 years ago
Matthew Chen 60ab8bd049 Update l10n strings.
// FREEBIE
8 years ago
Michael Kirk 25a2646c8b Always present settings from OWSNavigationController
// FREEBIE
8 years ago
Matthew Chen 26a6e76f3c Rework conversation view header.
// FREEBIE
8 years ago
Matthew Chen b626fb5bf8 Rework conversation view header.
// FREEBIE
8 years ago
Matthew Chen 644f435b16 Rework conversation view header.
// FREEBIE
8 years ago
Matthew Chen c106794fe8 Rename conversation view.
// FREEBIE
8 years ago
Matthew Chen 928525c31e Rename home view.
// FREEBIE
8 years ago
Matthew Chen fd4f00fa4d Rename new contact thread view.
// FREEBIE
8 years ago
Matthew Chen 29848835f3 Bump build to 2.16.0.17.
// FREEBIE
8 years ago
Matthew Chen fc92293da3 Fix build break.
// FREEBIE
8 years ago
Michael Kirk 6911c8047e validate push settings on main thread
// FREEBIE
8 years ago
Matthew Chen 58e6ab60d8 Update l10n strings.
// FREEBIE
8 years ago
Matthew Chen ddb4d97436 Bump build to 2.16.0.16.
// FREEBIE
8 years ago
Michael Kirk 2d13c49222 [iOS11] Support sending .heif filesS
// FREEBIE
8 years ago
Michael Kirk 83ca34edbe Fix sending images taken on iOS11 camera.
Convert .heic to .jpg upon sending

// FREEBIE
8 years ago
Michael Kirk ecf8ca093f [JSQMVC] iOS11 compatability
// FREEBIE
8 years ago
Matthew Chen 5170fe09bc Bump build to 2.16.0.15.
// FREEBIE
8 years ago
Michael Kirk d827453f47 copy tweak
// FREEBIE
8 years ago
Matthew Chen 0d04cf251b Ensure the crop view is WYSIWIG.
// FREEBIE
8 years ago
Michael Kirk 4e93bec230 black masking style for avatar cropper
- cancel/done buttons
- no navbar for modal edit
- vertically center image

// FREEBIE
8 years ago
Michael Kirk 809a9c3d19 copy tweak
// FREEBIE
8 years ago
Michael Kirk 59eb782d57 Optimize layout for profile upgrade, remove other upgrade screens
// FREEBIE
8 years ago
Michael Kirk 0244a82031 code cleanup for clarity
// FREEBIE
8 years ago
Michael Kirk 90b1db9eb4 new upgrade layout
// FREEBIE
8 years ago
Michael Kirk b7cc1e9f56 top margin iphone5c 8 years ago
Michael Kirk 73a441a28c introducing profiles
// FREEBIE
8 years ago
Matthew Chen 16dcc73b2d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2ce66527fb Add group members individual to profile whitelist when adding group.
// FREBIE
8 years ago
Matthew Chen 6a2d14ad2a Refine message view's initial range size.
// FREEBIE
8 years ago
Matthew Chen a1cb2c015e Refine message view's initial range size.
// FREEBIE
8 years ago
Matthew Chen 3be347ed2c Bump build from to 2.16.0.13.
// FREEBIE
8 years ago
Michael Kirk cd4cfb50d3 clean up avatar icon
avatar outline was showing behind camera which had transparent center

// FREEBIE
8 years ago
Michael Kirk ae174d4a87 proper handling for multibyte characters
// FREEBIE
8 years ago
Michael Kirk 362b383785 Length-limit profile name field
// FREEBIE
8 years ago
Matthew Chen 3d0300242a Use "skip" not "stop" in profile upgrade nag.
// FREEBIE
8 years ago
Matthew Chen 94daccc78e Fix fake contacts.
// FREEBIE
8 years ago
Matthew Chen a35a21d5cc Batch the creation of fake contacts.
// FREEBIE
8 years ago
Michael Kirk 1cd51a8df2 Use existing isViewLoaded var
Defined in UIKit, this will actually already do what we need without
having to define a new var

// FREEBIE
8 years ago
Michael Kirk 3b85c5e495 crashfix: production crash when notification fired before view loaded
We're observing notifications in init that modify the view, which is
problematic if we receive a notification before the view has loaded.

// FREEBIE
8 years ago
Michael Kirk 2cd2596ddc crashfix: thread.uniqueId is sometimes nil in production
fail early and print diagnostics

// FREEBIE
8 years ago
Michael Kirk bb8f6c1b73 crashfix: crash while accessing image property
assert on blind cast

// FREEBIE
8 years ago
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
8 years ago
Matthew Chen 274fa25e6d Bump build from to 2.16.0.12.
// FREEBIE
8 years ago
Matthew Chen 95eaa2c3bb Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
8 years ago
Matthew Chen b2c8ad2d29 Restore scroll state after resetting the conversation view's mapping.
// FREEBIE
8 years ago
Matthew Chen 7d32491968 Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
8 years ago
Matthew Chen eaa1f4f318 Bump build from to 2.16.0.11.
// FREEBIE
8 years ago
Matthew Chen fce2ad2793 Refine the "is scrolled to bottom" logic to better handle new conversations.
// FREEBIE
8 years ago
Matthew Chen cc048b3971 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen ef21c6d50c Ignore "GIF of death."
// FREEBIE
8 years ago
Matthew Chen 7f15228aba Ignore "GIF of death."
// FREEBIE
8 years ago
Matthew Chen 5fcf89dff1 Ignore "GIF of death."
// FREEBIE
8 years ago
Matthew Chen b9908997c9 Remain scrolled to bottom after presenting the keyboard in messages view.
// FREEBIE
8 years ago
Matthew Chen 59f2c4674c Bump build from to 2.16.0.10.
// FREEBIE
8 years ago
Matthew Chen d7b0b6a253 Fix build break in production builds.
// FREEBIE
8 years ago
Matthew Chen 43dddf9312 Bump build from to 2.16.0.9.
// FREEBIE
8 years ago
Matthew Chen 3c90c3361a Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 71d7490e35 Re-sync local profile state with service if necessary.
// FREEBIE
8 years ago
Matthew Chen ac3743f810 Fix RTL layout of system message cells.
// FREEBIE
8 years ago
Matthew Chen 92a0fbe01b Fix yet another edge case around message view scroll state.
// FREEBIE
8 years ago
Matthew Chen 4a2ca15b70 Fix build break around parameter name.
// FREEBIE
8 years ago
Matthew Chen 997cd2ef2b Revisit the [UIScrollView _adjustContentOffsetIfNecessary] issue. Fix glitches in the initial scroll state in message view. Don't reset scroll state when returning to the message view.
// FREEBIE
8 years ago
Matthew Chen 7f717c0ca6 Revisit the [UIScrollView _adjustContentOffsetIfNecessary] issue. Fix glitches in the initial scroll state in message view. Don't reset scroll state when returning to the message view.
// FREEBIE
8 years ago
Michael Kirk 4c51f1810c sync local profile as soon as it's created
// FREEBIE
8 years ago
Michael Kirk ab84cbd670 use messageSender property now that the class relies on it in multiple
places.

(due to rebase)

// FREEBIE
8 years ago
Michael Kirk 42934e5fd4 remove retry logic per code review
the system naturally recovers anyway, upon sending messages, no need to
hit the user with another alert.

// FREEBIE
8 years ago
Michael Kirk d71b7684a6 cleanup logging
// FREEBIE
8 years ago
Michael Kirk 55d0db8c46 Disable profile-key sending with feature flag
// FREEBIE
8 years ago
Michael Kirk 4382f33618 Send blank PROFILE_MESSAGE after whitelisting someone
So they can immediately fetch your profile.
Note, we're going to put this behind a feature flag for initial release
since iOS prints an empty bubble when receiving a message like this.

// FREEBIE
8 years ago
Michael Kirk 6c63009e9e Dedicated "Profile" debug section
// FREEBIE
8 years ago
Michael Kirk 9c56660618 profile key flag and debug action
// FREEBIE
8 years ago
Michael Kirk d8aa9b4a3d better comment per CR
// FREEBIE
8 years ago
Michael Kirk 0feb966a1c comment cleanup / code formatting
// FREEBIE
8 years ago
Michael Kirk 526d5e33b9 Sync profile key to sibling devices when updating contact
// FREEBIE
8 years ago
Michael Kirk 46919e4702 Add own profile key to multidevice provisioning message
// FREEBIE
8 years ago
Michael Kirk 1f3d2d1ed6 Send any profile key in contact sync
// FREEBIE
8 years ago
Matthew Chen d3d9e5dabc Fix scroll down button state.
// FREEBIE
8 years ago
Matthew Chen cdfdb80fd1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7e4859241a Clear the local profile avatar immediately when we request upload form.
// FREEBIE
8 years ago
Matthew Chen 0fa19b5269 Clear own avatar on service if necessary when updating local profile. Clear others' avatar when appropriate.
// FREEBIE
8 years ago
Matthew Chen 50a8d0f165 Clear own avatar on service if necessary when updating local profile. Clear others' avatar when appropriate.
// FREEBIE
8 years ago
Matthew Chen 65eb5c725c Bump build from to 2.16.0.8.
// FREEBIE
8 years ago
Michael Kirk 1e51bf4899 extract event names
// FREEBIE
8 years ago
Michael Kirk 251e206b6d profiles vs. censorship circumvention
// FREEBIE
8 years ago
Matthew Chen f2ae73e156 Remove obsolete "scrollLaterTimer" hack in messages view.
// FREEBIE
8 years ago
Matthew Chen 8794880db8 Unbound message bubble cache size and DRY up cache logic.
// FREEBIE
8 years ago
Matthew Chen c90ca331e3 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2aaa9155de Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 6b8e189f45 Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 728028563c Add double-tap to zoom out.
// FREEBIE
8 years ago
Matthew Chen e7b32f9fd1 Add double-tap to zoom out.
// FREEBIE
8 years ago
Matthew Chen 2b50eb5acc Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 2c301feeb7 Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen 374a59e937 Remove an old TODO.
// FREEBIE
8 years ago
Matthew Chen e8a6ca1c22 Show an error when profile name is too long.
// FREEBIE
8 years ago
Michael Kirk bde40a1f9c Ensure avatar upates right after profile change.
// FREEBIE
8 years ago
Michael Kirk f6720f9afa properly clear all cached avatar images
// FREEBIE
8 years ago
Michael Kirk b579ea5915 Use profile name when building avatar if contact name is unavailable
// FREEBIE
8 years ago
Matthew Chen 89bacf5cce Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 65db75a91d Fix group profile whitelist check.
// FREEBIE
8 years ago
Matthew Chen 9bf80a215f Don't add avatar to new contacts.
// FREEBIE
8 years ago
Michael Kirk 903d792af4 Debug action to clobber local profile and key
// FREEBIE
8 years ago
Michael Kirk 041c5a4a11 CR: setNeedsLayout
// FREEBIE
8 years ago
Michael Kirk f49e122567 listen for profile names change notifications
// FREEBIE
8 years ago
Michael Kirk 96f0ab215c wip 8 years ago
Michael Kirk fd99354673 profile name vs. verified in ContactTableViewCell
// FREEBIE
8 years ago
Michael Kirk e54e1d11c0 show profile name snippet in inbox and conversation settings
// FREEBIE
8 years ago
Matthew Chen b22a8f51b4 Bump build from to 2.16.0.7.
// FREEBIE
8 years ago
Michael Kirk 279eb89023 Fix whitelist
whitelist cache are a bunch of NSNumber's, we need to check their
boolValue

// FREEBIE
8 years ago
Matthew Chen 6d6ffd6d3a Bump build from to 2.16.0.6.
// FREEBIE
8 years ago
Matthew Chen b28a6bab26 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 57b76b3411 Ensure message view range is properly truncated with view is configured.
// FREEBIE
8 years ago
Matthew Chen 15d2fd23d7 Rework save/cancel buttons in profile view.
// FREEBIE
8 years ago
Matthew Chen 68309eb00f Rework save/cancel buttons in profile view.
// FREEBIE
8 years ago
Michael Kirk 0a57e7db09 Fix slow start crash after upgrade to 2.16
We were opening a write transaction before our sync extensions were
registered. This seems to have caused our views to rebuild themselves
once they did register, which in turn can cause device timeout.

Instead of opening transcations in `init`, we only build the
localProfile once it's needed.

A future PR will ensure transactions
aren't being created before syncViews are registered.

// FREEBIE
8 years ago
Matthew Chen 5e6f5804c1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 584ddab0b9 Show "share profile with group" banner.
// FREEBIE
8 years ago
Matthew Chen ae1908c40c Show "share profile with group" banner.
// FREEBIE
8 years ago
Matthew Chen 68ee56174a Pad empty profile names instead of nil.
// FREEBIE
8 years ago
Matthew Chen 3d6bf273d5 Bump build from to 2.16.0.5.
// FREEBIE
8 years ago
Matthew Chen 7eeb326865 Fix minor build error.
// FREEBIE
8 years ago
Matthew Chen ec3f099af1 Bump build from to 2.16.0.4.
// FREEBIE
8 years ago
Matthew Chen 6dda535f24 Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 313d06b31d Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 020d2c567a Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 3181ee7882 Rework the profile view.
// FREEBIE
8 years ago
Matthew Chen 9dfeb132cb Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1e43e93371 Observe profile changes in conversation view.
// FREEBIE
8 years ago
Matthew Chen 9a70aef99f Bump build from to 2.16.0.3.
// FREEBIE
8 years ago
Matthew Chen 14d472781f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a340c9ebdc Clean up ahead of CR.
// FREEBIE
8 years ago
Matthew Chen 4578a72ab2 Reorder where contact offers appear.
// FREEBIE
8 years ago
Matthew Chen 02c96b7b0e Rework the contact offers.
// FREEBIE
8 years ago
Matthew Chen 9e02524b0b Rework the contact offers.
// FREEBIE
8 years ago
Matthew Chen c2f9d7dcb2 Rework the contact offers.
// FREEBIE
8 years ago
Matthew Chen 265bdce0ba Start reworking the contact offers.
// 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 5f2f8ec6d8 Start reworking the contact offers.
// FREEBIE
8 years ago
Michael Kirk 72fbb02028 aes-gcm via openssl
// FREEBIE
8 years ago
Michael Kirk d6d403ce69 fix some tests
// FREEBIE
8 years ago
Matthew Chen 27e496ad06 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1b055c485d Rework "cancel navigate back" logic.
// FREEBIE
8 years ago
Matthew Chen 25b0f79615 Rework "cancel navigate back" logic.
// FREEBIE
8 years ago
Matthew Chen 08347478a2 Implement alternative approach to veto-able back buttons.
// FREEBIE
8 years ago
Matthew Chen 9d8c396848 Add profile view to upgrade/nag workflow.
// FREEBIE
8 years ago
Matthew Chen ffb4b3f9d2 Add profile view to registration workflow.
// FREEBIE
8 years ago
Michael Kirk 7c386b1d1e CR: RTL, trim profile names, ensure not empty
- RTL support with localizable format strings
- Trim decrypted profile names
- more rigorous empty check

// FREEBIE
8 years ago
Michael Kirk 4511b4015f Clarify where we use the profile name
Add some hints to differentiate profile name usage from a name pulled
from the contacts.

// FREEBIE
8 years ago
Matthew Chen 164bf19b47 Respond to CR.
// 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
Matthew Chen 0b14f87575 Improve comments about mapping consistency in conversation view.
// FREEBIE
8 years ago
Michael Kirk e08fa4bcec Fix jolting animation after sending a message
When we send the nth message, we retain the footer for the n-1th message
until the nth message is successfully sent.

1. leave the footer on the n-1th message
2. draw the nth message with the "..." footer
3. update the nth message with the "sent" footer and hide the footer for
   the n-1th message

In the normal case this all happens very quickly, which results in some
unpleasant flicker every time you send a message.

The concession here is that we'll only print the n-1th footer if the
outgoing message *fails*. So until we implement a design more like
Android's double-check for sent/delivery, the user will not be able to
distinguish between a sent and delivered message *while* their message
is outgoing.

In my opinion the lack of jank in the normal case makes the app
supercedes this use case.

// FREEBIE
8 years ago
Michael Kirk 2e83643327 Don't consider registration complete until user registers their push
notification tokens.

// FREEBIE
8 years ago
Matthew Chen 6c3662b944 Increase max conversation range length.
// FREEBIE
8 years ago
Matthew Chen 2f2902a762 Bump build from to 2.16.0.2.
// FREEBIE
8 years ago
Matthew Chen ddd8c9ff5f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3ecd415b84 Show activity indicator during profile update; trim whitespace from profile names.
// FREEBIE
8 years ago
Matthew Chen 943945b4bd Fix “profiles not encoded” bug.
// FREEBIE
8 years ago
Matthew Chen 7a03ab4e7c Bump build from to 2.16.0.1.
// FREEBIE
8 years ago
Matthew Chen 46d27cef30 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1dd75a05ff Tweak concurrency in profile manager.
// FREEBIE
8 years ago
Matthew Chen 02f8b13f4f Rework concurrency in the profile manager.
// FREEBIE
8 years ago