Commit Graph

775 Commits (c2f07bb3d8c9ca47281ef7322b7694d36dd715b7)

Author SHA1 Message Date
Michael Kirk 1afc6525e5 selecting network status does not highlight
// FREEBIE
8 years ago
Matthew Chen d94ee7ab11 Add options to send 3k debug messages.
// FREEBIE
8 years ago
Michael Kirk 8e891eb357 Merge branch 'hotfix/2.13.3.0'
// FREEBIE
8 years ago
Matthew Chen 7135895c1c Modify TSStorageManager to use separate shared read and write connections.
// FREEBIE
8 years ago
Michael Kirk 174706817c clearer comment
I erroneously thought this code was an error, maybe a better comment
would have saved me some time?

// FREEBIE
8 years ago
Michael Kirk 6335782568 Make sure we're requesting access for contacts before checking access
I'm actually not sure how I got my simulator wedged into this state -
but my contacts access was "undetermined" and I had several messages.

Maybe they appeared while the app was closed?

I verified that the banner appears as expected when access is denied.

// FREEBIE
8 years ago
Matthew Chen 1552c64777 Add “delete old messages” and “save all attachments” debug commands.
// FREEBIE
8 years ago
Matthew Chen 72faa5f82d Add clean up command to the “orphan audit” debug UI.
// FREEBIE
8 years ago
Matthew Chen feb32fdf8e Find orphan and missing attachment stream files.
// FREEBIE
8 years ago
Matthew Chen 284d55ef6c Rework the debug UI.
* Move debug stats to the about view.
* Convert about view to OWSTableView.
* Add DebugUIPage.
* Add non-thread Debug UI.

// FREEBIE
8 years ago
Matthew Chen 07c8eb54b7 Prevent "scroll to button" button from blipping.
// FREEBIE
8 years ago
Michael Kirk c6cd0bbcae Always show timestamp after unread indicator
// FREEBIE
8 years ago
Michael Kirk bef3a56e50 DebugUI: create fake unread messages
helpful for printing unread indicator

// FREEBIE
8 years ago
Michael Kirk d0d4e67615 update badge count when app is in background
// FREEBIE
8 years ago
Matthew Chen db3407853a Refine fake contact creation.
// FREEBIE
8 years ago
Matthew Chen 791c5bb89e Revise phone number length limit in registration view.
// FREEBIE
8 years ago
Matthew Chen 351c8c00f0 Remove phone number length limit in registration view.
// FREEBIE
8 years ago
Michael Kirk 37b7bf18e9 clarify code and clean up code formatting
I think we hit some pathological cases in clang format, but this is
clearer anyway IMO

// FREEBIE
8 years ago
Matthew Chen e814ae129d Fix crash in manual censorship circumvention logic on iOS 9.
// FREEBIE
8 years ago
Matthew Chen f7c81bae9d Show the “scroll down” button if user scrolls up, even if there are no unread messages.
// FREEBIE
8 years ago
Matthew Chen eff1974eeb [SSK] Reduce chattiness of logs; increase log file sizes.
// FREEBIE
8 years ago
Matthew Chen 15ecb03471 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7726c68047 Persist registration values in the keychain for debug builds only.
// 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 afb83cfaaa Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
8 years ago
Matthew Chen f1e5be4c17 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
Matthew Chen b39c4905c3 Invalid message adapter cache when app becomes visible.
// FREEBIE
8 years ago
Michael Kirk 11fa08470d [JSQ] Fix: can't dismiss keyboard after sending
// FREEBIE
8 years ago
Michael Kirk 8898f4a6d4 CR: future proof view placement if we change hierarchy
// FREEBIE
8 years ago
Michael Kirk c70b1e9681 Make system messages deletable
// FREEBIE
8 years ago
Michael Kirk fbba2f5dd7 colocate CollectionViewDelegate methods
// FREEBIE
8 years ago
Michael Kirk 982433c2bf update call screen avatar when contacts change
in particular this is a problem when initiating a call from a cold app
state. The call screen renders before the contacts have completely
loaded.

// FREEBIE
8 years ago
Michael Kirk 36c09aeb84 cleanup ahead of PR
// FREEBIE
8 years ago
Michael Kirk ff93732ed7 WIP: fix call from contacts when signal hasn't been launched yet 8 years ago
Matthew Chen de453b2960 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5796bbd858 Max out the unread count at 99.
// FREEBIE
8 years ago
Michael Kirk bee4b118e6 remove unneccessary explanation of UI
// FREEBIE
8 years ago
Michael Kirk 0419d35f12 CR: rename method
not always resized when used

// FREEBIE
8 years ago
Michael Kirk 8fc2289152 prefer becomeFirstResponder
Feels a little more reasonable than interecepting canBecomeFirstResponder

// FREEBIE
8 years ago
Michael Kirk b4d3e8e744 Fix: tapping input obscures last messages
// FREEBIE
8 years ago
Matthew Chen d01a52758b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 0d07e0222f Avoid stale mapping in conversation view.
// FREEBIE
8 years ago
Matthew Chen 331a1e90e3 Avoid stale mapping in conversation view.
// FREEBIE
8 years ago
Matthew Chen f6f08891eb Avoid stale mapping in conversation view.
// FREEBIE
8 years ago
Matthew Chen d4a6a35ee3 Avoid stale mapping in conversation view.
// FREEBIE
8 years ago
Matthew Chen fa58977683 Prevent layout from jumping around in fingerprint view.
// FREEBIE
8 years ago
Michael Kirk 4f3278db1e Fix layout of timestamp for system messages
Incorporate topLabelSize into cell size for system messages.

We are using the term "bubble size" to describe the interaction specific
views of a collection cell. It's a crappy name, but coincides with other
usage.

// FREEBIE
8 years ago
Michael Kirk 1125e2ac99 System messsages can show timestamp
added the JSQCollectionViewCell cellTopLabel to the system message
layout

// FREEBIE
8 years ago
Matthew Chen 104a548eb2 Ensure message mapping is up-to-date when app returns from background.
// FREEBIE
8 years ago
Matthew Chen dc134a991a Tweak font size on fingerprint view.
// FREEBIE
8 years ago
Matthew Chen 57c1519b1c Tweak font size on registration view.
// FREEBIE
8 years ago
Matthew Chen e14b9b511d Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 8649b26033 Don’t auto-scroll after “loading more messages” unless we have “more unseen messages”.
// FREEBIE
8 years ago
Matthew Chen 4d0b15f58c Show long-form app version in about view.
// FREEBIE
8 years ago
Matthew Chen ab95b04e56 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 90c4ba27bf Respond to post-holiday code reviews.
// FREEBIE
8 years ago
Matthew Chen bd440f0878 Respond to post-holiday code reviews.
// FREEBIE
8 years ago
Michael Kirk 1661e8dc34 assume contact in 1:1 thread
// FREEBIE
8 years ago
Michael Kirk a41b10a695 ignore tap on legacy non-blocking SN change message
// FREEBIE
8 years ago
Matthew Chen 3c28f15dbd Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 75ccff0e4f Improve debug tools for creating “fake” and “tiny attachment” messages.
// FREEBIE
8 years ago
Michael Kirk 60e87bb16f clearer copy for SN changes
// FREEBIE
8 years ago
Matthew Chen 35d68c6180 Fix "writes on long-lived read connection" issue.
// FREEBIE
8 years ago
Matthew Chen f71f33c2a6 Respond to CR.
// 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 d0791bf510 Add debug UI to create fake messages.
// FREEBIE
8 years ago
Matthew Chen 6f1f1fac80 Improve handling of group creation failures.
// FREEBIE
8 years ago
Matthew Chen 389305e2b9 Fix build warnings.
// FREEBIE
8 years ago
Matthew Chen a73c6ede60 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 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 c18a670d6b Don’t update expiration for messages twice.
// FREEBIE
8 years ago
Matthew Chen 027cd8cb34 Rework how messages are marked read.
// FREEBIE
8 years ago
Matthew Chen b68b188379 Use shield instead of checkmark in conversation settings view when users is not verified.
// 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 471e307ecc Use checkmark to indicate verification status in conversation view header subtitle, fingerprint view, and in conversation settings row icon.
// 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 051b005582 Move QR code scanning to a separate view.
// FREEBIE
8 years ago
Matthew Chen 5a867e3f6c Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 58ebebc97f Move QR code scanning to a separate view.
// FREEBIE
8 years ago
Michael Kirk 6715e76c99 Prefer archiving, to deleting old sessions for better handling of out of
order decryption.

// FREEBIE
8 years ago
Michael Kirk a139bd73e6 Remove deprecated info message from debug UI
// FREEBIE
8 years ago
Matthew Chen fe0ddb53d2 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 93a587c896 Convert FingerprintViewController to programmatic layout.
// FREEBIE
8 years ago
Matthew Chen 3508feaec3 Convert FingerprintViewController to programmatic layout.
// FREEBIE
8 years ago
Matthew Chen bc63a72c25 Add verification state change messages.
// 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
Matthew Chen c3edbd9aa4 Fix paste of text fragments.
// FREEBIE
8 years ago
Michael Kirk 842baa3072 CR: use weak self
// FREEBIE
8 years ago
Michael Kirk f7468acad2 Properly dismiss file view after proceeding with share to no-longer
verified identity

// FREEBIE
8 years ago
Michael Kirk 4e995b76f3 Don't try to share file to untrusted identity
There's a problem with this approach - specifically we need to dismiss
the external file share view controller eventually.

But more generally, because SN can present a view controller, it's kind
success/retry handling is contextual to it's presenting view controller.

So, probably the thing to do is duplicate this logic at it's various
presentation contexts.

// FREEBIE
8 years ago
Michael Kirk 1a3204bf46 create interaction in thread when missing call due to changed identity
// FREEBIE
8 years ago
Michael Kirk 022292e2e5 CR: extract method for readability
// FREEBIE
8 years ago
Michael Kirk 5b2428c8a5 debug toggle verification state
// FREEBIE
8 years ago
Michael Kirk 4000908f43 clarify assert per code review
// FREEBIE
8 years ago
Michael Kirk bae91d97d6 clearer code style
// FREEBIE
8 years ago
Michael Kirk d77addc01e extract session state debug utils into section
// FREEBIE
8 years ago
Michael Kirk 54865e43ed debug item to locally simulate a SN change
...because constantly reinstalling a secondary device takes too long

You can toggle twice to switch it back, but most of the time you'll
simply pull the latest (real) key when the message view regains focus.

// 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
Michael Kirk 41a34e572b Update Safety Number alerts to work with verification
// FREEBIE
8 years ago
Matthew Chen c7c243cfed Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen b6ddea9eae Sketch out OWSIdentityManager.
// FREEBIE
8 years ago
Matthew Chen ceb210748e Sketch out OWSIdentityManager.
// 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
Matthew Chen 2d76f2beb9 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 301c8c51a1 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen eb53958aeb Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen efa40dbdb7 Rework icons in conversation settings view.
// FREEBIE
8 years ago
Matthew Chen b3c42f0c3e Rework and unify the system messages.
// FREEBIE
8 years ago
Matthew Chen a013a7206e Rework and unify the system messages.
// FREEBIE
8 years ago
Matthew Chen 9cdf907e20 Rework and unify the system messages.
// FREEBIE
8 years ago
Matthew Chen 2cbf1e1d05 Rework and unify the system messages.
// FREEBIE
8 years ago
Matthew Chen 74209561cc Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen dab8ddb37d Rework appearance of the unread indicator.
// FREEBIE
8 years ago
Matthew Chen 165de573c5 Fix edge cases in the unseen indicator.
// FREEBIE
8 years ago
Matthew Chen 84d5ee8e47 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen a69c6cce4e Decompose MessagesViewController, add “scroll to bottom button”, improve scrolling behavior.
// FREEBIE
8 years ago
Matthew Chen 831046338e Respond to CR.
// FREEBIE
8 years ago
Matthew Chen e48bf65347 Fix “can’t paste GIF from iMessage” issue.
// FREEBIE
8 years ago
Matthew Chen 5dcdace26f Fix “can’t paste GIF from iMessage” issue.
// FREEBIE
8 years ago
Matthew Chen 5fad3304a5 Streamline observation of database modifications in home view.
// FREEBIE
8 years ago
Matthew Chen b5f5599774 Fix edge cases in the unseen indicator.
// FREEBIE
8 years ago
Matthew Chen 226a975859 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 22fc69bbb4 Decompose MessagesViewController, add “scroll to bottom button”, improve scrolling behavior.
// FREEBIE
8 years ago
Michael Kirk 5b12f4afae Prevent outgoing calls started from various places unless have been seen
e.g. from contacts app

// FREEBIE
8 years ago
Michael Kirk 130aa132a0 Reject incoming calls from an unseen changed identity
// FREEBIE
8 years ago
Matthew Chen b31ef7231a Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 78982f2377 Fix issues around initial layout of messages view.
// FREEBIE
8 years ago
Matthew Chen 76df8431a8 Reset the unread indicator state if possible while app is in the background.
* Clean up timer usage.

// FREEBIE
8 years ago
Matthew Chen 0bccd58213 Make “send message” button easier to tap.
// FREEBIE
8 years ago
Michael Kirk 9a2f218bf3 show SN confirmation before adding to group
* Extract SN confirmation dialog

// FREEBIE
8 years ago
Michael Kirk 2d7f03a1c8 interstitial SN confirmation for attachments/voicenotes
// FREEBIE
8 years ago
Michael Kirk 47783a9df0 request confirmation when calling changed SN
...rather than failing with "SN Changed" error

// FREEBIE
8 years ago
Michael Kirk c55f7044a6 Use avatar view in group views
// FREEBIE
8 years ago
Michael Kirk 52aa8a3744 require explicit avatar diameter
This will help us get crisper text in our generated avatars.

// FREEBIE
8 years ago
Michael Kirk 19d74d91e0 Build higher res avatar for call screen
Initials avatar looks blurry on call screen

// FREEBIE
8 years ago
Michael Kirk b11f8affa7 Use AvatarImageView
Conistently apply avatar style

* contact picker
* conversation settings
* home view

// FREEBIE
8 years ago
Matthew Chen 746d131a89 Respond to CR.
// 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
Matthew Chen b2fa93e2ad Skip redundant layout pass in messages view.
// FREEBIE
8 years ago
Matthew Chen 3a83f93099 Tweak appearance of registration views.
// FREEBIE
8 years ago
Matthew Chen d065c95270 Hide the socket status view when censorship circumvention is active.
// FREEBIE
8 years ago
Michael Kirk 37e0b1a004 Sending to unconfirmed idnetity presents confirmation
Rather than send/fail

// FREEBIE
8 years ago
Michael Kirk 1a03be8ae7 Fetch safety number upon entering thread
* uniform method to get recipients in group/contact thread
  * use it to clean up markAsSeenJob

// 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 4680a2465a Remove registration storyboard.
// FREEBIE
8 years ago
Matthew Chen 964e6f1adf Improve asserts and logging in attachment adapters.
// FREEBIE
8 years ago
Matthew Chen 9577038f11 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7547d03a78 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 2fc683dd9d Add example phone number to registration view and make layout responsive.
// FREEBIE
8 years ago
Matthew Chen 070395e8b6 Rewrite registration view.
// FREEBIE
8 years ago
Matthew Chen eeb510b903 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 4ac78d9b41 Replace app settings segue.
// 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 98c5e7d69c Add support for manually activating censorship circumvention.
// 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 db10cbaeea Convert AdvancedSettingsTableViewController to OWSTableView.
// FREEBIE
8 years ago
Matthew Chen 7f3d76d8bb Convert the app settings view to OWSTableView.
// FREEBIE
8 years ago
Matthew Chen 4bb702fe0d Add support for manually activating censorship circumvention.
// FREEBIE
8 years ago
Matthew Chen dac5483fdd Clean up CountryCodeViewController delegates.
// FREEBIE
8 years ago
Matthew Chen 61de84a203 Clean up CountryCodeViewController delegates.
// FREEBIE
8 years ago
Matthew Chen 867eb7d741 Convert CountryCodeViewController.
// FREEBIE
8 years ago
Matthew Chen ea9dc3fe77 Rationalize the segues between registration view and country code view.
// FREEBIE
8 years ago
Matthew Chen a37b194dc0 Add debug functions for sending media messages.
// FREEBIE
8 years ago
Matthew Chen df2ee6ba55 “Add to contacts” offer.
// FREEBIE
8 years ago
Matthew Chen bc63389d23 “Add to contacts” offer.
// FREEBIE
8 years ago
Matthew Chen 7b70fe674a “Add to contacts” offer.
// FREEBIE
8 years ago
Matthew Chen ac0c6e21de Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 14ebc58d52 Revise scrolling behavior of messages view.
// FREEBIE
8 years ago
Matthew Chen c639926f2c Revise scrolling behavior of messages view.
// FREEBIE
8 years ago
Matthew Chen 4e1dda275d Revise scrolling behavior of messages view.
// FREEBIE
8 years ago
Matthew Chen 55dab36ce1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b3948f27d7 Add debug functions to generate and delete random contacts.
// FREEBIE
8 years ago
Matthew Chen db07ea8a8e Persist attachment file paths.
// 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
Michael Kirk 14b6294d6f code cleanup pre CR
// FREEBIE
8 years ago
Michael Kirk 4adaaa605f Hide contact editing features on iOS8
// FREEBIE
8 years ago
Matthew Chen 54faff2db2 Show alerts for missing or invalid phone numbers in registration view.
// FREEBIE
8 years ago
Matthew Chen 37a601d765 Honor the local calling code in select recipient view.
// FREEBIE
8 years ago
Matthew Chen 14fed91ea2 Fix edge cases in voice message recording.
// FREEBIE
8 years ago
Matthew Chen 5c8956f977 Dismiss keyboard before showing the “too short voice message” alert.
// FREEBIE
8 years ago
Michael Kirk c31fd0dfcc Fix flicker of "no contacts" screen on message compose
// FREEBIE
8 years ago
Matthew Chen 9dc1847ca9 Change conversation settings buttons to gray.
// FREEBIE
8 years ago
Michael Kirk 17cff1a26d Revert "Merge branch 'charlesmchen/bluetoothAudio'"
This reverts commit 48a2005aa2, reversing
changes made to de1332479c.

// FREEBIE
8 years ago
Matthew Chen 54bf103508 Fix Bluetooth audio when recording voice messages.
// FREEBIE
8 years ago
Michael Kirk 16032b9c61 strongSelf per CR
// FREEBIE
8 years ago
Michael Kirk c56ff7532c Fix confusing double permission request on new install when sending
voice notes

// FREEBIE
8 years ago
Michael Kirk e2b1cbb154 Don't show "no signal accounts" until contact intersection has completed
at least once

// FREEBIE
8 years ago
Matthew Chen fc51768197 Work around m4a vs. mp4 issue for voice messages in legacy iOS clients.
// FREEBIE
8 years ago
Matthew Chen c1a1ea7f3b Let users start new 1:1 conversations with blocked non-contacts found by phone number.
// FREEBIE
8 years ago
Matthew Chen 2048b330ac Don't hide keyboard when recording a voice message.
// FREEBIE
8 years ago
Michael Kirk abcc510341 "Conversation Settings" -> "Contact/Group Info"
Clearer heading

// FREEBIE
8 years ago
Matthew Chen ad9c715bf7 Deduplicate items in new conversation view and try to show “phone number” results as signal accounts if possible.
// FREEBIE
8 years ago
Matthew Chen 12e45eaf84 Ignore taps on outgoing messages while they are being sent.
// FREEBIE
8 years ago
Matthew Chen 1a593e5f34 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5afe9bca6f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b316e18cfa Ensure contact delegate helper is set during initialization.
// FREEBIE
8 years ago
Matthew Chen 4a2a3ffa51 Trim whitespace from group names.
// FREEBIE
8 years ago
Matthew Chen 782e3d42bd Trim whitespace from group names.
// FREEBIE
8 years ago
Matthew Chen 3e8b4225b3 Show alert when user tries to play an invalid audio file.
// FREEBIE
8 years ago
Matthew Chen 6ec167e7e0 Disable scrolling if no contacts in “select recipient” views.
// FREEBIE
8 years ago
Michael Kirk 0a7996ffbc Perform contact intersection ~every 6 hours even if no contacts changed
// FREEBIE
8 years ago
Matthew Chen 1b99fd1df4 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a15d11c3e6 Rework appearance of voice messages and audio attachments.
// FREEBIE
8 years ago
Matthew Chen 0ff3e5e6a3 Don’t add blocked users to new groups and handle block alert results correctly.
// FREEBIE
8 years ago
Matthew Chen f10d530410 After sending a text message, the "send" button should revert to mic.
// FREEBIE
8 years ago
Matthew Chen 37278c22d5 Remove extra period in voice message file names.
// FREEBIE
8 years ago
Michael Kirk 755d5dc4e6 resolve push-token changes from RI of hotfix/2.11.4
// FREEBIE
8 years ago
Michael Kirk 929ba06263 Merge branch 'hotfix/2.11.4' into mkirk/fix-push-sync-job 8 years ago
Matthew Chen 73f79f05ec Format example phone numbers.
// FREEBIE
8 years ago
Matthew Chen c81eed74ca Show example phone numbers.
// FREEBIE
8 years ago
Matthew Chen 0bab5ed404 Always honor filtering in contact-related views.
// FREEBIE
8 years ago
Matthew Chen 033ce90dd3 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen eabda5ad90 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 19b80d1f4b Rework the “disappearing messages” logic.
// FREEBIE
8 years ago
Michael Kirk 737a5932c0 tapping contact label shows contact edit view
// FREEBIE
8 years ago
Michael Kirk bd343f6971 clean up some animations
// FREEBIE
8 years ago
Michael Kirk aabd56b23d Clean up comments per CR
// FREEBIE
8 years ago
Michael Kirk 9dc9813dea fix layout for long named contacts
// FREEBIE
8 years ago
Michael Kirk 3754b6f264 Edit 1:1 contact details
// FREEBIE
8 years ago
Michael Kirk e95b579d97 TODONE
// 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 fee47efbea Avoid repaint by requestng contacts before Compose
This entailed passing callback params through the contact request.

// FREEBIE
8 years ago
Michael Kirk 04878bf222 rename method to better reflect new role
// FREEBIE
8 years ago
Michael Kirk 03727a27f6 compose w/o contact access -> "..by phone number"
The search field and invite buttons are not very useful without contacts
access.

// 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
Michael Kirk 40dead89e5 don't crash invite flow when contacts disabled
// FREEBIE
8 years ago
Matthew Chen e85aa045e1 Flag voice messages as such in protos.
// FREEBIE
8 years ago
Matthew Chen 29dd62a19a Always clear message drafts after sending a text message.
// FREEBIE
8 years ago
Matthew Chen 4506064aa6 Prefer to determine an attachment’s file extension for its file name if possible.
// FREEBIE
8 years ago
Matthew Chen 0137e01aff Try to deduce attachment MIME type from the file extension if possible.
// FREEBIE
8 years ago
Matthew Chen 73db16e068 Improve logging around push token sync.
// FREEBIE
8 years ago
Matthew Chen 2f3831e04b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen dd3d63623a Pull logging into SyncPushTokensJob.
// FREEBIE
8 years ago
Matthew Chen 716aa772f6 Always sync and log push tokens. Apply OWSAlerts in more places.
// FREEBIE
8 years ago
Matthew Chen aba29ac5ce Improve logging around SyncPushTokensJob.
// 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 b21e5c3248 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7f92b5a96b Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7a37de28e5 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen bf6d8ec141 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 8ecdc8a2eb Move voice memo button to send button.
// FREEBIE
8 years ago
Matthew Chen c34d61b93f Add cancel-by-swipe of voice memo recording.
// FREEBIE
8 years ago
Matthew Chen 608cb70a3b Add voice memo recording.
// FREEBIE
8 years ago
Matthew Chen 45c8695ab4 Sketch out the voice memo UI.
// FREEBIE
8 years ago
Michael Kirk fbcda40400 rename class, extract color
per code review

// FREEBIE
8 years ago
Michael Kirk a58a71f8f4 no contacts banner -> system settings 8 years ago
Matthew Chen 9f4b8d3b0f Slightly reduce the non-contact cell heights in “new 1:1 conversation” view.
// FREEBIE
8 years ago
Matthew Chen d0e26a58c3 Show “invite by SMS” offer for matching non-Signal contacts when searching in “new 1:1: conversation” view.
// FREEBIE
8 years ago
Matthew Chen 1e6fd385b5 Fix assert in conversation settings view.
// FREEBIE
8 years ago
Matthew Chen 0c4351a908 Use SignalAccount class to sync contacts.
// FREEBIE
8 years ago
Michael Kirk d7c7fff679 Fix some compiler warnings
* explicit optional usage in strings
* remove some unused StringUtil code
* swiftlint affected files
* more concise optional casting (and avoid a `!`)

Compiler warnings: 343 -> 318

(Actually most of these are in external libs, but 115 remain in Signal/SSK)

// FREEBIE
8 years ago
Matthew Chen 45ae8fb067 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2bc1d44cd2 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 1b99671e0e Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 325134c6e8 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen 363d84fd2d Update “new conversation” view to use OWSTableView, contacts view helper, etc.
// FREEBIE
8 years ago
Matthew Chen 1444cfc630 Merge remote-tracking branch 'origin/hotfix/2.11.2' 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 33415eaa0f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen ae7934c117 Update appearance of audio and generic attachment adapters.
// FREEBIE
8 years ago
Matthew Chen 800715a5e0 Remove waveform from audio message bubbles.
// FREEBIE
8 years ago
Michael Kirk 2f05dcc2c5 fix crash when viewing undisplayable text
(can't init attributed string with nil)

// FREEBIE
8 years ago
Matthew Chen 0f85284b82 Fix speakerphone vs. WebRTC AND Fix CallService edge cases.
// FREEBIE
8 years ago
Matthew Chen 4bc98dba58 Rework the scaling and cropping of group avatars.
// FREEBIE
8 years ago
Matthew Chen 26f69b0063 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen f71ec9f7cb Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 2bec1db541 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen ad11c50c1b Reworking observation of Contact and SignalAccount changes.
// FREEBIE
8 years ago
Matthew Chen 994aec0d86 Add SignalAccount class.
// FREEBIE
8 years ago
Matthew Chen 6801963a1b Add SignalAccount class.
// FREEBIE
8 years ago
Matthew Chen 93700f1044 Extract labels for phone numbers.
// FREEBIE
8 years ago
Matthew Chen 42768294ee Extract labels for phone numbers.
// FREEBIE
8 years ago
Matthew Chen cb9d96be00 Clean up ahead of PR.
// FREEBIE
8 years ago
Matthew Chen da7dd1b128 Clean up debug scaffolding.
// FREEBIE
8 years ago
Matthew Chen f5cd39ea35 Apply ContactsViewHelper to SelectThreadViewController.
// 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 6ae3a5395e Skip attachment approval dialog for image and video shot by camera.
// FREEBIE
8 years ago
Michael Kirk 48971478dd Allow importing of any file that's not a directory
// FREEBIE
8 years ago
Matthew Chen 89c5f93aad Tweak appearance of "export with Signal" UI.
// FREEBIE
8 years ago
Michael Kirk 822f5c8415 support sending all files
use generic mimetype when file has unknown extension

// FREEBIE
8 years ago
Michael Kirk 93fe122323 display error if user picks directory/bundle e.g. .pxm
// FREEBIE
8 years ago
Michael Kirk 1d91441676 truncate really long file names in the middle
// FREEBIE
8 years ago
Matthew Chen 8a8b10b688 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d081df9ded Respond to CR.
// FREEBIE
8 years ago
Matthew Chen c84da982ae Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 93eed73530 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5c0c9b533e Respond to CR.
// FREEBIE
8 years ago
Matthew Chen e75ed5e477 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 3c7574a908 Register Signal to handle a wide variety of common document types.
// FREEBIE
8 years ago
Matthew Chen 788ec4ce01 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen d42588b957 Improve appearance of generic attachments and the attachment approval dialog.
// FREEBIE
8 years ago
Michael Kirk 66e858a35a Validate all picked attachments/ show preview
// FREEBIE
8 years ago
Michael Kirk 4d15fbf2dc cherry-pick (rebased) charlesmchen/stressTesting/Signal/src/ViewControllers/SignalAttachment.swift
// FREEBIE
8 years ago
Michael Kirk 203009d4ef fix compiler warning / idiomatic optional unwrapping
// FREEBIE
8 years ago
Michael Kirk 26b94bf94b Always send a filename
// FREEBIE
8 years ago
Matthew Chen b99984f9d3 Fix the “message view subtitle mis-sized after muting” issue.
// FREEBIE
8 years ago
Michael Kirk 4440183414 translation comment for "group name" field
// FREEBIE
8 years ago
Matthew Chen a0a930aac3 Resolve the menu item conflicts between message view and media view.
// FREEBIE
8 years ago
Matthew Chen 866493c8ed Add icons to attachment action sheet.
// FREEBIE
8 years ago
Michael Kirk ea7c74316e capitalize *all* letters of file extension
// FREEBIE
8 years ago
Michael Kirk 474a6d3253 document picker uses approval dialog
// FREEBIE
8 years ago
Matthew Chen 1acb2d7493 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 9779527cf2 Let users edit group name and avatar by tapping on them in group settings view.
// FREEBIE
8 years ago
Matthew Chen a59f49ceac Resolve the menu item conflicts between message view and media view.
// FREEBIE
8 years ago
Matthew Chen 62e6c9a120 Fix crash unsafely accessing optional media method.
// FREEBIE
8 years ago
Michael Kirk 70d235a670 Choose arbitrary attachments from iCloud/GDrive/Dropbox/etc
// FREEBIE
8 years ago
Michael Kirk b1ea340c36 Callscreen fills buttons to show active state
// FREEBIE
8 years ago
Matthew Chen eb23252c6c Fix timer retain cycle.
// FREEBIE
8 years ago
Matthew Chen 4b2bdd9b52 Use audio attachment player in attachment preview dialog.
// FREEBIE
8 years ago
Matthew Chen 041badd295 Decouple the audio attachment player from the video attachment adapter.
// FREEBIE
8 years ago
Matthew Chen b90b71351f Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 980d726a48 Add audio attachment player.
* Fix two bugs around play/pause button appearance.
* Fix bugs around stopping playback when leaving view/entering background.
* Fix bugs around cleaning up playback state  when leaving view/entering background.
* Fix audio playback vs. hardware mute button.
* Improve handling of invalid audio attachments.

// 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 2b09033dda Show mute status in home view.
// FREEBIE
8 years ago
Matthew Chen b2dd458f12 Fix “muted until” date format.
// FREEBIE
8 years ago
Matthew Chen b2664158b1 Pause animated gifs when offscreen; clean up media views more aggressively.
// FREEBIE
8 years ago
Matthew Chen ee765df4b1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen e36b5a4602 Improve group members view.
// FREEBIE
8 years ago
Matthew Chen 06f9affc01 Fix segues in conversation settings view.
// FREEBIE
8 years ago
Matthew Chen 2a9ac87568 Fix paste of text.
// FREEBIE
8 years ago
Matthew Chen 499c8d0bc1 Add muting of threads.
// FREEBIE
8 years ago
Matthew Chen d968c899b5 Add muting of threads.
// FREEBIE
8 years ago
Matthew Chen 2ca122f579 Add muting of threads.
// FREEBIE
8 years ago
Matthew Chen 2c286c8b53 Add muting of threads.
// FREEBIE
8 years ago
Matthew Chen c8466912f0 Add muting of threads.
// FREEBIE
8 years ago
Matthew Chen e025b86e75 Rework outgoing message state.
// FREEBIE
8 years ago
Matthew Chen cc766bcc53 Rework outgoing message state.
// FREEBIE
8 years ago
Matthew Chen 66d1a37859 Rework outgoing message state.
// FREEBIE
8 years ago
Matthew Chen 5c20a85974 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen bf9ae552a3 Ignore hardware mute switch during video playback in attachment approval view.
// FREEBIE
8 years ago
Matthew Chen d9ef27d802 Ignore hardware mute switch during video playback in messages view.
// FREEBIE
8 years ago
Matthew Chen 1cf45a26d0 Merge remote-tracking branch 'origin/hotfix/2.10.1' 8 years ago
Matthew Chen 193d9421ce Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 0018d0040b Honor attachment filenames.
// FREEBIE
8 years ago
Matthew Chen 70ac0acc68 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 54d2d85ebb Update SignalAttachment to allow arbitrary attachments.
// FREEBIE
8 years ago
Matthew Chen da13506db1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen db7cb8d388 Send oversize text messages as attachments.
// FREEBIE
8 years ago
Matthew Chen ebde769161 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 7f5847d2d5 Improve file size formatting in attachment approval dialog.
// FREEBIE
8 years ago
Matthew Chen de735dcf33 Add stubs for audio preview to attachment approval dialog.
// FREEBIE
8 years ago
Matthew Chen fc33b00830 Add animated image preview to attachment approval dialog.
// FREEBIE
8 years ago
Matthew Chen 5d79f43970 Add video preview to 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 c2e94f57ed Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 660e4dd4c4 Show attachment approval dialog for all attachments.
// FREEBIE
8 years ago
Matthew Chen 5bc5e00156 Add debug UI action to send 1,000 messages so we can “load test” message view’s perf.
// FREEBIE
8 years ago
Matthew Chen 1ac487835a Reload data and invalidate layout whenever message view returns from background.
// 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
Matthew Chen f503d7f93c Stay scrolled to the bottom during in conversation view during updates.
// FREEBIE
8 years ago
Michael Kirk 032cf0d953 sharing via message view is legible
// 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 79a2612dbe Fix audio playback.
// FREEBIE
8 years ago
Michael Kirk 91fc6b4d04 Stretch to fit wider message counts
// FREEBIE
8 years ago
Michael Kirk 9bd2ff0572 Don't repaint back-button unread badge
There's not much benefit to this being done async, and making it sync
avoids the repaint.

Also, simplified the code around drawing the badge.

// FREEBIE
8 years ago
Michael Kirk 6b0eb7f9b5 Use numeric pad for verifiation code entry
No need for special phone characters like: *, -, +

// FREEBIE
8 years ago
Matthew Chen 6fde2852b1 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen dc78e32bbf Reload data and invalidate layout whenever message view will appear.
// FREEBIE
8 years ago
Matthew Chen a93aad5124 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 4cd1684ded Don’t let user block themselves.
// FREEBIE
8 years ago
Matthew Chen 372d6b9bfd Don’t let user block themselves.
// FREEBIE
8 years ago
Matthew Chen 1ab4417687 Fix paste when pasteboard has multiple items.
// FREEBIE
8 years ago
Matthew Chen 3ac1e75b5f Ensure keyboard doesn't hide "safety numbers changed" interaction.
// FREEBIE
8 years ago
Matthew Chen 5feca42821 Reformat phone number if user changes country code.
// FREEBIE
8 years ago
Michael Kirk 9d0c76ca56 debug action to reset session
// FREEBIE
8 years ago
Michael Kirk 033591aeca Remove unused code
// FREEBIE
8 years ago
Michael Kirk caabae0024 Add new debug method to delete session
// FREEBIE
8 years ago
Matthew Chen 554125aeeb Dismiss keyboard if user scrolls in “new 1:1 conversation” view.
// FREEBIE
8 years ago
Michael Kirk cc16b9c893 CR nit: add assert
// 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 74820d9ba9 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen a1bd2f66f8 Fix invalid assert in the OWS table views.
// FREEBIE
8 years ago
Matthew Chen fd86495e26 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 8823b2884a Refine the “block list” view.
// FREEBIE
8 years ago
Matthew Chen b5562fa126 Update “new 1:1 conversation” view.
* Don’t hide blocked users.  If selected, user needs to unblock to start conversation.
* Add “you have no contacts” indicator.
* Activate “block state indicator” in contact cell.

// FREEBIE
8 years ago
Matthew Chen b6f944f3d3 Tweak appearance of “add to 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 f56227ce26 Respond to CR.
// FREEBIE
8 years ago