Commit Graph

712 Commits (3aa3698751d251dbcadfc236fd3b28eb51a0722d)

Author SHA1 Message Date
Michael Kirk d94709e13f Show label when captioning limit has been reached.
// FREEBIE
7 years ago
Matthew Chen 8fe289feec Tweak design of quoted replies. 7 years ago
Matthew Chen 6830d4e8cb Apply message bubble view to message details view. 7 years ago
Matthew Chen c5d8a7cb38 Clean up ahead of PR. 7 years ago
Matthew Chen 71c5c3a4b7 Refine appearance of quoted reply message cells. 7 years ago
Michael Kirk d99054d895 Reply menu item
MVP

- [x] 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
7 years ago
Matthew Chen c85e5b39b5 Fix more edge cases in Screen Lock. 7 years ago
Joshua Lund a17db6c2da Update Screen Lock text. Clean up a few other strings and comments. 7 years ago
Michael Kirk 3058cb8733 Batch Delete
// FREEBIE
7 years ago
Michael Kirk 6c877403cf Fix delete from message details
// FREEBIE
7 years ago
Matthew Chen 8899c7abda Refine 'Screen Lock'. 7 years ago
Matthew Chen 03845d0d98 Revert "Refine 'Screen Lock'."
This reverts commit 871dca4138.
7 years ago
Matthew Chen 871dca4138 Refine 'Screen Lock'. 7 years ago
Matthew Chen 5bc089837b Respond to CR. 7 years ago
Matthew Chen 28ce15885b Refine screen lock. 7 years ago
Matthew Chen bb596dba98 Add screen lock feature. 7 years ago
Matthew Chen b62736d7d4 Add screen lock feature. 7 years ago
Matthew Chen 1612642c26 Add screen lock feature. 7 years ago
Matthew Chen 439d7e62e6 Recycle backup fragments. 7 years ago
Michael Kirk 0e8db320bb update copy
// FREEBIE
7 years ago
Michael Kirk b5503cc00a Handle empty media gallery
// FREEBIE
7 years ago
Michael Kirk f261fbcf05 Dynamic gallery label
// FREEBIE
7 years ago
Matthew Chen 1bbd41f725 Improve perf of database snapshots. 7 years ago
Michael Kirk b6e0cb3f38 Update localizations
// FREEBIE
7 years ago
Michael Kirk f4e68e0dfb l10n
// FREEBIE
7 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
7 years ago
Matthew Chen 24cc95585f Respond to CR. 7 years ago
Matthew Chen 0bcbb5918b Improve backup progress. 7 years ago
Matthew Chen 91bf0bdb9f Sketch out backup export UI. 7 years ago
Matthew Chen 76b4deffe4 Respond to CR. 7 years ago
Matthew Chen aa546a02df Merge remote-tracking branch 'origin/release/2.22.0' 7 years ago
Michael Kirk 89f1779253 Remove PIN placeholder text
It's not always 6 digits, so it's a confusing placeholder

// FREEBIE
7 years ago
Matthew Chen d06ad25d77 Sketch out incremental backup manager and settings view. 7 years ago
Matthew Chen b296cfb893 Sketch out incremental backup manager and settings view. 7 years ago
Michael Kirk a412f00bad Fix typo
// FREEBIE
7 years ago
Michael Kirk c5ff9a94a0 Merge tag '2.22.0.3' 7 years ago
Michael Kirk 173008fba9 Clarify reminder view, touchup layout
Layout needs to be kept tight for small form factors, but it was overly
cramped on larger devices.

// FREEBIE
7 years ago
Collin B. Stuart 6f7b4a6e43 Strip media metadata.
- removes non-orientation metadata from image and video attachments

- option to disable the feature

// FREEBIE
7 years ago
Michael Kirk 90fc094d0d Copy tweak
// FREEBIE
7 years ago
Michael Kirk 60a1cc5682 Make 2FA registration screen look like the rest of registration
// FREEBIE
7 years ago
Matthew Chen 9499e684e7 Handle rate limits in registration flow. 7 years ago
Matthew Chen 7543a82858 Handle rate limits in registration flow. 7 years ago
Michael Kirk 1d3831eccd Registration Lock reminder view
Also fixed: Don't lose PIN across registrations

// FREEBIE
7 years ago
Michael Kirk 1ff2f3f42e Merge tag '2.21.0.1' 7 years ago
Matthew Chen 4834a85fb5 Add share option for debug logs. 7 years ago
Matthew Chen 06d16bdec5 Revert "Revert "Merge branch 'charlesmchen/debugLogs' into hotfix/2.20.1""
This reverts commit b1dd325ce8.
7 years ago
Michael Kirk 46d944740b Make default audio tone more prominent
Label Note as (default)
Move it to the second item in the list, just after "None"

// FREEBIE
7 years ago
Matthew Chen a87b79341f Respond to CR. 7 years ago
Matthew Chen 288d049cee Update l10n strings. 7 years ago
Matthew Chen baf6fcc535 Add 2FA registration view. 7 years ago
Matthew Chen 4afedac68c Clean up ahead of PR. 7 years ago
Matthew Chen ea783a8ad5 Work on two-factor auth settings UI. 7 years ago
Matthew Chen e12a1e984a Work on two-factor auth settings UI. 7 years ago
Michael Kirk a068b85734 Audio splashscreen artwork/copy
copy tweaks

// FREEBIE
7 years ago
Michael Kirk 37fdd407d4 CR: Add translation comment
// FREEBIE
7 years ago
Michael Kirk cf6dfe08bb Custom audio notifications upgrade experience
TODO: update art
7 years ago
Michael Kirk 5959cdf070 Simplify call privacy settings
We've long allowed users to configure what shows up in message
notifications:

- name: content (by default)
- just name (no content)
- generic notification (no name nor content)

Now we're dual purposing that setting to apply to calls. If someone
doesn't want to show names in the message notifications, presumably also
don't want that name showing up in the call log.

Also, since the earlier CallKit/iCloud issues had been addressed before
iOS11, we upgrade all iOS11 users to the more intuitive CallKit
interface.

Also: introduce "use system call logs" toggle when available. It will be
enabled by default, but we disable it for legacy users who'd explicitly
opted *out* of CallKit.

// FREEBIE
7 years ago
Matthew Chen a16c2adda7 Rework conversation settings view. 7 years ago
Matthew Chen 32b87d0e58 Remove custom ringtones. 7 years ago
Matthew Chen efeb00643c Add title for the mute section in conversation settings view. 7 years ago
Matthew Chen 62af7ddc15 Add "none" option for sounds. Use AVPlayer for everything. 7 years ago
Matthew Chen 0c20f2215a Improve sound settings view. 7 years ago
Matthew Chen 899799af92 Improve sound settings view. 7 years ago
Matthew Chen 396fe82707 Add UI for editing per-thread notification sounds. 7 years ago
Matthew Chen a837c5d41b Custom notification sounds. 7 years ago
Matthew Chen 5c3f6b0ee5 Custom notification sounds. 7 years ago
Matthew Chen ff88f11738 Update l10n strings. 7 years ago
Matthew Chen a4906b2788 Update l10n strings. 7 years ago
Matthew Chen 8fdc61c726 Fix failed status messages in message detail view. 7 years ago
Matthew Chen 4b62faf2f8 Aggressively nag iOS 8 users to upgrade iOS. 7 years ago
Matthew Chen 48b6c3dafb Refine message date/time formatting. 7 years ago
Matthew Chen d54f6aba0a Refine SAE UI. 7 years ago
Matthew Chen 98843cd45c Let users submit debug logs if app launch fails. 7 years ago
Michael Kirk 76d1b9dad5 proper title case 7 years ago
Matthew Chen 069587b150 Add message approval view. 7 years ago
Michael Kirk baa312f449 Timer button with duration label
// FREEBIE
7 years ago
Michael Kirk 3ca5ec2726 Ensure media-library permissions when accessing media library
// FREEBIE
7 years ago
Matthew Chen 16f7317579 Complete backup restore/import. 7 years ago
Matthew Chen 272a90d269 Add import back up UI. Begin work on import backup logic. 7 years ago
Matthew Chen 980b3d25a7 Rework "export backup" UI. 7 years ago
Matthew Chen ea945558c8 Show share UI for backups. 7 years ago
Matthew Chen e77c3e6717 Retain changes from session database branch. 7 years ago
sdkjfhsdkjhfsdlkjhfsdf 3a6ddd4bf8 CR: cleanup
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf 6e2d9c8141 identity change vs. share extension
// FREEBIE
7 years ago
sdkjfhsdkjhfsdlkjhfsdf b87079d4b4 Sharing attachment shows progress / retry dialog
// FREEBIE
8 years ago
Matthew Chen 0be63d2939 Add "send to last thread" option in debug logs. 8 years ago
Matthew Chen 7a1e47cd26 Add asserts around Swift singletons. 8 years ago
Michael Kirk 3eceb86371 Show alert if we fail to build the attachment
// FREEBIE
8 years ago
Michael Kirk 56fe9d057d Attachment Approval
// FREEBIE
8 years ago
Matthew Chen 848f055da1 Add SAE error views. 8 years ago
Matthew Chen 94b5dfb1b5 Localize the debug log UI. 8 years ago
Michael Kirk 286463bb22 Thread picker adds sections for threads vs other contacts 8 years ago
Matthew Chen e7b32899cb Sketch out SAE load screen; make a number of infrastructure changes. 8 years ago
Matthew Chen 9b4ac4073f Improve robustness around unknown country codes. 8 years ago
Matthew Chen 96274a60a9 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen db8a381960 Merge remote-tracking branch 'origin/release/2.18.0' 8 years ago
Michael Kirk 259695a9fd Attachments require digest or show explanatory error.
// FREEBIE
8 years ago
Matthew Chen bcf83a4c8e Rework handling of oversize text messages.
// FREEBIE
8 years ago
Daniel e8f92ede60 added accessibility labels for call screen controls FREEBIE
Added Prefix

combined similar labels to CALL_VIEW_MUTE_LABEL
8 years ago
Michael Kirk 68e755ade9 Merge branch 'release/2.18.0' 8 years ago
Michael Kirk e4ad169d71 Show retryable error alert when fetching GIF fails
// FREEBIE
8 years ago
Michael Kirk 0f859d6b20 Merge branch 'release/2.18.0' 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 fb408f980c Remove JSQ.
// FREEBIE
8 years ago
Matthew Chen 334396dac6 Add activity indicator, "error", "no results" and retry to gif picker.
// FREEBIE
8 years ago
Michael Kirk f837a46245 Fix post call crash on iOS8
// FREEBIE
8 years ago
Michael Kirk e22db2adbd Shorter string fits button better on small devices
// FREEBIE
8 years ago
Matthew Chen 8b7d34e51c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 801734a938 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 62ba5701f6 Sketch out GIF picker.
// FREEBIE
8 years ago
Michael Kirk 175474e0d1 Read receipt update screen
// FREEBIE
8 years ago
Matthew Chen b3da6a9774 Change the "group members" item name.
// FREEBIE
8 years ago
Michael Kirk 08e3c6cc04 regenerate source l10n, replace lost JSQMVC strings
// FREEBIE
8 years ago
Matthew Chen 3566ed8ded Update read receipts setting copy.
// FREEBIE
8 years ago
Matthew Chen 29c4059049 Rework message metadata view.
// FREEBIE
8 years ago
Matthew Chen d6e8849248 Rework "send read receipts" setting.
// 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
Matthew Chen aa7329013d Handle new-style delivery receipts.
// 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 83c21c6159 Add setting for read receipts in app settings.
// FREEBIE
8 years ago
Matthew Chen b95b5f69de Apply DataSource to message sender.
// FREEBIE
8 years ago
Michael Kirk d827453f47 copy tweak
// 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 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 2c301feeb7 Add view to Crop and scale avatar.
// FREEBIE
8 years ago
Matthew Chen e8a6ca1c22 Show an error when profile name is too long.
// FREEBIE
8 years ago
Matthew Chen ae1908c40c Show "share profile with group" banner.
// 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 14d472781f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 265bdce0ba Start reworking the contact offers.
// 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
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 cdb181eadc Sketch out profile header in app settings view.
// FREEBIE
8 years ago
Matthew Chen 823927685d Update profile on service.
// FREEBIE
8 years ago
Matthew Chen 37ce388eb6 Add “add to profile whitelist” offer.
// FREEBIE
8 years ago
Matthew Chen 282ac4bb29 Add “share profile” row to conversation settings.
// FREEBIE
8 years ago
Matthew Chen a748987d72 Add option to clear profile avatar.
// FREEBIE
8 years ago
Matthew Chen c331788c06 Modify the profile view to update profile manager state.
// FREEBIE
8 years ago
Matthew Chen 72ea096970 Sketch out the profile view.
// FREEBIE
8 years ago
Matthew Chen 5edec99fd6 Adapt number formatting to RTL.
// FREEBIE
8 years ago
Michael Kirk e52248fe39 Localize JSQMessagesViewController within Signal
// FREEBIE
8 years ago
Michael Kirk ba97ff3f5f Label tweaks for device listing
// FREEBIE
8 years ago
Michael Kirk a59eb25aef extract dismiss string -> CommonStrings.dismissButton
// FREEBIE
8 years ago
Michael Kirk 9bd68ed490 WIP: bluetooth shows audio route button instead of speakerphone
// FREEBIE

TODO

NEED
-[ ] icon in route picker
-[ ] commit cleanup

NICE
-[ ] present action sheet automatically when making outgoing bluetooth call
-[ ] left align icons
-[ ] audio is paused when switching between video mode (maybe existing behavior, not sure)
-[ ] Copy: iPhone/iPad/iPod instead of "iPhone Microphone"

DONE
-[x] remove "receiver" from options while in video mode
-[x] show available audio routes
-[x] select available audio routes
-[x] notification if availabe inputs change so we can update call screen
     mid call with available BT route
-[x] include speakerphone in choices
-[x] Enabled button shows active speakerphone. Should still show
     bluetooth picker.
-[x] toggle back and forth between audio devices
-[x] hide audio route button in video mode if no BT available
-[x] Fixed: When on speakerphone - switching to video mode goes back to bluetooth.
-[x] Fixed: When switching to video w/ bluetooth device connected there is no
     audio picker.
-[x] respect speakerphone/BT selection when in or toggling to/from video
-[x] do not hide audio route button when in video mode and bluetooth
     connected
-[x] Show which is currently selected audio route
-[x] switching to speakerphone no longer works
-[x] switching *back* to bluetooth no longer works
-[x] add proper bluetooth button for audio calls
-[x] add proper bluetooth button for video calls
8 years ago
Matthew Chen b7c2512eac Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 81555d1225 Add “new contact” and “add to existing contact” buttons in 1:1 conversation settings view.
// FREEBIE
8 years ago
Matthew Chen 669e0644ea Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 8f3b837a65 Add a reminder that you are in archive view.
// FREEBIE
8 years ago
Michael Kirk e584f4d1e1 copy tweaks
// FREEBIE
8 years ago
Matthew Chen 944cd7beef Show app update nag on launch if necessary.
// FREEBIE
8 years ago
Michael Kirk 12d8ecfdfc Copy tweak: "Incomplete" -> "Unanswered" outgoing call
// FREEBIE
8 years ago
Michael Kirk 1f9f066fa9 print call record when declining a call
// FREEBIE
8 years ago
Matthew Chen 0855faabb4 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen efbda70764 Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
8 years ago
Matthew Chen a039aac36d Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
8 years ago
Michael Kirk bee4b118e6 remove unneccessary explanation of UI
// FREEBIE
8 years ago
Matthew Chen 3c59678b7d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d340c3262d Tweak the database upgrade copy.
// FREEBIE
8 years ago
Matthew Chen cf3101226b Improve the upgrade screen.
// FREEBIE
8 years ago
Michael Kirk 60e87bb16f clearer copy for SN changes
// FREEBIE
8 years ago
Matthew Chen c7426f9343 Avoid crashing on startup due to database view creation.
* Substitute unread view for unseen view until unseen view is ready.
* Register as many views as possible async.
* Perform blocking, safe migrations before async registration of views.
* Add debug settings view for internal app stats.
* Show blocking overlay until async registration of database views is complete.
* Convert version migrations to use AppVersions.

// FREEBIE
8 years ago
Matthew Chen 05e316381b Remove “block on safety number changes” setting in preferences.
// FREEBIE
8 years ago
Matthew Chen 6f1f1fac80 Improve handling of group creation failures.
// FREEBIE
8 years ago
Matthew Chen 935244843e Tweak verification UI.
* Add “tap for options” to verification banner copy.
* Add close button to banners.
* Always use shield icon for verification row in conversation settings view.
* Add action sheet to verification banner.

// FREEBIE
8 years ago
Matthew Chen 7d7b6689c4 Tweak verification state messages.
// FREEBIE
8 years ago
Matthew Chen 7da28bd5dc Multiple refinements around verification.
* Check for identity key before presenting fingerprint view.
* Show verification state in a separate subtitle in conversation view.
* Let users verify from group members view.

// FREEBIE
8 years ago
Matthew Chen 11ca51c95f Show verification state banner. Show verification state in conversation settings view.
// FREEBIE
8 years ago
Matthew Chen a7269a9a5d Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 128e147c1b Show verification state in fingerprint view and let user change that state.
// FREEBIE
8 years ago
Matthew Chen 10f3f7fe13 Add “learn link”. Move “scan” button into QR code.
// FREEBIE
8 years ago
Matthew Chen 8b9a1e41b4 DRY up safety number success and failure handling.
* Add “mark as verified” option to success case.

// FREEBIE
8 years ago
Matthew Chen 58ebebc97f Move QR code scanning to a separate view.
// FREEBIE
8 years ago
Matthew Chen bc63a72c25 Add verification state change messages.
// FREEBIE
8 years ago
Michael Kirk 64efa2b3c6 [SSK] remove redundant SN changes when sending to new identity
// FREEBIE
8 years ago
Michael Kirk 75bab75dc8 Show no redundant error when failing to send due to changed identity
The old "blocking" style SN alerts are deprecated. We maintain the
functionality to decrypt incoming messages from legacy SN alerts so that
users have time to recover their undecrypted messages.

// FREEBIE
8 years ago
Michael Kirk 1a3204bf46 create interaction in thread when missing call due to changed identity
// FREEBIE
8 years ago
Michael Kirk c8d547a08f Only allow callback for identities that were not previously verified
// FREEBIE
8 years ago
Michael Kirk 1127553041 restore "confirm and callback" functionality
// FREEBIE
8 years ago
Michael Kirk 146031e4d5 update copy / remove some unused "unseen" tracking
// FREEBIE
8 years ago
Matthew Chen 1dffdb5ca0 Indicate if censorship circumvention is active in the main app settings view.
// FREEBIE
8 years ago
Matthew Chen 15074cdb8f Clean up system message cells, make them tappable, etc.
// FREEBIE
8 years ago
Michael Kirk 295ba5c854 update copy "safety number" is not uppercased
...unless it's a button, which is always title cased.

// FREEBIE
8 years ago
Michael Kirk 130aa132a0 Reject incoming calls from an unseen changed identity
// FREEBIE
8 years ago
Michael Kirk 9a2f218bf3 show SN confirmation before adding to group
* Extract SN confirmation dialog

// FREEBIE
8 years ago
Michael Kirk 47783a9df0 request confirmation when calling changed SN
...rather than failing with "SN Changed" error

// FREEBIE
8 years ago
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
Michael Kirk c6a2fbff23 Tapping corrupted message opens "session reset" activity
This action was previously hidden under a secret longpress gesture in
the fingerprint view controller.

Ideally we'd never receive corrupted messages, but at the point we do,
our sessions are out of whack, and the only recovery option is to reset.
Let's help our users do that.

* Resetting session sends END_SESSION message

  Otherwise the remote side wouldn't know we reset the session and will
  send us a message on the old ratchet.

* Don't reset their identity key when resetting sender ratchet.

* Updated translations

// FREEBIE
9 years ago
Michael Kirk 1dd06a5e6c Fix registration flow / Keep push tokens in sync
* Separate registering an account from registering for push notifications
  * Allows us to complete registration without prompting user for
    notification settings.

UX Changes
----------
* Automatically keep push tokens in sync on startup.
  Push tokens *can* change, though they rarely do. It happens more often
  for people switching between appstore/beta builds.

  fixes #1174

* Show alert with registration failure
  * add secret 8-tap debug log gesture to registration flow

* Move registration to separate flow
  * don't see flash of inbox when first launching

* show useful error messages when given wrong code / no code

* remove background fetch
  We werent using it, but only relying on a side effect of it which is
  no longer necessary.

Code Changes
------------

* More registration logging.

* Install PromiseKit with carthage

  Our dependencies are not yet framework compatible, so we can't use
  cocoapods.

* Merge preferences util "category" into superclass.

  The immediate reason for this is Swift interop was assuming optional
  types were not optional, and exploding when a value was nil.

  This is clearer anyway, since we were treating it like a subclass, and
  it was the only thing using the class anyway.

* auto-genstrings now searches *.swift (and *.h, which was previously
  broken) for translateable strings.

// FREEBIE
9 years ago
Matthew Douglass bbfffdf79f Scanning an invalid QR code shows an error dialog
* From the error dialog you are able to back out of scanning or try again. Adds English localization for this message.

  Adds an extra flag in OWSQRCodeScanningViewController to make sure that we don’t handle captureResults when capture is disabled (this was racing before because the call to [capture stop] is async and that was causing the cancel case to present the error dialog multiple times.

  Fixes Signal-iOS#1347

* Fixes appearance of race with starting capture
  Also marks the capture variable as atomic since it is accessed on
  multiple threads.

// FREEBIE
9 years ago
Michael Kirk 40d6550fca Update translations
// FREEBIE
9 years ago
Michael Kirk 66f0f8cc95 [SSK] Better error messages when failing to send
// FREEBIE
9 years ago
Michael Kirk 689df1be37 Handle key change in group send
// FREEBIE
9 years ago
Michael Kirk 33f6a95520 Explain send failures for text and media messages
fixes #1231

Motivation
----------
Previously when messages failed to send, there was no reason given.
Furthermore, when media messages failed to send there was no indication
that any attempt to send the message even occurred, nor a retry
dialog.

UX Changes
----------
- Show "uploading" status for media
- Show specific error message in retry-send dialog
- Only scroll to bottom when new message is inserted
- Show specific errors when group creation fails

Code Changes
-----------
- Updated incorrect references to TSMessageAdapters which were actually
  references to OWSMessageData
- MessageSender was extracted from SSK MessagesManager
- access MessagesManager as property
- idiomatic init/properties for Env
- log contact intersections
- Move scroll-to-bottom animation to main thread.

// FREEBIE
9 years ago