Commit graph

808 commits

Author SHA1 Message Date
Michael Kirk bb8f6c1b73 crashfix: crash while accessing image property
assert on blind cast

// FREEBIE
2017-09-01 12:56:50 -04:00
Michael Kirk 2eaaba9082 crashfix: on addObject, presumably it's nil.
I'm not sure how this is happening, but this will prevent the crash and
give us additional diagnostic data in the cases where it is happening.

// FREEBIE
2017-09-01 12:56:50 -04:00
Matthew Chen 95eaa2c3bb Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
2017-08-31 15:21:29 -04:00
Matthew Chen b2c8ad2d29 Restore scroll state after resetting the conversation view's mapping.
// FREEBIE
2017-08-31 15:21:29 -04:00
Matthew Chen 7d32491968 Preserve scroll state across conversation view layout changes, if possible.
// FREEBIE
2017-08-31 15:21:27 -04:00
Matthew Chen fce2ad2793 Refine the "is scrolled to bottom" logic to better handle new conversations.
// FREEBIE
2017-08-30 13:00:02 -04:00
Matthew Chen cc048b3971 Respond to CR.
// FREEBIE
2017-08-30 12:46:21 -04:00
Matthew Chen 7f15228aba Ignore "GIF of death."
// FREEBIE
2017-08-30 12:46:21 -04:00
Matthew Chen b9908997c9 Remain scrolled to bottom after presenting the keyboard in messages view.
// FREEBIE
2017-08-30 12:44:10 -04:00
Matthew Chen 92a0fbe01b Fix yet another edge case around message view scroll state.
// FREEBIE
2017-08-29 13:30:56 -04:00
Matthew Chen 997cd2ef2b Revisit the [UIScrollView _adjustContentOffsetIfNecessary] issue. Fix glitches in the initial scroll state in message view. Don't reset scroll state when returning to the message view.
// FREEBIE
2017-08-29 12:20:58 -04:00
Matthew Chen 7f717c0ca6 Revisit the [UIScrollView _adjustContentOffsetIfNecessary] issue. Fix glitches in the initial scroll state in message view. Don't reset scroll state when returning to the message view.
// FREEBIE
2017-08-29 12:20:58 -04:00
Michael Kirk ab84cbd670 use messageSender property now that the class relies on it in multiple
places.

(due to rebase)

// FREEBIE
2017-08-29 10:49:22 -04:00
Michael Kirk d71b7684a6 cleanup logging
// FREEBIE
2017-08-29 10:46:10 -04:00
Michael Kirk 4382f33618 Send blank PROFILE_MESSAGE after whitelisting someone
So they can immediately fetch your profile.
Note, we're going to put this behind a feature flag for initial release
since iOS prints an empty bubble when receiving a message like this.

// FREEBIE
2017-08-29 10:35:54 -04:00
Michael Kirk 6c63009e9e Dedicated "Profile" debug section
// FREEBIE
2017-08-29 10:35:54 -04:00
Michael Kirk 9c56660618 profile key flag and debug action
// FREEBIE
2017-08-29 10:35:54 -04:00
Michael Kirk 46919e4702 Add own profile key to multidevice provisioning message
// FREEBIE
2017-08-29 10:35:18 -04:00
Matthew Chen d3d9e5dabc Fix scroll down button state.
// FREEBIE
2017-08-28 14:55:39 -04:00
Matthew Chen f2ae73e156 Remove obsolete "scrollLaterTimer" hack in messages view.
// FREEBIE
2017-08-25 17:01:13 -04:00
Matthew Chen c90ca331e3 Respond to CR.
// FREEBIE
2017-08-25 16:50:14 -04:00
Matthew Chen 6b8e189f45 Add view to Crop and scale avatar.
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen 728028563c Add double-tap to zoom out.
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen e7b32f9fd1 Add double-tap to zoom out.
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen 2b50eb5acc Add view to Crop and scale avatar.
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen 2c301feeb7 Add view to Crop and scale avatar.
// FREEBIE
2017-08-25 16:02:15 -04:00
Matthew Chen e8a6ca1c22 Show an error when profile name is too long.
// FREEBIE
2017-08-25 16:01:09 -04:00
Michael Kirk bde40a1f9c Ensure avatar upates right after profile change.
// FREEBIE
2017-08-25 12:40:19 -04:00
Matthew Chen 65db75a91d Fix group profile whitelist check.
// FREEBIE
2017-08-24 17:29:32 -04:00
Matthew Chen 9bf80a215f Don't add avatar to new contacts.
// FREEBIE
2017-08-24 17:28:18 -04:00
Michael Kirk 903d792af4 Debug action to clobber local profile and key
// FREEBIE
2017-08-24 14:52:49 -04:00
Michael Kirk f49e122567 listen for profile names change notifications
// FREEBIE
2017-08-23 17:09:43 -04:00
Michael Kirk 96f0ab215c wip 2017-08-23 16:42:55 -04:00
Michael Kirk fd99354673 profile name vs. verified in ContactTableViewCell
// FREEBIE
2017-08-23 16:42:22 -04:00
Michael Kirk e54e1d11c0 show profile name snippet in inbox and conversation settings
// FREEBIE
2017-08-23 15:56:58 -04:00
Matthew Chen b28a6bab26 Respond to CR.
// FREEBIE
2017-08-23 14:57:02 -04:00
Matthew Chen 57b76b3411 Ensure message view range is properly truncated with view is configured.
// FREEBIE
2017-08-23 14:56:16 -04:00
Matthew Chen 15d2fd23d7 Rework save/cancel buttons in profile view.
// FREEBIE
2017-08-23 14:07:31 -04:00
Matthew Chen 68309eb00f Rework save/cancel buttons in profile view.
// FREEBIE
2017-08-23 13:31:06 -04:00
Matthew Chen 5e6f5804c1 Respond to CR.
// FREEBIE
2017-08-21 17:50:40 -04:00
Matthew Chen 584ddab0b9 Show "share profile with group" banner.
// FREEBIE
2017-08-21 17:49:54 -04:00
Matthew Chen ae1908c40c Show "share profile with group" banner.
// FREEBIE
2017-08-21 17:49:54 -04:00
Matthew Chen 6dda535f24 Rework the profile view.
// FREEBIE
2017-08-21 17:32:01 -04:00
Matthew Chen 313d06b31d Rework the profile view.
// FREEBIE
2017-08-21 17:32:01 -04:00
Matthew Chen 020d2c567a Rework the profile view.
// FREEBIE
2017-08-21 17:32:01 -04:00
Matthew Chen 3181ee7882 Rework the profile view.
// FREEBIE
2017-08-21 17:32:01 -04:00
Matthew Chen 9dfeb132cb Respond to CR.
// FREEBIE
2017-08-21 17:27:30 -04:00
Matthew Chen 1e43e93371 Observe profile changes in conversation view.
// FREEBIE
2017-08-21 17:25:07 -04:00
Matthew Chen 14d472781f Respond to CR.
// FREEBIE
2017-08-21 17:13:36 -04:00
Matthew Chen a340c9ebdc Clean up ahead of CR.
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen 9e02524b0b Rework the contact offers.
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen 265bdce0ba Start reworking the contact offers.
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen a825fad47b Start reworking the contact offers.
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen 5f2f8ec6d8 Start reworking the contact offers.
// FREEBIE
2017-08-21 17:05:42 -04:00
Matthew Chen 27e496ad06 Respond to CR.
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen 1b055c485d Rework "cancel navigate back" logic.
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen 25b0f79615 Rework "cancel navigate back" logic.
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen 08347478a2 Implement alternative approach to veto-able back buttons.
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen 9d8c396848 Add profile view to upgrade/nag workflow.
// FREEBIE
2017-08-21 10:10:22 -04:00
Matthew Chen ffb4b3f9d2 Add profile view to registration workflow.
// FREEBIE
2017-08-21 10:10:22 -04:00
Michael Kirk 4511b4015f Clarify where we use the profile name
Add some hints to differentiate profile name usage from a name pulled
from the contacts.

// FREEBIE
2017-08-17 12:24:31 -04:00
Matthew Chen d476bc286d * Add debug UI tools for clearing and logging the profile whitelist.
* Auto-add new contact threads to profile whitelist when local user sends first message to that thread.
* Ensure dynamic interactions have a non-negative timestamp even if the conversation was empty.
* Only call updateMessageMappingRangeOptions _after_ beginLongLivedReadTransaction and updating messageMappings.
* Improve documentation around how to avoid corrupt mappings in conversation view.
* Fix edge cases around large initial range sizes.
* Always treat dynamic interactions as read.
* Rebuild the “unseen” database views to remove dynamic interactions (see above).

// FREEBIE
2017-08-17 11:22:25 -04:00
Matthew Chen 0b14f87575 Improve comments about mapping consistency in conversation view.
// FREEBIE
2017-08-17 11:22:25 -04:00
Michael Kirk e08fa4bcec Fix jolting animation after sending a message
When we send the nth message, we retain the footer for the n-1th message
until the nth message is successfully sent.

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

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

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

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

// FREEBIE
2017-08-17 11:19:46 -04:00
Michael Kirk 2e83643327 Don't consider registration complete until user registers their push
notification tokens.

// FREEBIE
2017-08-17 10:56:36 -04:00
Matthew Chen 6c3662b944 Increase max conversation range length.
// FREEBIE
2017-08-16 17:07:18 -04:00
Matthew Chen ddd8c9ff5f Respond to CR.
// FREEBIE
2017-08-16 16:10:07 -04:00
Matthew Chen 3ecd415b84 Show activity indicator during profile update; trim whitespace from profile names.
// FREEBIE
2017-08-16 16:05:05 -04:00
Matthew Chen b2360ace6e Fix layout glitch in messages view.
// FREEBIE
2017-08-16 10:38:29 -04:00
Matthew Chen f618f87825 Respond to CR.
// FREEBIE
2017-08-15 17:02:07 -04:00
Matthew Chen 90f959d0ab Respond to CR.
// FREEBIE
2017-08-15 16:47:12 -04:00
Matthew Chen cdb181eadc Sketch out profile header in app settings view.
// FREEBIE
2017-08-15 16:47:12 -04:00
Matthew Chen 13aea66878 Sketch out profile header in app settings view.
// FREEBIE
2017-08-15 16:47:12 -04:00
Michael Kirk 2c3e99c372 better var name per code review
// FREEBIE
2017-08-15 15:51:41 -04:00
Michael Kirk fd02644ca7 resize profile avatar
// FREEBIE
2017-08-15 15:51:41 -04:00
Michael Kirk 9f72db44ac Avoid lossy re-encoding of profile image
// FREEBIE
2017-08-15 15:45:52 -04:00
Michael Kirk 0290f176c0 Use profile name/avatar when creating new contact
// FREEBIE
2017-08-15 15:45:52 -04:00
Michael Kirk 3d9796db77 Debug actions for calling
For testing stale hangup/busy messages

Extracted MessageSender promise API
Moved call debug actions to their own page

// FREEBIE
2017-08-11 09:21:11 -04:00
Michael Kirk 72b3f3779b Discard GroupInfoRequest from unknown group
// FREEBIE
2017-08-08 12:17:26 -04:00
Matthew Chen 823927685d Update profile on service.
// FREEBIE
2017-08-04 15:25:17 -04:00
Matthew Chen f6bcff5427 Fix rebase breakage.
// FREEBIE
2017-08-04 15:23:17 -04:00
Matthew Chen 37ce388eb6 Add “add to profile whitelist” offer.
// FREEBIE
2017-08-04 15:23:02 -04:00
Matthew Chen ddf3929be1 Auto-add groups to profile whitelist groups when you make them.
// FREEBIE
2017-08-04 10:17:24 -04:00
Matthew Chen 6ec756de44 Move profile manager to Signal.
// FREEBIE
2017-08-04 09:45:33 -04:00
Matthew Chen 540a0a8e48 Refine UserProfile class. Move local user properties to UserProfile.
// FREEBIE
2017-08-04 09:45:33 -04:00
Matthew Chen a70bd3307d Show threads if possible.
// FREEBIE
2017-08-04 09:35:10 -04:00
Michael Kirk 8a4712bf4c Only access localNumber on AccountManager and cache it
// FREEBIE
2017-08-03 13:27:09 -04:00
Michael Kirk 357eb62502 [DEBUG-UI] Add avatar to (some) fake contacts
// FREEBIE
2017-08-03 13:18:36 -04:00
Matthew Chen 43b3abe321 Merge branch 'hotfix/2.15.2' 2017-08-03 13:10:01 -04:00
Matthew Chen 539490ee19 Respond to CR.
// FREEBIE
2017-08-03 12:05:53 -04:00
Matthew Chen 9c5934359e Don’t dismiss call view controller to present other view.
// FREEBIE
2017-08-03 10:41:16 -04:00
Matthew Chen 138301975c Don’t dismiss call view controller to present other view.
// FREEBIE
2017-08-03 10:40:45 -04:00
Matthew Chen 282ac4bb29 Add “share profile” row to conversation settings.
// FREEBIE
2017-08-02 10:50:44 -04:00
Matthew Chen a748987d72 Add option to clear profile avatar.
// FREEBIE
2017-08-01 16:32:36 -04:00
Matthew Chen 03a4ebc4d8 Respond to CR.
// FREEBIE
2017-08-01 16:30:24 -04:00
Matthew Chen 8a8f3d81fc Clean up ahead of PR.
// FREEBIE
2017-08-01 16:17:59 -04:00
Matthew Chen c331788c06 Modify the profile view to update profile manager state.
// FREEBIE
2017-08-01 16:17:59 -04:00
Matthew Chen 873f5208c4 Sketch out the profile view.
// FREEBIE
2017-08-01 16:17:59 -04:00
Matthew Chen 72ea096970 Sketch out the profile view.
// FREEBIE
2017-08-01 16:17:59 -04:00
Matthew Chen b62ab3f666 Merge remote-tracking branch 'origin/hotfix/2.15.1' 2017-08-01 16:17:18 -04:00
Matthew Chen 99c948568b Remove iOS 9-only APIs from layout code.
// FREEBIE
2017-08-01 15:10:36 -04:00
Michael Kirk 249a3fcabc Show proper setting for CallKitPrivacy
// FREEBIE
2017-08-01 14:29:47 -04:00
Michael Kirk 742f8cf902 Avoid unnecessariy flashing avatars
Make avatar building sync

Tests on a iPhone5 with 1k threads, 3k contacts show no noticeable lag.

Profiling shows ~4% of usage goes to contact avatar building, but once
cached, even that goes towards zero.

// FREEBIE
2017-08-01 12:07:54 -04:00
Michael Kirk 092578045e [DEBUG-UI] create fake contact threads
// FREEBIE
2017-08-01 12:07:54 -04:00
Matthew Chen 63e20cd8bb Sketch out profile manager.
// FREEBIE
2017-08-01 11:41:55 -04:00
Matthew Chen 3c3bd3c914 Tweaks to registration views.
// FREEBIE
2017-07-31 11:02:56 -04:00
Matthew Chen a0eead37c7 Ensure size of message mappings range increases monotonically.
// FREEBIE
2017-07-28 17:13:35 -04:00
Michael Kirk feb1061c04 Fix spinner layout on iphone5
// FREEBIE
2017-07-28 15:00:48 -04:00
Matthew Chen 43f451e236 Remove errant assert.
// FREEBIE
2017-07-28 11:36:39 -04:00
Matthew Chen 5acb3714e9 Add debug UI to enable manual censorship circumvention.
// FREEBIE
2017-07-28 11:17:25 -04:00
Matthew Chen 75c7cc4abf Add debug UI to enable manual censorship circumvention.
// FREEBIE
2017-07-28 11:15:09 -04:00
Matthew Chen d22e29ec09 Include local number when creating debug groups.
// FREEBIE
2017-07-28 11:03:02 -04:00
Matthew Chen 8f17730d9b Modify “create groups” debug UI to use current 1:1 contact.
// FREEBIE
2017-07-28 10:16:02 -04:00
Matthew Chen 653f7faca8 Add debug UI for creating groups.
// FREEBIE
2017-07-28 09:41:27 -04:00
Matthew Chen 103a7fab36 Hide empty conversations in home view.
// FREEBIE
2017-07-27 15:39:26 -04:00
Matthew Chen bca736a2b7 Merge tag '2.13.4.0'
// FREEBIE
2017-07-27 15:04:03 -04:00
Matthew Chen f1807cd709 Add script to extract and gather analytics event names.
// FREEBIE
2017-07-27 12:29:05 -04:00
Matthew Chen 6858a1e944 Fix assert in conversation view around nil title.
// FREEBIE
2017-07-27 12:08:21 -04:00
Matthew Chen 803e91c3ce Fix assert in conversation view around nil title.
// FREEBIE
2017-07-27 12:08:21 -04:00
Matthew Chen 4ac7600c07 Respond to CR.
// FREEBIE
2017-07-27 10:24:07 -04:00
Matthew Chen d4af62adcc Instrument registration happy path with analytics.
// FREEBIE
2017-07-27 10:17:54 -04:00
Matthew Chen d80f470c2c Respond to CR.
// FREEBIE
2017-07-26 12:39:43 -04:00
Matthew Chen 2e7fe5cfd5 Rework database observation in home and message views.
// FREEBIE
2017-07-26 12:17:08 -04:00
Matthew Chen 1f1a681180 Rework database observation in home and message views.
// FREEBIE
2017-07-26 12:17:08 -04:00
Matthew Chen c1139a3a28 Fix many leaks in the view controllers.
// FREEBIE
2017-07-26 11:59:00 -04:00
Matthew Chen f0cecfad11 Surface memory leaks by logging the deallocation of view controllers.
// FREEBIE
2017-07-26 11:59:00 -04:00
Matthew Chen 511cbbeaaf Make it easier to tap-to-edit group names in new group and update group vies.
// FREEBIE
2017-07-26 10:54:27 -04:00
Matthew Chen 97772a32ff Respond to CR.
// FREEBIE
2017-07-24 12:55:05 -04:00
Matthew Chen 9eaeba9af3 Address yet another edge cases around pasteboards that contain both textual and non-textual content, e.g. a gif and the URL of that gif.
// FREEBIE
2017-07-24 10:06:30 -04:00
Matthew Chen ceb243b30b Always reload home view table when changing grouping.
// FREEBIE
2017-07-24 09:12:54 -04:00
Matthew Chen 03aacbd682 [SSK] Try applying national prefixes when parsing phone numbers.
// FREEBIE
2017-07-21 15:21:22 -04:00
Matthew Chen fdac0305cb Update analytics macros.
// FREEBIE
2017-07-21 15:04:41 -04:00
Matthew Chen 14621e1288 Respond to CR.
// FREEBIE
2017-07-21 14:49:24 -04:00
Matthew Chen 02c510691c Adapt number formatting to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen 5edec99fd6 Adapt number formatting to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen 04fb3642b2 Remove .xib for home view cells; adapter home view to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen eaacac9d8b DRY up common table cell patterns.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen 96fd5e11e5 Adapt more UI elements to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen c799e18c74 Adapt voice messages UI to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen 8005cf0227 Adapt conversation settings view to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen d4e62efce5 Adapt call view to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen e2125978de Adapt "new group" and "update group" views to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen 693e74e868 Adapt conversation settings view to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen 656cc47de5 Adapt registration views to RTL.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen d4f012fbb7 Fix contact table cell and “add to block list” view.
// FREEBIE
2017-07-21 14:49:12 -04:00
Matthew Chen a9ce1cde2f Simplify CallViewController.
// FREEBIE
2017-07-19 09:47:55 -04:00
Michael Kirk 46ddaa9cae fix: unregistered user shows "add to contacts"
// FREEBIE
2017-07-19 09:44:33 -04:00
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
2017-07-19 09:43:30 -04:00
Michael Kirk df0cf76603 Assert that mapping is set whenever accessing
// FREEBIE
2017-07-19 09:42:14 -04:00
Michael Kirk 1c9ce5eaf3 CR: Don't just build, but present, alert controller
// FREEBIE
2017-07-19 09:39:50 -04:00
Michael Kirk 5c66e5584c Adding to existing contact requires contact access
Previously we'd show an empty "list" of existing contacts.

// FREEBIE
2017-07-19 09:38:48 -04:00
Matthew Chen 8b60765627 Respond to CR.
// FREEBIE
2017-07-19 09:36:43 -04:00
Matthew Chen 81a4ebdaf5 Apply OWSTableViewController to more views.
// FREEBIE
2017-07-19 09:34:55 -04:00
Matthew Chen dc3f07cb54 Apply OWSTableViewController to more views.
// FREEBIE
2017-07-19 09:34:55 -04:00
Michael Kirk 220cd345f6 add comments
// FREEBIE
2017-07-15 17:11:41 -04:00
Matthew Chen d36e60b0e9 Respond to CR.
// FREEBIE
2017-07-14 20:46:36 -04:00
Matthew Chen b6264383d3 Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
2017-07-14 20:46:35 -04:00
Matthew Chen 90dabe1c81 Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
2017-07-14 20:46:35 -04:00
Matthew Chen f52814bb70 Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
2017-07-14 20:46:35 -04:00
Matthew Chen 3f805cd4cd Add possible fixes for the ‘empty home view’ issue.
// FREEBIE
2017-07-14 20:46:35 -04:00
Matthew Chen 6c61e6040c Fix another call view leak.
// FREEBIE
2017-07-13 18:14:26 -04:00
Michael Kirk b495b23420 more cleanup and commenting
// FREEBIE
2017-07-13 17:08:42 -04:00
Michael Kirk 03f1bbca62 Move state from CallViewController -> Call
I think whenever reasonable we prefer to consodlidate state on the call

// FREEBIE
2017-07-13 17:08:42 -04:00
Michael Kirk 4e11e90ebb cleanup
- remove dead code
- rename vars
- add coments

// FREEBIE
2017-07-13 17:08:41 -04:00
Michael Kirk a59eb25aef extract dismiss string -> CommonStrings.dismissButton
// FREEBIE
2017-07-13 17:08:41 -04:00
Michael Kirk 20a8e72198 disable audio source images until we have icons
// FREEBIE
2017-07-13 17:08:41 -04:00
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
2017-07-13 17:08:41 -04:00
Michael Kirk 109cb6cdb6 rename for clarity
// FREEBIE
2017-07-13 16:05:00 -04:00
Matthew Chen a58c71f4b8 Fix leak of call view.
// FREEBIE
2017-07-12 18:04:49 -04:00
Matthew Chen b7c2512eac Respond to CR.
// FREEBIE
2017-07-12 13:47:29 -04:00
Matthew Chen 81555d1225 Add “new contact” and “add to existing contact” buttons in 1:1 conversation settings view.
// FREEBIE
2017-07-12 13:18:14 -04:00
Matthew Chen 0b28285deb Fix broken tests.
// FREEBIE
2017-07-12 12:14:15 -04:00
Matthew Chen 69ba2811db Run orphan cleanup on startup.
// FREEBIE
2017-07-12 12:14:15 -04:00
Matthew Chen d639d6557e Add owsFail free function for swift.
// FREEBIE
2017-07-11 16:20:20 -04:00
Matthew Chen 669e0644ea Respond to CR.
// FREEBIE
2017-07-11 16:11:56 -04:00
Matthew Chen 5cf0441f55 Add a reminder that you are in archive view.
// FREEBIE
2017-07-11 16:01:19 -04:00
Matthew Chen 8f3b837a65 Add a reminder that you are in archive view.
// FREEBIE
2017-07-11 16:01:19 -04:00
Matthew Chen 2e727a24b5 Convert home view to programmatic layout.
// FREEBIE
2017-07-11 16:01:19 -04:00
markus.fassbender 422336db32 fixes compiler warnings FREEBIE 2017-07-08 17:24:22 -05:00
Matthew Chen c817346ee3 Fix “timer circular reference” leaks.
// FREEBIE
2017-07-07 15:17:18 -04:00
Matthew Chen 9cbc1e6a1b Block device from sleeping while Debug UI is visible and during database upgrades.
// FREEBIE
2017-07-06 17:35:47 -04:00
Matthew Chen 0244e134f5 Block device from sleeping during certain activities.
// FREEBIE
2017-07-06 17:35:47 -04:00
Matthew Chen bfd04088bd Persist registration view’s “last registered” values in keychain so that they persist across clean installs.
// FREEBIE
2017-07-06 17:34:42 -04:00
Michael Kirk 1afc6525e5 selecting network status does not highlight
// FREEBIE
2017-07-06 15:25:10 -05:00
Matthew Chen d94ee7ab11 Add options to send 3k debug messages.
// FREEBIE
2017-07-06 14:59:22 -04:00
Michael Kirk 8e891eb357 Merge branch 'hotfix/2.13.3.0'
// FREEBIE
2017-07-06 09:33:57 -05:00
Matthew Chen 7135895c1c Modify TSStorageManager to use separate shared read and write connections.
// FREEBIE
2017-07-05 17:01:28 -04:00
Michael Kirk 174706817c clearer comment
I erroneously thought this code was an error, maybe a better comment
would have saved me some time?

// FREEBIE
2017-07-05 12:58:04 -05:00
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
2017-07-05 11:28:27 -05:00
Matthew Chen 1552c64777 Add “delete old messages” and “save all attachments” debug commands.
// FREEBIE
2017-07-04 11:57:13 -04:00
Matthew Chen 72faa5f82d Add clean up command to the “orphan audit” debug UI.
// FREEBIE
2017-07-04 11:57:13 -04:00
Matthew Chen feb32fdf8e Find orphan and missing attachment stream files.
// FREEBIE
2017-07-04 11:57:13 -04:00
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
2017-07-04 11:57:13 -04:00
Matthew Chen 07c8eb54b7 Prevent "scroll to button" button from blipping.
// FREEBIE
2017-07-04 11:15:21 -04:00
Michael Kirk c6cd0bbcae Always show timestamp after unread indicator
// FREEBIE
2017-07-04 09:15:46 -04:00
Michael Kirk bef3a56e50 DebugUI: create fake unread messages
helpful for printing unread indicator

// FREEBIE
2017-07-04 09:15:46 -04:00
Michael Kirk d0d4e67615 update badge count when app is in background
// FREEBIE
2017-06-30 09:39:26 -10:00
Matthew Chen db3407853a Refine fake contact creation.
// FREEBIE
2017-06-23 09:37:22 -04:00
Matthew Chen 791c5bb89e Revise phone number length limit in registration view.
// FREEBIE
2017-06-23 09:34:02 -04:00
Matthew Chen 351c8c00f0 Remove phone number length limit in registration view.
// FREEBIE
2017-06-23 09:29:58 -04:00
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
2017-06-22 15:20:34 -04:00
Matthew Chen e814ae129d Fix crash in manual censorship circumvention logic on iOS 9.
// FREEBIE
2017-06-22 15:10:14 -04:00
Matthew Chen f7c81bae9d Show the “scroll down” button if user scrolls up, even if there are no unread messages.
// FREEBIE
2017-06-22 15:08:35 -04:00
Matthew Chen eff1974eeb [SSK] Reduce chattiness of logs; increase log file sizes.
// FREEBIE
2017-06-22 10:10:56 -04:00
Matthew Chen 15ecb03471 Respond to CR.
// FREEBIE
2017-06-22 09:37:30 -04:00
Matthew Chen 7726c68047 Persist registration values in the keychain for debug builds only.
// FREEBIE
2017-06-22 09:34:07 -04:00
Matthew Chen 0855faabb4 Respond to CR.
// FREEBIE
2017-06-21 15:06:48 -04:00
Matthew Chen efbda70764 Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
2017-06-21 15:01:06 -04:00
Matthew Chen afb83cfaaa Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
2017-06-21 15:01:06 -04:00
Matthew Chen f1e5be4c17 Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
2017-06-21 15:01:06 -04:00
Matthew Chen a039aac36d Improve UX for multiple “no longer verified” members of a group.
// FREEBIE
2017-06-21 15:01:06 -04:00
Matthew Chen b39c4905c3 Invalid message adapter cache when app becomes visible.
// FREEBIE
2017-06-21 10:00:56 -04:00
Michael Kirk 11fa08470d [JSQ] Fix: can't dismiss keyboard after sending
// FREEBIE
2017-06-20 17:45:28 -04:00
Michael Kirk 8898f4a6d4 CR: future proof view placement if we change hierarchy
// FREEBIE
2017-06-20 17:31:47 -04:00
Michael Kirk c70b1e9681 Make system messages deletable
// FREEBIE
2017-06-20 17:18:19 -04:00
Michael Kirk fbba2f5dd7 colocate CollectionViewDelegate methods
// FREEBIE
2017-06-20 17:18:19 -04:00
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
2017-06-20 16:28:35 -04:00
Michael Kirk 36c09aeb84 cleanup ahead of PR
// FREEBIE
2017-06-20 16:24:59 -04:00
Michael Kirk ff93732ed7 WIP: fix call from contacts when signal hasn't been launched yet 2017-06-20 16:17:37 -04:00
Matthew Chen de453b2960 Respond to CR.
// FREEBIE
2017-06-20 13:12:51 -04:00
Matthew Chen 5796bbd858 Max out the unread count at 99.
// FREEBIE
2017-06-20 13:02:25 -04:00
Michael Kirk bee4b118e6 remove unneccessary explanation of UI
// FREEBIE
2017-06-20 11:27:10 -04:00
Michael Kirk 0419d35f12 CR: rename method
not always resized when used

// FREEBIE
2017-06-20 11:04:11 -04:00
Michael Kirk 8fc2289152 prefer becomeFirstResponder
Feels a little more reasonable than interecepting canBecomeFirstResponder

// FREEBIE
2017-06-20 11:04:11 -04:00
Michael Kirk b4d3e8e744 Fix: tapping input obscures last messages
// FREEBIE
2017-06-20 11:04:11 -04:00
Matthew Chen d01a52758b Respond to CR.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen 0d07e0222f Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen 331a1e90e3 Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen f6f08891eb Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen d4a6a35ee3 Avoid stale mapping in conversation view.
// FREEBIE
2017-06-19 17:41:30 -04:00
Matthew Chen fa58977683 Prevent layout from jumping around in fingerprint view.
// FREEBIE
2017-06-19 10:39:31 -04:00
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
2017-06-19 09:16:37 -04:00
Michael Kirk 1125e2ac99 System messsages can show timestamp
added the JSQCollectionViewCell cellTopLabel to the system message
layout

// FREEBIE
2017-06-19 09:14:52 -04:00
Matthew Chen 104a548eb2 Ensure message mapping is up-to-date when app returns from background.
// FREEBIE
2017-06-17 14:59:46 -04:00
Matthew Chen dc134a991a Tweak font size on fingerprint view.
// FREEBIE
2017-06-17 14:57:34 -04:00
Matthew Chen 57c1519b1c Tweak font size on registration view.
// FREEBIE
2017-06-17 14:57:34 -04:00
Matthew Chen e14b9b511d Respond to CR.
// FREEBIE
2017-06-17 14:03:44 -04:00
Matthew Chen 8649b26033 Don’t auto-scroll after “loading more messages” unless we have “more unseen messages”.
// FREEBIE
2017-06-17 13:55:50 -04:00
Matthew Chen 4d0b15f58c Show long-form app version in about view.
// FREEBIE
2017-06-17 13:55:05 -04:00
Matthew Chen ab95b04e56 Respond to CR.
// FREEBIE
2017-06-17 13:47:10 -04:00
Matthew Chen 90c4ba27bf Respond to post-holiday code reviews.
// FREEBIE
2017-06-17 13:38:19 -04:00
Matthew Chen bd440f0878 Respond to post-holiday code reviews.
// FREEBIE
2017-06-17 13:38:19 -04:00
Michael Kirk 1661e8dc34 assume contact in 1:1 thread
// FREEBIE
2017-06-16 12:34:15 -04:00
Michael Kirk a41b10a695 ignore tap on legacy non-blocking SN change message
// FREEBIE
2017-06-16 12:34:15 -04:00
Matthew Chen 3c28f15dbd Respond to CR.
// FREEBIE
2017-06-16 12:07:15 -04:00
Matthew Chen 75ccff0e4f Improve debug tools for creating “fake” and “tiny attachment” messages.
// FREEBIE
2017-06-16 12:06:53 -04:00
Michael Kirk 60e87bb16f clearer copy for SN changes
// FREEBIE
2017-06-16 10:52:35 -04:00
Matthew Chen 35d68c6180 Fix "writes on long-lived read connection" issue.
// FREEBIE
2017-06-16 02:16:26 -04:00
Matthew Chen f71f33c2a6 Respond to CR.
// FREEBIE
2017-06-15 15:36:27 -04:00
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
2017-06-15 13:44:30 -04:00