Commit Graph

775 Commits (c2f07bb3d8c9ca47281ef7322b7694d36dd715b7)

Author SHA1 Message Date
Matthew Chen 02c510691c Adapt number formatting to RTL.
// FREEBIE
8 years ago
Matthew Chen 5edec99fd6 Adapt number formatting to RTL.
// FREEBIE
8 years ago
Matthew Chen 04fb3642b2 Remove .xib for home view cells; adapter home view to RTL.
// FREEBIE
8 years ago
Matthew Chen eaacac9d8b DRY up common table cell patterns.
// FREEBIE
8 years ago
Matthew Chen 96fd5e11e5 Adapt more UI elements to RTL.
// FREEBIE
8 years ago
Matthew Chen c799e18c74 Adapt voice messages UI to RTL.
// FREEBIE
8 years ago
Matthew Chen 8005cf0227 Adapt conversation settings view to RTL.
// FREEBIE
8 years ago
Matthew Chen d4e62efce5 Adapt call view to RTL.
// FREEBIE
8 years ago
Matthew Chen e2125978de Adapt "new group" and "update group" views to RTL.
// FREEBIE
8 years ago
Matthew Chen 693e74e868 Adapt conversation settings view to RTL.
// FREEBIE
8 years ago
Matthew Chen 656cc47de5 Adapt registration views to RTL.
// FREEBIE
8 years ago
Matthew Chen d4f012fbb7 Fix contact table cell and “add to block list” view.
// FREEBIE
8 years ago
Matthew Chen a9ce1cde2f Simplify CallViewController.
// FREEBIE
8 years ago
Michael Kirk 46ddaa9cae fix: unregistered user shows "add to contacts"
// FREEBIE
8 years ago
Michael Kirk 17b1b70726 Remove verification debug UI
There is a more true-to-life way to set verification state - mark
someone as verified or default via the SN UI.

If they are marked as verified, you can mark them as no-longer-verified
by toggling a keychange in the debug UI

// FREEBIE
8 years ago
Michael Kirk df0cf76603 Assert that mapping is set whenever accessing
// FREEBIE
8 years ago
Michael Kirk 1c9ce5eaf3 CR: Don't just build, but present, alert controller
// FREEBIE
8 years ago
Michael Kirk 5c66e5584c Adding to existing contact requires contact access
Previously we'd show an empty "list" of existing contacts.

// FREEBIE
8 years ago
Matthew Chen 8b60765627 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 81a4ebdaf5 Apply OWSTableViewController to more views.
// FREEBIE
8 years ago
Matthew Chen dc3f07cb54 Apply OWSTableViewController to more views.
// FREEBIE
8 years ago
Michael Kirk 220cd345f6 add comments
// FREEBIE
8 years ago
Matthew Chen d36e60b0e9 Respond to CR.
// FREEBIE
8 years ago
Matthew Chen b6264383d3 Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
8 years ago
Matthew Chen 90dabe1c81 Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
8 years ago
Matthew Chen f52814bb70 Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
8 years ago
Matthew Chen 3f805cd4cd Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
8 years ago
Matthew Chen 6c61e6040c Fix another call view leak.
// FREEBIE
8 years ago
Michael Kirk b495b23420 more cleanup and commenting
// FREEBIE
8 years ago
Michael Kirk 03f1bbca62 Move state from CallViewController -> Call
I think whenever reasonable we prefer to consodlidate state on the call

// FREEBIE
8 years ago
Michael Kirk 4e11e90ebb cleanup
- remove dead code
- rename vars
- add coments

// FREEBIE
8 years ago
Michael Kirk a59eb25aef extract dismiss string -> CommonStrings.dismissButton
// FREEBIE
8 years ago
Michael Kirk 20a8e72198 disable audio source images until we have icons
// 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
Michael Kirk 109cb6cdb6 rename for clarity
// FREEBIE
8 years ago
Matthew Chen a58c71f4b8 Fix leak of call view.
// FREEBIE
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 0b28285deb Fix broken tests.
// FREEBIE
8 years ago
Matthew Chen 69ba2811db Run orphan cleanup on startup.
// FREEBIE
8 years ago
Matthew Chen d639d6557e Add owsFail free function for swift.
// FREEBIE
8 years ago
Matthew Chen 669e0644ea Respond to CR.
// FREEBIE
8 years ago
Matthew Chen 5cf0441f55 Add a reminder that you are in archive view.
// FREEBIE
8 years ago
Matthew Chen 8f3b837a65 Add a reminder that you are in archive view.
// FREEBIE
8 years ago
Matthew Chen 2e727a24b5 Convert home view to programmatic layout.
// FREEBIE
8 years ago
markus.fassbender 422336db32 fixes compiler warnings FREEBIE 8 years ago
Matthew Chen c817346ee3 Fix “timer circular reference” leaks.
// FREEBIE
8 years ago
Matthew Chen 9cbc1e6a1b Block device from sleeping while Debug UI is visible and during database upgrades.
// FREEBIE
8 years ago
Matthew Chen 0244e134f5 Block device from sleeping during certain activities.
// FREEBIE
8 years ago
Matthew Chen bfd04088bd Persist registration view’s “last registered” values in keychain so that they persist across clean installs.
// FREEBIE
8 years ago
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