diff --git a/Signal/Signal-Info.plist b/Signal/Signal-Info.plist
index 5020ca7a8..2a942d568 100644
--- a/Signal/Signal-Info.plist
+++ b/Signal/Signal-Info.plist
@@ -148,8 +148,6 @@
 	UISupportedInterfaceOrientations
 	
 		UIInterfaceOrientationPortrait
-		UIInterfaceOrientationLandscapeLeft
-		UIInterfaceOrientationLandscapeRight
 	
 	UIViewControllerBasedStatusBarAppearance
 	
diff --git a/Signal/src/ViewControllers/ConversationView/ConversationInputToolbar.m b/Signal/src/ViewControllers/ConversationView/ConversationInputToolbar.m
index cf8a30e3f..974b97746 100644
--- a/Signal/src/ViewControllers/ConversationView/ConversationInputToolbar.m
+++ b/Signal/src/ViewControllers/ConversationView/ConversationInputToolbar.m
@@ -196,8 +196,6 @@ const CGFloat kMaxTextViewHeight = 98;
     const CGFloat vStackRounding = 18.f;
     UIView *vStackWrapper = [UIView containerView];
     vStackWrapper.layer.cornerRadius = vStackRounding;
-    vStackWrapper.layer.borderColor = Theme.secondaryColor.CGColor;
-    vStackWrapper.layer.borderWidth = CGHairlineWidth();
     vStackWrapper.clipsToBounds = YES;
     [vStackWrapper addSubview:vStack];
     [vStack ows_autoPinToSuperviewEdges];
@@ -231,6 +229,23 @@ const CGFloat kMaxTextViewHeight = 98;
     self.hStack.preservesSuperviewLayoutMargins = NO;
     self.preservesSuperviewLayoutMargins = NO;
 
+    // Border
+    //
+    // The border must reside _outside_ of vStackWrapper so
+    // that it doesn't run afoul of its clipping, so we can't
+    // use addBorderViewWithColor.
+    UIView *borderView = [UIView new];
+    borderView.userInteractionEnabled = NO;
+    borderView.backgroundColor = UIColor.clearColor;
+    borderView.opaque = NO;
+    borderView.layer.borderColor = Theme.secondaryColor.CGColor;
+    borderView.layer.borderWidth = CGHairlineWidth();
+    borderView.layer.cornerRadius = vStackRounding;
+    [self addSubview:borderView];
+    [borderView autoPinToEdgesOfView:vStackWrapper];
+    [borderView setCompressionResistanceLow];
+    [borderView setContentHuggingLow];
+
     [self ensureShouldShowVoiceMemoButtonAnimated:NO doLayout:NO];
 }
 
diff --git a/SignalServiceKit/src/Contacts/ContactDiscoveryService.m b/SignalServiceKit/src/Contacts/ContactDiscoveryService.m
index a14920e26..2153936bd 100644
--- a/SignalServiceKit/src/Contacts/ContactDiscoveryService.m
+++ b/SignalServiceKit/src/Contacts/ContactDiscoveryService.m
@@ -1,5 +1,5 @@
 //
-//  Copyright (c) 2018 Open Whisper Systems. All rights reserved.
+//  Copyright (c) 2019 Open Whisper Systems. All rights reserved.
 //
 
 #import "ContactDiscoveryService.h"
@@ -390,7 +390,7 @@ NSErrorDomain const ContactDiscoveryServiceErrorDomain = @"SignalServiceKit.Cont
     }
     NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
     NSArray *cookies =
-        [NSHTTPCookie cookiesWithResponseHeaderFields:httpResponse.allHeaderFields forURL:[NSURL new]];
+        [NSHTTPCookie cookiesWithResponseHeaderFields:httpResponse.allHeaderFields forURL:httpResponse.URL];
     if (cookies.count < 1) {
         OWSFailDebug(@"couldn't parse cookie.");
         return nil;