Commit Graph

319 Commits (0cda3661f10cb9ce4ab0c4e3e7e9331530fb1a55)

Author SHA1 Message Date
Matthew Chen 19390abc41 Refine the unseen indicators.
* Fix sizing of the unread indicator cells.
* Fix conflicts between paging and “load window” of conversation view and unseen indicator.
* Modify unseen indicator to indicate whether there are more unseen messages and safety number changes.
* Fix conflicts between modifying the “load window” size and updating the dynamic interactions.
* Clear the “bubble size calculator” cache whenever the view changes size.
* Improve the scrolling behavior around “load more messages”.
* Improve management of “load window” size.
* Fix issues around caching of bubble sizes.

// FREEBIE
8 years ago
Michael Kirk 37e0b1a004 Sending to unconfirmed idnetity presents confirmation
Rather than send/fail

// FREEBIE
8 years ago
Michael Kirk bb25d2beb6 IdentityKeyStore changes
1) Always accept keys from incoming messages

2) Block sending only if it's a recent change, or if always
   block is enabled

// FREEBIE

// FREEBIE
8 years ago
Matthew Chen b0005ea932 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen bc501b16f2 Let users manually specify the domain fronting country.
// FREEBIE
8 years ago
Matthew Chen c07f28565e Revise manual censorship circumvention.
// FREEBIE
8 years ago
Matthew Chen e746636c7c Expose manual censorship circumvention setting.
// FREEBIE
8 years ago
Matthew Chen 7b70fe674a “Add to contacts” offer.
// FREEBIE
8 years ago
Matthew Chen ac458cc7ad Add unread indicator.
// FREEBIE
8 years ago
Matthew Chen 0ec095f216 Nag users on iOS 8 to upgrade.
// FREEBIE
8 years ago
Matthew Chen 54faff2db2 Show alerts for missing or invalid phone numbers in registration view.
// FREEBIE
8 years ago
Michael Kirk e727c0a77a update mic perm copy
// FREEBIE
8 years ago
Michael Kirk abcc510341 "Conversation Settings" -> "Contact/Group Info"
Clearer heading

// FREEBIE
8 years ago
Michael Kirk 33dc4d3d8a [SSK] Show Voice Message snippet
// FREEBIE
8 years ago
Matthew Chen 3e8b4225b3 Show alert when user tries to play an invalid audio file.
// FREEBIE
8 years ago
Michael Kirk 722736d264 translation spellcheck =/
// FREEBIE
8 years ago
Michael Kirk 8a0ff276cf copy tweak
// FREEBIE
8 years ago
Michael Kirk 8e24937727 Update translations
// FREEBIE
8 years ago
Matthew Chen c81eed74ca Show example phone numbers.
// FREEBIE
8 years ago
Michael Kirk 3754b6f264 Edit 1:1 contact details
// FREEBIE
8 years ago
Michael Kirk 073c0d6639 Add/Edit contacts in group list
* properly populate phone fields
* Fix appearence for CNContactViewController
* "Add Contact" vs "Show Contact"

// FREEBIE
8 years ago
Michael Kirk 0b6962cdd0 contacts reminder in compose view
// FREEBIE
8 years ago
Michael Kirk bf5b6d1e63 Invite Flow when "no contact"
TODO: we should probably just prevent people from getting to the invite
flow when their contacts aren't shared, but still it seems good to fix
these crashes.

// FREEBIE
8 years ago
Matthew Chen b47337c0ba Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 34a7f9cba5 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7f92b5a96b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 45c8695ab4 Sketch out the voice memo UI.
// FREEBIE
8 years ago
Michael Kirk a58a71f8f4 no contacts banner -> system settings 8 years ago
Matthew Chen 535fc566a5 Rework handling of phone number names.
// FREEBIE
8 years ago
Matthew Chen 363d84fd2d Update “new conversation” view to use OWSTableView, contacts view helper, etc.
// FREEBIE
8 years ago
Michael Kirk 364f416a69 Block editing contact if user has denied contact permissions
// FREEBIE
8 years ago
Michael Kirk b24cf29189 don't request contacts until necessary
Most commonly this will be after hitting the "compose" button

But also we'll do it in the SignalViewController once you've received a
message.

- get rid blocking contacts nag
- use Contacts framework simplifies logic
- remove dead AB code

// FREEBIE
8 years ago
Matthew Chen 800715a5e0 Remove waveform from audio message bubbles.
// FREEBIE
8 years ago
Michael Kirk 4b6bfa4c4c "home", "other" and "work" instead of "Unknown" phone label
// FREEBIE
8 years ago
Matthew Chen 26f69b0063 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2bec1db541 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 93700f1044 Extract labels for phone numbers.
// FREEBIE
8 years ago
Matthew Chen 61f59067b6 Improve contact-related views.
* Add support for contacts with more than one Signal account using ContactAccount class.
* Use OWSTableViewController in contact-related views.
* Let users add non-contacts to groups.
* Improve the "new group" and "edit group" views.
* Add utility methods for displaying alerts.
* Warn users before discarding unsaved changes in "edit group" view.
* Pull out "contact view helper" to de-duplicate common logic among contact-related views.
* Pull out "group view helper" to de-duplicate common logic among group-related views.
* Pull out new base class for view used to add accounts to groups or the block list.

// FREEBIE
8 years ago
Matthew Chen 791fee347b Improve errors in the 'export with Signal' feature.
// FREEBIE
8 years ago
Michael Kirk 93fe122323 display error if user picks directory/bundle e.g. .pxm
// FREEBIE
8 years ago
Matthew Chen d081df9ded Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 93eed73530 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 6e36ce97a5 Let users share imported files to a thread or contact of their choice.
// FREEBIE
8 years ago
Matthew Chen a0a930aac3 Resolve the menu item conflicts between message view and media view.
// FREEBIE
8 years ago
Matthew Chen 5cbbf50059 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a59f49ceac Resolve the menu item conflicts between message view and media view.
// FREEBIE
8 years ago
Michael Kirk 70d235a670 Choose arbitrary attachments from iCloud/GDrive/Dropbox/etc
// FREEBIE
8 years ago
Michael Kirk 5c39d623a6 tweaked copy per @RiseT
// FREEBIE
8 years ago
Michael Kirk d9e3e87735 New downloading progress view (#2006)
Replace previous "scary" warning-style attachment notifications with
something less alarming.

Includes file name and file type emoji when discernable.

// FREEBIE
8 years ago
Matthew Chen e36b5a4602 Improve group members view.
// FREEBIE
8 years ago
Matthew Chen 499c8d0bc1 Add muting of threads.
// FREEBIE
8 years ago
Matthew Chen c8466912f0 Add muting of threads.
// FREEBIE
8 years ago
Matthew Chen d614073795 Respond to CR.
// FREEBIE
8 years ago
Michael Kirk da8596c1ba Check microphone permissions: Clean up
* copy tweaks
* use "settings" instead of "privacy settings" for button text
* include comments in NSLocalizedString param so they can be extracted with genstrings
* style dismiss action as "cancel"

// FREEBIE
8 years ago
Christoph Hagen 70efb5e9ec Check microphone permissions before starting a call 8 years ago
Matthew Chen 7f5847d2d5 Improve file size formatting in attachment approval dialog.
// FREEBIE
8 years ago
Matthew Chen 267462c584 Show block indicator in home view.
* Improve thread safety of home view cells.

// FREEBIE
8 years ago
Matthew Chen 878704cb12 Create block offer when non-contacts send you a message.
// FREEBIE
8 years ago
Matthew Chen 0a8c9e5622 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 4e3fbac107 Add explanation messages to the “block user alert” and the block section of the 1:1 conversation settings view.
// FREEBIE
8 years ago
Michael Kirk ca768d071a repeat phone number in header, next to back button
1. Putting it near the back-button suggests the user can change it by
   going back.

2. The existing title "Verify" didn't add any value.

// FREEBIE
8 years ago
Michael Kirk fb53a3258d clarify what to do on the verification screen
// FREEBIE
8 years ago
Matthew Chen 372d6b9bfd Don’t let user block themselves.
// FREEBIE
8 years ago
Matthew Chen df58a01330 Revert "Fix i18n key."
This reverts commit 0ba81588ed.
8 years ago
Matthew Chen 0ba81588ed Fix i18n key.
// FREEBIE
8 years ago
Michael Kirk 8c5ceffe17 sync translations
// FREEBIE
8 years ago
Matthew Chen 19d8f6cf01 Improvements around contact cells.
* Improve handling of accessory views/types.
* Use contact cell in “new/edit group” view.
* Don’t hide blocked contacts and group members in “new/edit group” view.
* Let users “unblock-to-add” blocked contacts in “new/edit group” view.

// FREEBIE
8 years ago
Matthew Chen 8823b2884a Refine the “block list” view.
// FREEBIE
8 years ago
Michael Kirk 4494a95a62 Block list is two words. Update code/comments/constants
// FREEBIE
8 years ago
Matthew Chen e0c7457eca Refine appearance of “add to block list” view.
// FREEBIE
8 years ago
Matthew Chen b3d6a82c4f Show blocked users in “add to block list” view.
// FREEBIE
8 years ago
Matthew Chen 7273e6faa5 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 99a1b4e9f4 Revert unintended l10n changes.
// FREEBIE
8 years ago
Matthew Chen c500e7890f Improve completion handling of block actions.
// FREEBIE
8 years ago
Matthew Chen 9c9060203e Block actions in message view for blocked group conversations.
* Add block status indicator view.

// FREEBIE
8 years ago
Matthew Chen 253776d65c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 54cd8cfa3c Add blacklist controls to 1:1 conversation view.
// FREEBIE
8 years ago
Matthew Chen a7296db1fe Add contacts list to “add blocked number” view.
// FREEBIE
8 years ago
Matthew Chen 5a234e34d9 Filter incoming and outgoing messages using the blacklist.
// FREEBIE
8 years ago
Matthew Chen 2e0c95c379 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 271cc6f07e Sketch out BlockListViewController and AddToBlockListViewController.
// FREEBIE
8 years ago
Matthew Chen 4649fcfd20 Add "oversize test message" view.
// FREEBIE
8 years ago
Matthew Chen d85dfb8a4e Improve support for arbitrary attachments.
// FREEBIE
8 years ago
Matthew Chen 80fbc093d9 Handle oversize text messages and arbitrary attachments.
// FREEBIE
8 years ago
Matthew Chen 9db33a9651 Remove RedPhone code.
// FREEBIE
8 years ago
Matthew Chen b90416f472 Show alerts with relevant error messages when attachment-related errors occur.
// FREEBIE
8 years ago
Matthew Chen b9b81ca8ef Honor call privacy settings in call notifications.
// FREEBIE
8 years ago
Matthew Chen f0e7e635f2 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 3dc7f2528f Align the message state indicators with the behavior on Android and desktop.
// FREEBIE
8 years ago
Matthew Chen 029ae00bb2 Align the message state indicators with the behavior on Android and desktop.
// FREEBIE
8 years ago
Matthew Chen e6e4290fa9 Limit size of outgoing text messages.
// FREEBIE
8 years ago
Michael Kirk 861e074c15 clarify call integration copy
// FREEBIE
8 years ago
Matthew Chen 27b515ea45 Add AttachmentApprovalViewController.
// FREEBIE
8 years ago
Michael Kirk 3e651fb8df filter undisplayable text
// FREEBIE
8 years ago
Michael Kirk 505aaa3795 tweak copy
// FREEBIE
8 years ago
Michael Kirk bb9d96efc3 pull latest translations
// FREEBIE
8 years ago
Michael Kirk 9b2eb80392 Code review on new-features
* use page view controller
* UIPageControl instead of arrows for idiomatic swiping
* Nudge title lower
* better hit area for dismiss
* use darker blue for text
* Open privacy settings from callkit update screen
* tweak copy
* latest translations

// FREEBIE
8 years ago
Michael Kirk 6aa6f4895b Combine callkit sections
// FREEBIE
8 years ago
Michael Kirk b371e627c4 one-time carousel of changes
// FREEBIE
8 years ago
Matthew Chen 012dd3d192 Add “nag” to call settings view that prods the user to change their privacy settings after calls.
// FREEBIE
8 years ago
Matthew Chen a20a21867e Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 065d383c15 Add and honor the “CallKit Privacy” setting.
// FREEBIE
8 years ago
Michael Kirk 4b8a5f8ccb TURN-only option, and for unknown caller
Now, by default, we only use TURN for incoming calls from unknown
contacts. We will potentially directly connect for outgoing calls and
for incoming calls from known contacts.

Optionally, the user can disable direct connection altogether, at the
cost of some call quality.

// FREEBIE
8 years ago
Darren W bf3a673443 Add accessibility labels for the Create New Group and Settings navigation bar buttons. FREEBIE. 8 years ago
Matthew Chen 353fa57544 Rework messages view's navigation bar.
// FREEBIE
8 years ago
Matthew Chen 2fb89ae8b4 Merge remote-tracking branch 'origin/release/2.7.1'
// FREEBIE
8 years ago
Matthew Chen ed0c16855d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5bd44673ea Add sharing of attachments.
// FREEBIE
8 years ago
Matthew Chen 927eed7a15 Remove “beta” copy from WebRTC calling setting UI.
// FREEBIE
8 years ago
Matthew Chen 6a3b462541 Add save/copy menu to the image attachment view.
// FREEBIE
8 years ago
Matthew Chen 6cf454b3b4 Improve rate-limiting error message in registration and code verification views.
// FREEBIE
8 years ago
Matthew Chen ef8735e238 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen cf828dc1cf Rework “verify code” view.
* Ensure all controls visible at all times, on all form factors, even with keyboard active.
* Improve focus (i.e. auto-focus textfield on arrival and after errors).
* Move to programmatic view creation and layout.
* Improve spacing and sizing.
* Replace “change number” button with “back” button.
* Submit code with return key.
* Improve copy for clarity.

// FREEBIE
8 years ago
Matthew Chen 06a775b41a Improve the call status messages in conversation view.
// FREEBIE
8 years ago
Michael Kirk 108720c2e7 End outgoing call with "No Answer" after 2 minutes
// FREEBIE
8 years ago
Matthew Chen 734dec12e9 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c43063e1d6 Add “interstitial call view” that is shown during lengthy “webrtc supported” check.
// FREEBIE
8 years ago
Michael Kirk dc9ffe40e5 Better translation comments
in response to some confusion received from translators

// FREEBIE
8 years ago
Matthew Chen 80963d88f0 Respond to CR. Remove colon from call view status prefix.
// FREEBIE
8 years ago
Matthew Chen 9a08449d83 Add “signal” copy to call view.
// FREEBIE
8 years ago
Michael Kirk 007d9aca7e Latest translations
// FREEBIE
8 years ago
Matthew Chen 4f9ce0c0e2 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 26b3be4ec5 Improve "new conversation" view.
* Add "search by phone number" to "no contacts" mode.
* Coordinate "invite flow", "invite by SMS" and "new conversation with non-contact" to ensure only one (at most) is shown.
* Show "new conversation with non-contact" IFF phone number is known to correspond to a signal account.

// FREEBIE
8 years ago
Matthew Chen 3ae85ce2d8 Add button to start a new conversation with non-contact based on phone number in search field.
// FREEBIE
8 years ago
Michael Kirk 2a9aa4c852 users can opt out of CallKit
// FREEBIE
8 years ago
Michael Kirk 08425853cf re-use shared call strings
// FREEBIE
8 years ago
Michael Kirk 7e825648ef Show alert when trying to call a non-signal contact from Contacts.
// FREEBIE
8 years ago
Matthew Chen c8e5884087 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen da53368bc2 Show alert when user tries to activate local video without camera permissions.
// FREEBIE
8 years ago
Michael Kirk fff061ff3f Make sure WebRTC preferences are synced *every* call
This slows the UI, but only for people who have locally opted into
WebRTC calls, and the alternative is that users are likely to have stale
settings the first time a pair of people opt-in.

// FREEBIE
8 years ago
Matthew Chen 654bdb1a85 Add WebRTC setting.
// FREEBIE
8 years ago
Michael Kirk 647b2b37e9 WIP: WebRTC calling
* Ensure NotificationsManager has dependencies
    Otherwise it's easy to mess up the order of the required dependencies.
* move AccountManager into Environment, it's heavy to construct

// FREEBIE
8 years ago
Thomas Guillet d7b27a4021 Refactor ContactsPicker to show a clean search bar
* Replace UITableviewController to UIViewController
* Create a custom xib file
8 years ago
Michael Kirk 94d37d9c55 Warn user about re-registering existing signal number
* show better errors if it *does* happen.
  If someone tries to send from their old device, they'll see a
  depressing, but sensible warning message.
* new translations

// FREEBIE
9 years ago
Josh Schneier 89730f2b85 Improve accessibility a bit 9 years ago
Michael Kirk 273b3a3ac7 Update translations
// FREEBIE
9 years ago
RiseT f29a0fe49b Change safety number strings to be singular
// FREEBIE
9 years ago
Michael Kirk 5a0141003d "No Contacts" screen uses new invite flow
fixes #1501

// FREEBIE
9 years ago
Michael Kirk f0461891e0 Convert Localizable.strings tools to UTF-8 (#1420)
- Update translations
- Updated transifex scripts to convert appropriately
- Run script from any dir
- Check that target directories exist
- We're currently not pulling any strings from JSQMVC

UTF-8 is preferred since we can see diffs in GH and have sane merges.

// FREEBIE
9 years ago
Josh Schneier 896dd026d2 Remove DJWActionSheet 9 years ago
Michael Kirk f30c733ef3 Custom contact picker for invite flow
Preferred to the system contact picker because:
1. removes "group" clutter from header, unlikely to be used much.
2. can select while searching
3. fixes unified contact problem where e.g.
   If only one of your contact has a phone number, they appear disabled
   when choosing to invite via messaging, even though the other linked
   contact *does* have a phone number.
4. label users w/o email so it's clearer why they can't be selected

Also:

* Twitter share-image was too tall

// FREEBIE
9 years ago
Michael Kirk f9a60b622d Use cleaner signal link in invite email
// FREEBIE
9 years ago
Michael Kirk 06ca3c9290 Mail and Message invite flow
* Spruce up compose contact-picker
- Fix random sorting for contacts missing first or last name
- Add Avatar to contact picker
- de-dupe contacts

Better copy for INVALID_MESSAGE error.

// FREEBIE
9 years ago
Michael Kirk 584118a9fc compare safety numbers with clipboard (#1475)
* Compare safety numbers with clipboard

// FREEBIE
9 years ago
Michael Kirk 88d9ef987f Share dialog for Safety Numbers
// FREEBIE
9 years ago
Michael Kirk c5be8f2d88 Don't include phone number in scannable safety number QR code
also fixes #1455

// FREEBIE
9 years ago
Michael Kirk ddeadafc3b Don't show own addressbook info in settings
Some folks get the wrong idea and think Signal Service knows their name,
when really, we were just showing them the entry for the registered
phone number in their address book.

In any case, presumably the user already knows their name, so we don't
need to remind them.

// FREEBIE
9 years ago
Michael Kirk c2aa17e362 Changed Safety numbers no longer block communication
When your partner changes their identity key (e.g. by reinstalling),
you'll see a notice alongside their message, but it will no longer
prevent the message from showing. aka "non blocking".

Existing users will be opted into the previous blocking behavior.

This is configurable for all users in Settings > Privacy.

// FREEBIE
9 years ago
Michael Kirk 368db7e553 [SSK] Only need to fetch prekey once
Plus related rate limit translations

// FREEBIE
9 years ago
Michael Kirk b8fc4001ec Camera permission fixup
- remove unknown segue, otherwise couldn't compile project
- translated english strings
- added translation comments
- reused existing "dismiss" string
- deselected row after dismissing permissions alert in linked devices
  screen

// FREEBIE
9 years ago